Parameters

The parent key for all of the following parameters is exoscale_cloud_controller_manager.

namespace

type

string

default

syn-exoscale-cloud-controller-manager

The namespace in which to deploy this component.

images

type

object

default

See class/defaults.yml

The container image to use for the Exoscale cloud-controller-manager.

The component uses the configured image tag to download the base manifests for the cloud-controller-manager deployment from the exoscale/exoscale-cloud-controller-manager GitHub repo.

credentials

type

object

default
api_key: ?{vaultkv:${cluster:tenant}/${cluster:name}/exoscale/ccm/access_key}
api_secret: ?{vaultkv:${cluster:tenant}/${cluster:name}/exoscale/ccm/secret_key}

The Exoscale IAM credentials for the cloud-controller-manager. The component will store the credentials in a secret named exoscale-credentials in the namespace in which the cloud-controller-manager is installed. The component will also inject field api-zone with value parameters.facts.region.

nodeSelector

type

object

default

{node-role.kubernetes.io/control-plane: ""}

The node selector for the cloud-controller-manager deployment. Change this if you don’t want to run the cloud-controller-manager on your cluster’s control plane nodes.

serviceLoadBalancerDefaultAnnotations

type

dictionary

default

{}

example
serviceLoadBalancerDefaultAnnotations:
  service.beta.kubernetes.io/exoscale-loadbalancer-service-instancepool-id: 7026DCCB-39B4-451B-AB38-EB527CC836A4

Creates an espejote ManagedResource adding default annotations to Services with spec.type: LoadBalancer.

Can be used to inject the service.beta.kubernetes.io/exoscale-loadbalancer-service-instancepool-id annotation which is required to create a LoadBalancer on Exoscale.