Parameters

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

namespace

type

string

default

kube-system

The namespace in which to deploy this component.

defaultMountOptions

type

array

default

[ 'dir_mode=0777', 'file_mode=0777', 'vers=3.0' ]

Mount options to use by default.

helmValues

type

dict

default

See class/defaults.yml

Values passed to Helm. See Chart README for a list of possible parameters.

volumes

type

array

default

[]

List of volumes to create. Each volume supports the following attributes:

name, namespace

type

string

mandatory

true

The name and namespace of the Volume

shareHost, shareName

type

string

mandatory

true

The SMB host name (FQDN or IP address) and share name to use.

username, password

type

string

mandatory

true

Vault reference to the username. Usually in the form of:

username: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-<identifier>/username}'
password: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-<identifier>/password}'

Adjust theidentifier to your needs. If multiple volumes in the same namespace share the same credentials, it makes sense to use the namespace, in other cases the volume name or something completely different might be more appropriate.

createClaim

type

boolean

default

false

Whether or not the PVC object should also be managed. Its name will be set to the name parameter.

pvPatch, pvcPatch

type

dict

default

{}

Optional patches for the PV or PVC resources that are being created. Patches will be applied according to RFC7396.

Note that while this could be used to overwrite PV capacity, the change would be purely cosmetic. Volume capacity is determined only by the backing SMB share.

Example

parameters:
  csi_driver_smb:
    namespace: example-namespace

    # Will be merged with defaults from component. Use ~defaultMountOptions to reset
    defaultMountOptions:
      - nobrl

    volumes:
      - name: my_share
        namespace: my-test-app
        shareHost: smb_host.example.tld
        shareName: my_share
        username: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-my-test-app/username}'
        password: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-my-test-app/password}'
      - name: overwrite
        namespace: my-test-app
        shareHost: smb_host.example.tld
        shareName: my_share
        username: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-my-test-app/username}'
        password: '?{vaultkv:${cluster:tenant}/${cluster:name}/smb-my-test-app/password}'
        createClaim: true
        pvOverrides:
          spec:
            capacity:
              storage: 300Gi