Skip to content

[HOLD - merge after docker-build-pipe PR#8] feat: DEVENV-9681 push straight to Harbor, retire Artifactory leg#3

Merged
chriswydra merged 1 commit into
mainfrom
feat/DEVENV-9681-harbor-only-producer
Jun 16, 2026
Merged

[HOLD - merge after docker-build-pipe PR#8] feat: DEVENV-9681 push straight to Harbor, retire Artifactory leg#3
chriswydra merged 1 commit into
mainfrom
feat/DEVENV-9681-harbor-only-producer

Conversation

@chriswydra

Copy link
Copy Markdown
Contributor

HOLD

Do not merge until docker-build-pipe PR#8 (the Bitbucket-side twin) is merged and green. Both producers do the same inversion; we flip them one at a time so a broken build is attributable. This is the GitHub Actions half of Phase 5 (DEVENV-9681).

What this does

Inverts the GitHub Actions producer from build → push Artifactory → copy to Harbor into build → push straight to Harbor, mirroring docker-build-pipe/bin/run.sh Phase 5.

  • REGISTRY_PREFIX now points at Harbor (harbor_host/namespace/image), so bake pushes images directly to prod Harbor — no cross-registry imagetools create copy.
  • Drops the Artifactory docker login (replaced by a Harbor login before bake) and the Artifactory build-metadata curl PUT.
  • Per-target metadata is attached to the already-pushed Harbor image via oras attach; the build-index is pushed to builds/<image>:<build_id> via oras push — the same path contract as docker-build-pipe/bin/run.sh:417 and k8s-apps-config/bin/update-app-manifest.sh:137 (no namespace segment).

Compatibility

Legacy inputs/secrets are kept defined but optional so existing caller repos don't break before they're cleaned up:

  • registry_host / registry_usernamerequired: false, no longer a push target.
  • ARTIFACTORY_TOKENrequired: false; still available as a build secret via BAKE_SECRETS for any Dockerfile that pulls an Artifactory base at build time.
  • push_to_harbor → deprecated / no-op (Harbor is the sole push target).

Verify before merge

  • A test build on a self-hosted runner pushes the image + build-index to prod Harbor and the downstream deploy resolves the index from builds/<image>:<build_id>.
  • Supersedes the stale feat/DEVENV-9681-harbor-build-index PR (which predates the prod harbor_host default and would roll it back to platform).

Refs: DEVENV-9681

Invert the producer: bake now pushes images directly to prod Harbor
(REGISTRY_PREFIX -> harbor_host/namespace/image) instead of pushing to
Artifactory and copying across. Drops the Artifactory docker login and the
Artifactory build-metadata PUT. Per-target metadata is attached to the
already-pushed Harbor image (oras attach) and the build-index pushed to
builds/<image>:<build_id> (oras push) - the same path contract as
docker-build-pipe run.sh and k8s-apps-config update-app-manifest.sh.

Legacy registry_* inputs and ARTIFACTORY_TOKEN are kept defined but optional
so existing caller repos don't break; ARTIFACTORY_TOKEN remains available as
a build secret via BAKE_SECRETS for any Dockerfile that still pulls an
Artifactory base at build time. Mirrors docker-build-pipe Phase 5.
@chriswydra
chriswydra merged commit 27bc4a5 into main Jun 16, 2026
1 check passed
@chriswydra
chriswydra deleted the feat/DEVENV-9681-harbor-only-producer branch June 16, 2026 04:41
@chriswydra
chriswydra restored the feat/DEVENV-9681-harbor-only-producer branch July 9, 2026 03:30
@chriswydra
chriswydra deleted the feat/DEVENV-9681-harbor-only-producer branch July 9, 2026 03:40
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