Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Argo Refs code-dot-org Commit
Short name: Argo refs commit
Catchy description: Write one tiny release record to
warehouses/codeai/,then let Argo CD deploy Kustomize source pinned to a
code-dot-orgcommit.Detailed Technical Description of Plan
This plan is the simplest source-driven Kargo design in iteration 7. Kargo does
not snapshot a release package or render review output into Freight; instead it
promotes a tiny Git build-lock record from
k8s-gitopsthat names one exactcode-dot-orgcommit and one exact image tag/digest. The build-lock is therelease record, and
current.yamlis just a stable parse path to that samerecord. The whole point is to keep Freight small, deterministic, and easy to
audit while still letting the real deploy source live in
code-dot-org.Argo points at
k8s-gitops/apps/codeai/deployments/<deployment>/deploy/, wherethe deploy tree is built from the checked-in
code-dot-org/k8s/kustomize/package plus the envType
Components underapps/codeai/envTypes/<envType>/.That is the main conceptual difference from the rendered-branch plans: here the
GitOps repo does not store rendered output, it stores the deploy entrypoint and
env policy that tell Argo how to materialize source at the right commit.
The tricky part is that the plan looks deceptively simple until you try to make
promotion and deploy truth line up. The build-lock file must be written
atomically as both
git-<full-commit-sha>.yamlandcurrent.yaml, and the GHaction must keep the image tag and the lock file in sync.
argo-refs-code-dot-org-commit
Other PR: code-dot-org/code-dot-org#71564