Skip to content

feat: local provider CAPD support for the laptop path - #112

Merged
atbagan merged 4 commits into
mainfrom
feat/local-provider-capd
Jun 12, 2026
Merged

atbagan merged 4 commits into
mainfrom
feat/local-provider-capd

Conversation

@atbagan

@atbagan atbagan commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Consumer of butler-api v0.22.0. Adds the local provider's tenant-worker support: buildLocalResources() emits CAPD DockerCluster + DockerMachineTemplate + a CAPD-specific KubeadmConfigTemplate, the reconcile guard keeps local off the Talos two-phase path, and Longhorn/Traefik tenant addons are skipped for local (Cilium/cert-manager/MetalLB kept). Bumped butler-api pseudo-version to the released v0.22.0; builds + vets + capi unit tests clean. Live-validated in the laptop demo and the steward isolated test.

atbagan added 4 commits June 10, 2026 16:22
buildLocalResources emits DockerCluster + DockerMachineTemplate and a
CAPD-specific minimal kubeadm join template (containerd criSocket plus the
eviction-hard override for kind's shared filesystem), reusing the Steward
control plane, Cluster, and MachineDeployment builders unchanged. The local
provider always takes the non-Talos one-pass path, guarded so an os.type=talos
mistake cannot strand it on the Talos two-phase flow.

Depends on the butler-api local provider types; the dependency bump from the
local replace to the merged butler-api version lands before this merges.
Points butler-api at the feat/local-provider-types pseudo-version so the local
provider types resolve from a fetchable module (image builds cannot use a
working-tree replace). Bump to the tagged butler-api release once that branch
merges.
Replace the local-provider-types pseudo-version with the released v0.22.0
tag (local provider type, optional credentialsRef, the credentialsRef CEL
validation rule).
@atbagan
atbagan merged commit 9596ead into main Jun 12, 2026
4 checks passed
@atbagan
atbagan deleted the feat/local-provider-capd branch June 12, 2026 02:30
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