feat(zot): seed the registry's own repo and ArgoCD project #106
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/zot-repo-seed"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Migration step S1: the registry (currently
sean/pipelinesbundle/registry, deployed by ArgoCDApplication/registry) gets its own repo and ArgoCD project, following the ory/olly pattern. Working copy staged at~/src/zotwith the full runbook.What this adds
gitmirrors/zot.yaml— fleet-standard 3 CRs:ForgejoRepository(createssean/zot), real-time codeberg push mirror, pipeline-bot grant. NoimportSourceyet: the codeberg backup exists only after the mirror's first delivery; the fleet shape is added later by delete+recreate (theory.yamlroute), andscripts/zot-push.shis the rebuild path until then.zot-argocd/seed — AppProjectzot+ repo Secret + root App + webhook. Deliberate differences from the ory seed, documented in-file: no Namespace (the registry bundle owns nsregistry), no duplicate ForgejoRepository (gitmirrors owns it), andClusterSecretStorewhitelisted (the bundle defineszot-registry-registry-credentials; a missing whitelist entry is the olly-argocd wedge — the whole sync is rejected and the app sits OutOfSync forever).scripts/zot-push.sh— pushesmainandtrunk(the mirror'sbranchFilterlists both; a listed-but-missing branch fails the whole mirror push atomically), credential via a git credential helper, never spliced into the URL.Why the child Application is NOT here:
Application/registryalready exists, born underpipelines-argocd(its tracking-id says so). Unlike ory/olly, a second Application would either fight over the CR or force a resource-level adoption. Instead the one CR is repointed (P1), pinnedPrune=false, orphaned (P2), and adopted byzot-argocd(step 7) — no unmanaged-resource window, no restart,Prune=falsepinning precedented by the tetragon seed's CRDs.Expected transient: between this merge and the content push, the root
zot-argocdapp errors "app path does not exist". Converges at runbook step 4.Testing: seanfarm
tests/check.shfully green,gitmirror-fleet.shpasses with the 35th member,check-url-credentials.shclean, both kustomize dirs render.Merge-order runbook (full version:
~/src/zot/docs/MIGRATION-RUNBOOK.md)sean/zot+ AppProject/rootcd ~/src/zot && hack/refresh-from-pipelines.sh(must endbyte-identical: OK) →~/src/seanfarm/scripts/zot-push.sh ~/src/zotapps/registry.yamlin sean/zot (content in the runbook) →zot-argocdadopts the CRimportSource; binjovi onboarding (shadow → soak → protections)https://claude.ai/code/session_019JVStQiFwbSLGHArU2sA4X