GitOps Platform
Implementation of GitOps architecture using ArgoCD with multi-dimensional configuration management across clouds, accounts, and environments.
ArgoCD + Applibrary + Configurationβ
- Main ArgoCD Application
Read infrastructure schema from global.yaml
and creates ApplicationSet per each cloud-account-environment combination (per cluster).
global.yaml
clouds:
- name: aws
accounts:
- name: main
environments:
- name: common
- name: stage
- name: dedicated
environments:
- name: production
- ApplicationSet cloud-account-environment
Search gitops repository for argo.yaml
and creates applications based on settings.
application/ypur-app/argo.yaml
destination: all
namespace: api
autosync: true
syncOptions:
- SkipDryRunOnMissingResource=true
- Application
- uses Helm Applibrary from
_chart/
as a dependency - adds global configuration values files
- adds its own configuration values files
Key featuresβ
- ArgoCD managed everything
- ApplicationSet per cluster
- Monorepo for infra applications
- Dynamic application repo discovery
- Sophisticated DRY configuration hierarchy
- Developer Platform: ~0% ClickOps / ~100% GitOps
Toolsβ
crossplane
keda
reloader