# 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.

## `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``````