Argocd Architecture Doc
All threads resolved!
All threads resolved!
Compare changes
- Qpow!! authored
+ 170
− 0
ArgoCD is a kubernetes native tool that enables the delivery of GitOps practices. It uses a git repository as a source of truth in defining the desired state. It is implemented as a kubernetes controller continously montoring running applications and reconciling it against the desired state in the source git repository.
Argo CD uses an Application Controller component to continuously watch applications that are executing. Argo CD then differentiates the applications live state against the target state that resides in the Git repository. It supports a range of configuration management tools such as [Helm](https://helm.sh/), [kustomize](https://kustomize.io/), [ksonnet](https://ksonnet.io/get-started/), and [jsonnet](https://jsonnet.org/).
The Big Bang Argocd deployment uses a permissive license (i.e., a free-software license which instead of copyleft protections, carries only minimal restrictions on how the software can be used, modified, and redistributed.) whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
Argo CD logs payloads of most API requests except request that are considered sensitive, such as /cluster.ClusterService/Create, /session.SessionService/Create etc. The full list of method can be found in server/server.go For more information, see [ArgoCD Logs](https://argo-cd.readthedocs.io/en/stable/operator-manual/security/#logging).
ArgoCD exposes prometheus metrics in the API of each service if the config.yaml used by that service has the metrics.enabled keys set to enabled and `metrics.servicemonitor` keys set to true. Each service exports its own metrics and is typically scraped by a Prometheus installation to gather the metrics.