CI is best for short-lived, rigid, top-down processes with a definite start and finish, such as building artifacts, repeatable unit tests, and end-to-end tests. rel="noopener noreferrer" target="_blank">(00:21:53)
CD is better suited for indefinite processes that require flexibility, such as rolling out artifacts safely, running canaries, and monitoring and verifying applications in production. rel="noopener noreferrer" target="_blank">(00:22:27)
Limitations of Existing Tools and the Solution
Argo CD and Flux are great tools that excel in performing specific tasks, but they lack the ability to understand the relationships between multiple deployment targets. rel="noopener noreferrer" target="_blank">(00:25:59)
Continuous Promotion, a concept developed by Aity, addresses a gap in CI/CD by monitoring changes in repositories (Git, Helm, container registries) and making intelligent commits to a GitOps repository when predefined rules and business logic for promotion are met. rel="noopener noreferrer" target="_blank">(00:29:18)
Kargo detects changes in configuration repositories or container registries and makes intelligent Git commits to the GitOps repository based on predefined rule sets. rel="noopener noreferrer" target="_blank">(00:32:48)
Cargo uses a "warehouse" to track and manage artifacts, allowing users to define constraints and rules for promotion based on specific criteria like releases or version numbers. rel="noopener noreferrer" target="_blank">(00:40:30)
Kargo is being used to manage the release process for an application. It listens for new events, such as code changes or new releases, and can automatically trigger actions based on predefined rules. rel="noopener noreferrer" target="_blank">(00:48:34)
Kargo's rule sets allow for control over when and how application components are promoted. For example, a rule could be set to only promote a new version of an image after it has been tagged with a specific release number. rel="noopener noreferrer" target="_blank">(00:49:44)
Kargo integrates with other tools, such as GitHub Actions and Argo CD, to automate the deployment process. For example, when a new release is promoted, Kargo can automatically create a Git commit in the deployment repository and trigger Argo CD to synchronize the changes. rel="noopener noreferrer" target="_blank">(00:53:37)
Kargo has a built-in enterprise role-based access control (RBAC) and single sign-on (SSO) system that allows administrators to control user access and permissions. rel="noopener noreferrer" target="_blank">(01:04:37)