This section describes application delivery with Argo CD in Deckhouse Kubernetes Platform (DKP).
Argo CD is an Open Source tool for continuous delivery of applications to Kubernetes that implements the GitOps approach. A Git repository is the source of truth for describing applications, their configuration, and target environments.
Argo CD tracks changes, shows differences between the desired and actual resource state, and when needed brings the cluster to the target state automatically or manually.
Main Argo CD capabilities:
- automatic and manual application deployment in Kubernetes;
- visualization of differences between the desired and actual state;
- tracking application configuration in Git;
- working with multiple Kubernetes clusters;
- access control through its own role model;
- rollback to a previously recorded configuration and action audit;
- working through the web interface, CLI, and API, including integration with Git webhooks and external automation systems.
In DKP, Argo CD is run with the operator-argo module, based on the Argo CD Operator project. The module lets you declaratively deploy and maintain one or more Argo CD instances in a DKP cluster without manually installing and maintaining components.
Additionally, the module provides:
- single sign-on (SSO) support;
- integration with monitoring in DKP;
- high availability mode;
- support for automatic image updates via Argo CD Image Updater;
- access control for cluster resources.
A typical administrator setup scenario:
- Enable the
operator-argomodule and create an ArgoCD object. - Configure user authentication.
- Define the role-based access model.
- Give users access to the Argo CD instance for application delivery (for more details, see the Usage section).
The design of the operator-argo module is described in the Architecture section.
Module parameters and custom resources are documented in the operator-argo module documentation.