Problem
A common deploy pattern renders manifests in the source repo and pushes them to a separate GitOps repo where ArgoCD reconciles against branches mapped to envs. Today this happens entirely inside a callback workflow; framework state tracks the source repo's deploy SHA but not the GitOps repo's HEAD post-push.
The schema has an external: config — unclear from current docs whether it covers this pattern or is intended for satellite-repo coordination (where the primary dispatches into another full pipeline).
Proposed
Either:
- Document that callbacks remain the canonical way to model GitOps targets (and surface the pattern in docs/examples), OR
- Add a
gitops_targets: deploy field that captures target repo, target branch, post-push SHA → first-class state tracking that the framework propagates through promotion
Impact
Cleaner state observability for the common GitOps deploy model; enables framework-aware promotion based on the actual reconciled SHA on the GitOps repo, not just the source repo's commit.
Schema-reserve note
Design the gitops_targets: field shape into the v1 schema so it's reserved during any freeze; implementation can land in a later minor.
Problem
A common deploy pattern renders manifests in the source repo and pushes them to a separate GitOps repo where ArgoCD reconciles against branches mapped to envs. Today this happens entirely inside a callback workflow; framework state tracks the source repo's deploy SHA but not the GitOps repo's HEAD post-push.
The schema has an
external:config — unclear from current docs whether it covers this pattern or is intended for satellite-repo coordination (where the primary dispatches into another full pipeline).Proposed
Either:
gitops_targets:deploy field that captures target repo, target branch, post-push SHA → first-class state tracking that the framework propagates through promotionImpact
Cleaner state observability for the common GitOps deploy model; enables framework-aware promotion based on the actual reconciled SHA on the GitOps repo, not just the source repo's commit.
Schema-reserve note
Design the
gitops_targets:field shape into the v1 schema so it's reserved during any freeze; implementation can land in a later minor.