105 lines
3.6 KiB
YAML
105 lines
3.6 KiB
YAML
driver: freenas-nvmeof
|
|
instance_id:
|
|
httpConnection:
|
|
protocol: http
|
|
host: server address
|
|
port: 80
|
|
# use only 1 of apiKey or username/password
|
|
# if both are present, apiKey is preferred
|
|
# apiKey is only available starting in TrueNAS-12
|
|
#apiKey:
|
|
username: root
|
|
password:
|
|
allowInsecure: true
|
|
# use apiVersion 2 for TrueNAS-12 and up (will work on 11.x in some scenarios as well)
|
|
# leave unset for auto-detection
|
|
#apiVersion: 2
|
|
sshConnection:
|
|
host: server address
|
|
port: 22
|
|
username: root
|
|
# use either password or key
|
|
password: ""
|
|
privateKey: |
|
|
-----BEGIN RSA PRIVATE KEY-----
|
|
...
|
|
-----END RSA PRIVATE KEY-----
|
|
|
|
zfs:
|
|
# can be used to override defaults if necessary
|
|
# the example below is useful for TrueNAS 12
|
|
#cli:
|
|
# sudoEnabled: true
|
|
#
|
|
# leave paths unset for auto-detection
|
|
# paths:
|
|
# zfs: /usr/local/sbin/zfs
|
|
# zpool: /usr/local/sbin/zpool
|
|
# sudo: /usr/local/bin/sudo
|
|
# chroot: /usr/sbin/chroot
|
|
|
|
# can be used to set arbitrary values on the dataset/zvol
|
|
# can use handlebars templates with the parameters from the storage class/CO
|
|
#datasetProperties:
|
|
# "org.freenas:description": "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}/{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
|
# "org.freenas:test": "{{ parameters.foo }}"
|
|
# "org.freenas:test2": "some value"
|
|
|
|
# total volume name (zvol/<datasetParentName>/<pvc name>) length cannot exceed 63 chars
|
|
# https://www.ixsystems.com/documentation/freenas/11.2-U5/storage.html#zfs-zvol-config-opts-tab
|
|
# standard volume naming overhead is 46 chars
|
|
# datasetParentName should therefore be 17 chars or less when using TrueNAS 12 or below
|
|
datasetParentName: tank/k8s/b/vols
|
|
# do NOT make datasetParentName and detachedSnapshotsDatasetParentName overlap
|
|
# they may be siblings, but neither should be nested in the other
|
|
# do NOT comment this option out even if you don't plan to use snapshots, just leave it with dummy value
|
|
detachedSnapshotsDatasetParentName: tanks/k8s/b/snaps
|
|
# "" (inherit), lz4, gzip-9, etc
|
|
zvolCompression:
|
|
# "" (inherit), on, off, verify
|
|
zvolDedup:
|
|
zvolEnableReservation: false
|
|
# 512, 1K, 2K, 4K, 8K, 16K, 64K, 128K default is 16K
|
|
zvolBlocksize:
|
|
|
|
nvmeof:
|
|
# these are for the node/client aspect
|
|
transports:
|
|
- tcp://server:port
|
|
#- "tcp://127.0.0.1:4420?host-iface=eth0"
|
|
#- "tcp://[2001:123:456::1]:4420"
|
|
#- "rdma://127.0.0.1:4420"
|
|
#- "fc://[nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6]"
|
|
|
|
# MUST ensure uniqueness
|
|
# full iqn limit is 223 bytes, plan accordingly
|
|
# default is "{{ name }}"
|
|
#nameTemplate: "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}-{{ parameters.[csi.storage.k8s.io/pvc/name] }}"
|
|
namePrefix: csi-
|
|
nameSuffix: "-clustera"
|
|
|
|
# port IDs to associate to the newly created subsystem
|
|
# the ports should be created as a pre-req to using the driver, democratic-csi does NOT manage the ports
|
|
#
|
|
# http://<IP>/api/docs/current/api_methods_nvmet.port.create.html
|
|
#
|
|
# curl -v 'http://username:password@IP/api/v2.0/nvmet/port'
|
|
#
|
|
# curl -v 'http://username:password@IP/api/v2.0/nvmet/port' \
|
|
# --header "Content-Type: application/json" \
|
|
# --request POST \
|
|
# --data '{"addr_trtype": "TCP","addr_trsvcid": 4420,"addr_traddr": "<YOUR NAS IP HERE>","addr_adrfam": "IPV4"}'
|
|
ports:
|
|
- <your port ID here>
|
|
|
|
# http://<ip>/api/docs/current/api_methods_nvmet.subsys.create.html
|
|
subsystemTemplate:
|
|
pi_enable: true
|
|
qid_max:
|
|
ieee_oui:
|
|
ana:
|
|
|
|
# http://<ip>/api/docs/current/api_methods_nvmet.namespace.create.html
|
|
# currently none of the fields can be tweaked so leave empty for now
|
|
namespaceTemplate:
|