Skip to content

feat(gitops): migrate bgp-cloud-connector build to Shipwright - #13

Draft
paulczar wants to merge 7 commits into
mainfrom
feat/bgp-shipwright-build
Draft

paulczar wants to merge 7 commits into
mainfrom
feat/bgp-shipwright-build

Conversation

@paulczar

@paulczar paulczar commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Status: draft spike — not merging for now

Spike for #12. BuildConfig remains the shipping path for the one-off bgp-cloud-connector operator image; it works well enough without Shipwright operator overhead.

This branch documents what it took to get Shipwright working on aro-virt (Builds 1.9): namespace buildah-heavy strategy, service CA injection, Tekton cred mounts, OLM catalog fixes, etc. Keeping as a draft reference if we revisit later (e.g. fleet-wide Builds platform, or Builds ≥ 1.10 stepResources).

Does not close #12.

Summary (spike)

  • Replace BuildConfig with Shipwright Build / BuildRun for bgp-cloud-connector operator image.
  • GitOps-install OpenShift Pipelines + Builds for OpenShift.
  • Namespace BuildStrategy fork of CBS buildah (CPU, TLS --cert-dir, SA dockercfg auth).
  • Verified E2E on live aro-virt: BuildRun succeeded, manager Running, BGPCloudConfiguration / BGPRouting Ready.

Why deferred

  • Heavy for a single operator build: privileged SCC, ~340-line strategy fork, CABundle ConfigMap, OLM subscription tuning.
  • BuildConfig + ImageStreamTag avoids internal-registry TLS/auth complexity in-cluster.
  • Strategy fork does not inherit CBS upgrades without maintenance.

Test plan (completed on spike cluster)

  • make fmt lint test
  • Live aro-virt with GITOPS_REVISION=feat/bgp-shipwright-build
  • BuildRun succeeded; manager pulls operator:dev
  • BGPCloudConfiguration Ready; BGPRouting virt Ready

paulczar and others added 7 commits September 15, 2026 10:11
Replace BuildConfig with Shipwright Build/BuildRun, install OpenShift
Pipelines and Builds for OpenShift, and document the three-way git SHA pin
for operator bumps.

Closes #12

Co-authored-by: Cursor <cursoragent@cursor.com>
openshift-pipelines-operator-rh and builds latest channel match the
redhat-operators catalog on ARO HCP 4.22.

Co-authored-by: Cursor <cursoragent@cursor.com>
Build.spec.stepResources did not override the buildah strategy defaults
on Builds 1.9; move CPU/memory limits to BuildRun so compile gets 2-4 CPU.

Co-authored-by: Cursor <cursoragent@cursor.com>
…rces

Shipwright Builds 1.9 ignores stepResources on Build/BuildRun; fork the
cluster buildah strategy with 2–4 CPU and 4–8Gi for the FIPS go compile.

Co-authored-by: Cursor <cursoragent@cursor.com>
Inject the service serving CA via a CABundle ConfigMap, override it on the
Build, and pass --cert-dir to buildah so push to the cluster registry verifies.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use /tekton/creds-secrets/shipwright-registry-push/.dockerconfigjson instead
of the merged creds file Tekton does not create here; add pushSecret, image-
builder RBAC, and fail fast when the auth file is missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop pushSecret; OpenShift creates shipwright-build-dockercfg for Tekton.
The build strategy discovers auth under /tekton/creds-secrets/ so fresh Argo
syncs need no bootstrap secret or token minting step.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Migrate bgp-cloud-connector in-cluster build from BuildConfig to Shipwright Build

1 participant