democratic-csi/examples/proxy.yaml

50 lines
2.0 KiB
YAML

driver: proxy
proxy:
# path to folder where real driver config files are located
# this value is required for the proxy to work
configFolder: /mnt/connections/
# connections that are no longer used are eventually deleted
# when timeout is 0, caching will be completely disabled, each request will create a new driver
# when timeout is -1, cache timeout is disabled, drivers are cached forever
# default: 60
cacheTimeoutMinutes: 60
nodeTopology:
# allowed values:
# node - each node has its own storage
# cluster - the whole cluster has unified storage (usually the case with external NAS systems)
# custom - there are several custom zones with internal storage
# default: cluster
type: cluster
# topology reported by CSI driver is reflected in k8s as node labels.
# you may want to set unique prefixes on different drivers to avoid collisions
prefix: org.democratic-csi.topology
customRules:
# resulting topology looks like this:
# ${ prefix }/${ customRules[*].keySuffix } == ${ customRules[*].resultTemplate }
- keySuffix: zone
# possible sources:
# - nodeName
# - hostname
# - env
# - file
source: nodeName
# envName is used only when "source: env"
envName: DEMOCRATIC_CSI_REGION
# file is used only when "source: file"
# file must be mounted into container filesystem manually
file: /mnt/topology/region
# match can:
# - be exact: "matchRegexp: my-node-1.domain" (though technically this is still regex)
# - use regex: "matchRegexp: .*\.domain"
# - use capture groups: "matchRegexp: .*\.(zone-.*)\.domain"
# Partial matches are not allowed: driver implicitly appends ^ and $ to regex.
matchRegexp: my-node-1.domain
# result template can:
# - be exact: zone-1
# - use values from capture groups: zone-${match:1}
# - - ${match:0} contains the whole input
# - - ${match:1} contains the first capture group, and so on
resultTemplate: zone1