This repository is a compact brownfield Argo CD adoption example for Kapro. It contains the three patterns users commonly have already:
- a plain Argo
Application; - an
ApplicationSetwith Git file generator input; - an app-of-apps root that should be observed but not promoted directly.
flowchart LR
Kapro[Kapro Release] --> Backend[Argo BackendProfile]
Backend --> App[Plain Application]
Backend --> AppSet[ApplicationSet generator file]
AppSet --> Apps[Generated Applications]
Apps --> Clusters[Target clusters]
Apps --> Status[Health and sync status]
Status --> Kapro
- Kapro owns waves, approvals, and release status.
- Argo CD owns sync, drift correction, health, hooks, and local rollout.
- Kapro writes only explicit adoption targets: Argo
targetRevisionfields or Git generator input fields.
argocd/ Existing Argo CD Application, ApplicationSet, and env files
backends/ Observe-first Argo BackendProfile
sources/ PromotionSource mapping generated from the Argo repo shape
pipelines/ Kapro Pipeline that drives promotion
releases/ Release intent
Try discovery locally:
kapro adopt argo . --out kapro-connect --name checkout --force