Skip to main content

GitOps Platform

Implementation of GitOps architecture using ArgoCD with multi-dimensional configuration management across clouds, accounts, and environments.

Schema

ArgoCD + Applibrary + Configuration​

  1. 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
  1. 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
  1. Application

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