Local provider type for the laptop path
- New
localprovider for ClusterBootstrap and ProviderConfig: installs Butler onto a kind-based management cluster and provisions tenant workers as containers via the Cluster API Docker provider (CAPD), for running Butler on a laptop with no hypervisor. - Adds
ProviderTypeLocal, an optionalLocalProviderConfig(kindNodeImageoverride), andClusterBootstrap.IsLocal(). credentialsRefis now optional on ProviderConfig (the local provider needs no credentials).
Validation
- A CEL rule on ProviderConfig requires a non-empty
credentialsRef.namefor every non-local provider and exempts local, so a credential-less non-local config is rejected at admission.
Known follow-up
ProviderConfig.CredentialsRef should become *SecretReference (tracked in #47) so credential-less local configs round-trip cleanly. Until then a local ProviderConfig shows a cosmetic not-Ready status; provisioning is unaffected.