Skip to content

feat: OCI-only registry backend (drop epoch)#12

Merged
CMGS merged 4 commits into
mainfrom
feat/oci-registry
Jul 1, 2026
Merged

feat: OCI-only registry backend (drop epoch)#12
CMGS merged 4 commits into
mainfrom
feat/oci-registry

Conversation

@CMGS

@CMGS CMGS commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Gives the operator's reconcilers an OCI registry backend for the snapshot
existence probe (HasManifest) and hibernate rollback (DeleteManifest), and
drops epoch entirely — the operator now imports zero epoch. Counterpart to
vk-cocoon#26. Advances #25.

Depends on cocoon-common#4 (the shared oci package). Pinned via go get cocoon-common@<sha>; moves to a tagged release once #4 merges.

What changed

  • buildRegistry requires OCI_REGISTRY and builds a cocoon-common/oci client (GCP ADC via google.Keychain, then docker config). No epoch fallback.
  • Reconcilers' Epoch field renamed → Registry (it holds the OCI client; matches the snapshot.Registry type).
  • Removed the registryclient import + EPOCH_URL/TOKEN; epoch is gone from go.mod. Neutralized epoch references in comments, an event, and the README.

Deploy note

OCI_REGISTRY is now required — deploy after the epoch→AR data migration completes and the env is set. Merging the PR does not deploy.

Quality

Each commit: build (go.work + GOWORK=off) / vet / test / lint (darwin + linux, 0) green, plus /code + /simplify. No trailers.

CMGS added 3 commits July 1, 2026 13:38
buildRegistry returns a cocoon-common oci.Registry client when OCI_REGISTRY is
set (GCP ADC then docker config), else the epoch registryclient backend, so the
reconcilers' manifest probe + rollback run against Artifact Registry without
epoch (issue #25). epoch is now imported only for the transitional backend.
The field now holds either an OCI client or the epoch backend, so Epoch is
misleading; Registry matches its snapshot.Registry type and the vk naming.
Mechanical rename, no behavior change.
buildRegistry now requires OCI_REGISTRY and always builds a cocoon-common oci
client (GCP ADC then docker config); the registryclient fallback and
EPOCH_URL/TOKEN are gone, and epoch is removed from go.mod. Neutralizes epoch
references in comments, an event, and the README. Bumps cocoon-common to the
HasBlob/ImportImage rename.
@CMGS CMGS changed the title feat: OCI registry backend (select via OCI_REGISTRY) feat: OCI-only registry backend (drop epoch) Jul 1, 2026
@CMGS CMGS merged commit 000f786 into main Jul 1, 2026
2 checks passed
@CMGS CMGS deleted the feat/oci-registry branch July 1, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant