Parameters

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

namespace

type

string

default

syn-xelon-csi

The namespace in which to deploy this component.

manifests_version

type

string

default

See class/defaults.yml

The version of the CSI driver that should be deployed. See the CSI driver GitHub releases for available versions.

metadata_directory

type

string

default

/etc/init.d

This parameter allows users to configure which host path is mounted as /etc/init.d for the CSI driver and controller to expose the Xelon AG metadata.json.

controller

Configurations for the CSI controller.

controller.env

type

dict

default
XELON_API_URL: https://vdc.xelon.ch/api/service/
XELON_API_CLIENT_ID:
  valueFrom:
    secretKeyRef:
      name: xelon-csi
      key: client-id
XELON_API_TOKEN:
  valueFrom:
    secretKeyRef:
      name: xelon-csi
      key: api-token

This parameter allows users to customize the CSI controller environment variables which are present in the upstream manifests. The component currently doesn’t support adding arbitrary other environment variables. However, you can completely remove an environment variable which is present in the upstream manifests by setting the value for the environment variable to null.

If the value for an entry in the parameter is already an object, it’s expected to be a valid value or valueFrom for the corresponding entry in the container’s env array. Any other values are first converted into strings and added to the container’s env array as { "value": "input_value" }.

The component will always add the key of the parameter entry as name: KEY.

The default configuration will result in the following env array for the container:

env:
  - name: XELON_API_URL (1)
    value: https://vdc.xelon.ch/api/service/
  - name: XELON_API_CLIENT_ID (2)
    valueFrom:
      secretKeyRef:
        name: xelon-csi
        key: client-id
  - name: XELON_API_TOKEN (2)
    valueFrom:
      secretKeyRef:
        name: xelon-csi
        key: api-token
1 The provided string value is used as the value for field value of the entry in the env array.
2 The provided object value is used as-is for the entry in the env array.

controller.resources

type

dict

defaults

See class/defaults.yml

This parameter allows users to configure the CSI controller’s resource requests and limits. Currently, the component only sets resource requests.

If desired, a container’s resource requests and limits can be completely cleared by setting the container’s parameter value to null.

csi_driver

This parameter holds configurations for the CSI driver daemonset.

csi_driver.resources

type

dict

defaults

See class/defaults.yml

This parameter allows users to configure the CSI driver pods' resource requests and limits. Currently, the component only sets resource requests.

If desired, a container’s resource requests and limits can be completely cleared by setting the container’s parameter value to null.

secrets

type

dict

default
xelon-csi:
  stringData:
    api-token: ?{vaultkv:${cluster:tenant}/${cluster:name}/xelon/csi-driver/api-token}
    client-id: ?{vaultkv:${cluster:tenant}/${cluster:name}/xelon/csi-driver/client-id}

This parameter allows users to configure arbitrary secrets for the component. The component will create a secret for each key in the array, except for keys with null values.

The component expects that each value is a valid partial Secret resource.