Skip to content

feat: Pull galactic-cni/galactic-router from GHCR in containerlab lab#226

Merged
privateip merged 1 commit into
mainfrom
feat/containerlab-ghcr-images
Jul 10, 2026
Merged

feat: Pull galactic-cni/galactic-router from GHCR in containerlab lab#226
privateip merged 1 commit into
mainfrom
feat/containerlab-ghcr-images

Conversation

@privateip

Copy link
Copy Markdown
Contributor

Summary

The containerlab lab used to build galactic-cni and galactic-router from source and side-load them into the Kind nodes for every deploy. Now that .github/workflows/publish.yaml publishes both images to ghcr.io/datum-cloud, the lab pulls the published images instead of rebuilding them locally.

The image tag is controlled by a new GALACTIC_TAG Taskfile variable (default v0.0.0-main, the floating tag that tracks the latest push to main). It can be overridden to pin a specific commit, e.g. task deploy GALACTIC_TAG=v0.0.0-<short-sha>. The lab-only DaemonSet patches reference the image via a placeholder that lib.sh substitutes at deploy time, so the checked-in manifests stay tag-agnostic.

This also removes the now-unused build:galactic-cni/build:galactic-router Taskfile tasks and the stale duplicate galactic-router Dockerfile that lived under deploy/containerlab/containers/ (the real, published image is built from the top-level containers/galactic-router/Dockerfile, which was already the CI/e2e source of truth).

Test plan

  • task --list parses the updated Taskfile cleanly
  • Verified lib.sh's placeholder substitution renders the correct ghcr.io/datum-cloud/galactic-{cni,router} image and imagePullPolicy: Always into a scratch copy of the resources
  • Verified kubectl kustomize builds the cni, tenant, and control/tenant/iad overlays cleanly with the substituted image
  • Full task deploy run against live Kind clusters (not run in this environment)

…lab lab

The lab previously built galactic-cni and galactic-router locally and
side-loaded them into Kind nodes; now that .github/workflows/publish.yaml
publishes both to ghcr.io/datum-cloud, the lab pulls those images instead
(tag selected by the new GALACTIC_TAG Taskfile var, default v0.0.0-main).
lib.sh substitutes the real image into the lab-only DaemonSet patches at
deploy time so the checked-in manifests stay tag-agnostic. Removes the
now-unused build:galactic-cni/build:galactic-router tasks and the stale
duplicate galactic-router Dockerfile under deploy/containerlab/containers/.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@privateip privateip requested a review from a team as a code owner July 10, 2026 21:14
@privateip privateip requested a review from ronggur July 10, 2026 21:14
@privateip privateip merged commit 6e0fc45 into main Jul 10, 2026
10 of 11 checks passed
@privateip privateip deleted the feat/containerlab-ghcr-images branch July 10, 2026 21:25
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.

2 participants