feat: Pull galactic-cni/galactic-router from GHCR in containerlab lab#226
Merged
Conversation
…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>
scotwells
approved these changes
Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.yamlpublishes both images toghcr.io/datum-cloud, the lab pulls the published images instead of rebuilding them locally.The image tag is controlled by a new
GALACTIC_TAGTaskfile variable (defaultv0.0.0-main, the floating tag that tracks the latest push tomain). 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 thatlib.shsubstitutes at deploy time, so the checked-in manifests stay tag-agnostic.This also removes the now-unused
build:galactic-cni/build:galactic-routerTaskfile tasks and the stale duplicategalactic-routerDockerfile that lived underdeploy/containerlab/containers/(the real, published image is built from the top-levelcontainers/galactic-router/Dockerfile, which was already the CI/e2e source of truth).Test plan
task --listparses the updated Taskfile cleanlylib.sh's placeholder substitution renders the correctghcr.io/datum-cloud/galactic-{cni,router}image andimagePullPolicy: Alwaysinto a scratch copy of the resourceskubectl kustomizebuilds thecni,tenant, andcontrol/tenant/iadoverlays cleanly with the substituted imagetask deployrun against live Kind clusters (not run in this environment)