siderolabs / cluster-api-bootstrap-provider-talos

A cluster-api bootstrap provider for deploying Talos clusters.
https://www.talos-systems.com
Mozilla Public License 2.0
103 stars 27 forks source link

Invalid argument for feature-gates #150

Closed HenkVanMaanen closed 2 years ago

HenkVanMaanen commented 2 years ago

Hi I get the following error from the cabpt-controller-manager pod using v0.5.4, it seems like line 657 in bootstrap-components.yaml does not work. Am I doing something wrong or is this a bug?


invalid argument "MachinePool=${EXP_MACHINE_POOL:=false}" for "--feature-gates" flag: invalid value of MachinePool=${EXP_MACHINE_POOL:=false}, err: strconv.ParseBool: parsing "${EXP_MACHINE_POOL:=false}": invalid syntax
Usage of /manager:
      --enable-leader-election        Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
      --feature-gates mapStringBool   A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
                                      AllAlpha=true|false (ALPHA - default=false)
                                      AllBeta=true|false (BETA - default=false)
                                      ClusterResourceSet=true|false (BETA - default=true)
                                      ClusterTopology=true|false (ALPHA - default=false)
                                      KubeadmBootstrapFormatIgnition=true|false (ALPHA - default=false)
                                      MachinePool=true|false (ALPHA - default=false)
      --health-addr string            The address the health endpoint binds to. (default ":9440")
      --kubeconfig string             Paths to a kubeconfig. Only required if out-of-cluster.
      --metrics-bind-addr string      The address the metric endpoint binds to. (default ":8080")
      --watch-filter string           Label value that the controller watches to reconcile cluster-api objects. Label key is always cluster.x-k8s.io/watch-filter. If unspecified, the controller watches for all cluster-api objects.
      --webhook-port int              Webhook Server port, disabled by default. When enabled, the manager will only work as webhook server, no reconcilers are installed. (default 9443)
invalid argument "MachinePool=${EXP_MACHINE_POOL:=false}" for "--feature-gates" flag: invalid value of MachinePool=${EXP_MACHINE_POOL:=false}, err: strconv.ParseBool: parsing "${EXP_MACHINE_POOL:=false}": invalid syntax
smira commented 2 years ago

How are you using that yaml file?

HenkVanMaanen commented 2 years ago

I apply it with the following command: curl -sSL https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/releases/download/v0.5.4/bootstrap-components.yaml | kubectl apply -f -

When I edit the deployment of that pod from MachinePool=${EXP_MACHINE_POOL:=false} to MachinePool=false it works like a charm.

HenkVanMaanen commented 2 years ago

For people with the same problem, if I'm not mistaken this yaml file should'nt be installed directly but installed via clusterctl init --core cluster-api --bootstrap talos --control-plane talos --infrastructure YOURPROVIDER