|
| 1 | +# Configuration |
| 2 | + |
| 3 | +`scaleway-cloud-controller-manager` is configured entirely through environment variables. |
| 4 | +The example [Secret manifest](../examples/k8s-scaleway-secret.yml) shows how to provide these |
| 5 | +values when running on Kubernetes. |
| 6 | + |
| 7 | +## Scaleway credentials and location |
| 8 | + |
| 9 | +These are the standard Scaleway SDK environment variables, used to authenticate and to determine |
| 10 | +where resources (load balancers, etc.) are managed. |
| 11 | + |
| 12 | +### `SCW_ACCESS_KEY` |
| 13 | +**Required.** The access key of the [API key](https://www.scaleway.com/en/docs/generate-an-api-token/) used by the CCM. |
| 14 | + |
| 15 | +### `SCW_SECRET_KEY` |
| 16 | +**Required.** The secret key of the API key used by the CCM. |
| 17 | + |
| 18 | +### `SCW_DEFAULT_REGION` |
| 19 | +**Required.** The default region (e.g. `fr-par`, `nl-ams`, `pl-waw`) used for regional resources |
| 20 | +such as load balancers. The CCM will fail to start if no region can be determined. |
| 21 | + |
| 22 | +### `SCW_DEFAULT_ZONE` |
| 23 | +The default zone (e.g. `fr-par-1`) used for zonal resources such as Instances and Elastic Metal |
| 24 | +servers. If not set, the first zone of `SCW_DEFAULT_REGION` is generally used. |
| 25 | + |
| 26 | +### `SCW_DEFAULT_PROJECT_ID` |
| 27 | +The default Project ID used when creating resources (e.g. load balancers, IPs). |
| 28 | + |
| 29 | +### `SCW_DEFAULT_ORGANIZATION_ID` |
| 30 | +The default Organization ID. Can be used instead of, or in addition to, `SCW_DEFAULT_PROJECT_ID`. |
| 31 | + |
| 32 | +## CCM behavior |
| 33 | + |
| 34 | +### `PN_ID` |
| 35 | +The ID of the Private Network to attach managed load balancers to, and to use for routing |
| 36 | +traffic to nodes. Can be overridden per-service with the |
| 37 | +[`service.beta.kubernetes.io/scw-loadbalancer-pn-ids`](loadbalancer-annotations.md#servicebetakubernetesioscw-loadbalancer-pn-ids) |
| 38 | +annotation. |
| 39 | + |
| 40 | +### `LB_DEFAULT_TYPE` |
| 41 | +The default load balancer commercial offer type (e.g. `LB-S`, `LB-GP-M`) used when creating new |
| 42 | +load balancers. Can be overridden per-service with the |
| 43 | +[`service.beta.kubernetes.io/scw-loadbalancer-type`](loadbalancer-annotations.md#servicebetakubernetesioscw-loadbalancer-type) |
| 44 | +annotation. If unset, Scaleway's default load balancer type is used. |
| 45 | + |
| 46 | +### `SCW_CCM_PREFIX` |
| 47 | +A prefix prepended to the name of load balancers created by the CCM. Useful to distinguish |
| 48 | +load balancers managed by different clusters or environments. |
| 49 | + |
| 50 | +### `SCW_CCM_TAGS` |
| 51 | +A list of additional tags to apply to every load balancer created by the CCM. Tags are split |
| 52 | +using the delimiter configured by `SCW_CCM_TAGS_DELIMITER`. |
| 53 | + |
| 54 | +### `SCW_CCM_TAGS_DELIMITER` |
| 55 | +The delimiter used to split `SCW_CCM_TAGS` into individual tags. Defaults to `,`. |
| 56 | + |
| 57 | +### `EXTRA_USER_AGENT` |
| 58 | +A string appended to the user agent sent to the Scaleway API |
| 59 | +(`scaleway/ccm <version> (<git-commit>) <EXTRA_USER_AGENT>`). Useful for tracking requests made |
| 60 | +by a specific deployment. |
| 61 | + |
| 62 | +### `DISABLE_INTERFACES` |
| 63 | +A comma-separated list of cloud-provider interfaces to disable. Possible values are: |
| 64 | +- `instances` - disables the Instances/InstancesV2 interface (node lifecycle, addresses, types). |
| 65 | +- `loadbalancer` - disables the LoadBalancer interface (no LB creation/management). |
| 66 | +- `zones` - disables the Zones interface (no failure-domain labeling). |
| 67 | + |
| 68 | +### `DISABLE_TAGS_SYNC` |
| 69 | +If set to any non-empty value, disables synchronization of Scaleway Instance/server tags to |
| 70 | +Kubernetes node labels and taints. See [tag synchronization](tags.md) for details. |
0 commit comments