Skip to content

Make all agent/node download endpoints configurable - #81

Merged
Jason Wilder (jwilder) merged 1 commit into
mainfrom
copilot/make-agent-node-endpoints-configurable
Apr 28, 2026
Merged

Jason Wilder (jwilder) merged 1 commit into
mainfrom
copilot/make-agent-node-endpoints-configurable

Conversation

Copilot AI commented Apr 24, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #70. The manual-bootstrap agent download was configurable, but machine register / machina-controller provisioning had no override surface, and the agent's own rootfs downloads (kubelet / containerd / runc / CNI / crictl) were hard-coded to upstream hosts - blocking air-gapped and mirrored deployments.

  • Extend AgentSpec with optional Version / BaseURL / URL + Downloads block for Kubernetes / containerd / runc / CNI / crictl
  • Factor ShellSingleQuote + AgentInstallEnv into internal/provision/shell.go
  • Machina controller prepends POSIX-quoted AGENT_* env vars to install-script exec
  • machine register + manual-bootstrap gain --agent-{version,base-url,url} + 15 --{kubernetes,containerd,runc,cni,crictl}-{base-url,url,version} flags
  • Rootfs downloaders (rootfs/{kube,cri,cni}.go) honor overrides, preserving crictl Kubernetes-minor alignment
  • Regenerate CRD + deepcopy
  • Docs guide extended with an air-gapped end-to-end example
  • Rebased onto latest main

Copilot AI changed the title [WIP] Make all agent/node download endpoints configurable Make all agent/node download endpoints configurable Apr 24, 2026
@jwilder

Copy link
Copy Markdown
Contributor

Copilot rebase with latest main branch

Copilot AI commented Apr 24, 2026 •

Copy link
Copy Markdown
Contributor Author

Copilot rebase with latest main branch

Rebased onto latest main in 532ed76. Net diff is unchanged and tests still pass.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 192.0.2.1
    • Triggering command: /tmp/go-build1653948396/b1187/controller.test /tmp/go-build1653948396/b1187/controller.test -test.testlogfile=/tmp/go-build1653948396/b1187/testlog.txt -test.paniconexit0 -test.timeout=10m0s /tmp/go-build1653948396/b1118/vet.cfg 489634/b1228/_pk-p mpile 0.1-go1.26.2.lin-lang=go1.25 -p /unbounded/inter-atomic mpile 0.1-go1.26.2.lin-buildtags -o 489634/b1292/exe-errorsas .cfg ux-amd64/pkg/tool/linux_amd64/vet /ops/wstrust/def/home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.26.2.linux-amd64/pkg/too/tmp/ccfwCtyp.o /ops/wstrust/def-atomic mpile ux-amd64/pkg/too-buildtags (packet block)
  • invalid-ip
    • Triggering command: /tmp/go-build1653948396/b1187/controller.test /tmp/go-build1653948396/b1187/controller.test -test.testlogfile=/tmp/go-build1653948396/b1187/testlog.txt -test.paniconexit0 -test.timeout=10m0s /tmp/go-build1653948396/b1118/vet.cfg 489634/b1228/_pk-p mpile 0.1-go1.26.2.lin-lang=go1.25 -p /unbounded/inter-atomic mpile 0.1-go1.26.2.lin-buildtags -o 489634/b1292/exe-errorsas .cfg ux-amd64/pkg/tool/linux_amd64/vet /ops/wstrust/def/home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.26.2.linux-amd64/pkg/too/tmp/ccfwCtyp.o /ops/wstrust/def-atomic mpile ux-amd64/pkg/too-buildtags (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@jwilder
Jason Wilder (jwilder) force-pushed the copilot/make-agent-node-endpoints-configurable branch from 532ed76 to 7b99d17 Compare April 24, 2026 20:49
@jwilder
Jason Wilder (jwilder) marked this pull request as ready for review April 24, 2026 20:49
@jwilder
Jason Wilder (jwilder) force-pushed the copilot/make-agent-node-endpoints-configurable branch from 7b99d17 to 20a7649 Compare April 27, 2026 22:20
@jwilder
Jason Wilder (jwilder) enabled auto-merge (rebase) April 27, 2026 22:24
@jwilder
Jason Wilder (jwilder) merged commit d5c71ee into main Apr 28, 2026
20 of 22 checks passed
@jwilder
Jason Wilder (jwilder) deleted the copilot/make-agent-node-endpoints-configurable branch April 28, 2026 00:08
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.

Make all agent/node download endpoints configurable (agent binary via machine register, plus kubelet/containerd/runc/CNI/crictl)

3 participants