GuidesAPI Reference
Log In

Extending Delivery Algorithm

Out of the box, Prodvana's Dynamic Delivery knows how to deploy your services on a various Runtimes, obeying a set of builtin protections like manual approvals and deployment ordering. Additionally, you can extend Dynamic Delivery's algorithm with your custom logic through several features.

What This DoesWhen You Should Use It
Custom Runtimes DocsCustom Runtimes allow you to define your own Runtimes to bring any kind of Services onto Prodvana.When you have proprietary infrastructure.

Examples:
- VMs
- Website static assets
Protections DocsProtections are business rules defined as programs that exit 0 or 1.

Protections can protect most kinds of objects in Prodvana, including but not limited to: Release Channels, Services, and the Convergence itself.
When you want to continuously validate that something is true before deploying.

Examples:
- Validating alerts are not firing
- Validating database migrations have run before a deployment can go out
Convergence Extensions DocsConvergence Extensions are additional commands that run as part of Dynamic Delivery's algorithm. Unlike Protections, they are not associated with another object, run at least once instead of continuously, and can have side effects.

Convergence Extensions can run during any of the convergence lifecycle of a Service's convergence, such as: pre-approvals, post-approvals, deployment, and post-deployment.
When you want to execute an additional command before or after a deployment.

Examples:
- Sending a Slack message.
- Running a database migration automatically before a production deployment.