job "csi-nfs-controller" { datacenters = ["dc1"] type = "service" namespace = "default" # Pin controller to int — NFS server lives here constraint { attribute = "${node.unique.name}" value = "int" } group "controller" { count = 1 # Pinned to int, so an int reboot takes the controller down with it. # Without these the allocation is marked Lost and never returns. restart { attempts = 5 interval = "10m" delay = "30s" mode = "delay" } reschedule { unlimited = true delay = "30s" delay_function = "exponential" max_delay = "5m" } task "plugin" { driver = "docker" config { # Pinned by digest rather than :latest — see node.nomad for why. image = "democraticcsi/democratic-csi@sha256:944d0e65077efbd9c1fdf23997eec8fac4b4bfb7c3de400f63e33a0a849c5ced" command = "/bin/democratic-csi" args = [ "--csi-version=1.5.0", "--csi-name=org.democratic-csi.nfs", "--driver-config-file=${NOMAD_TASK_DIR}/driver-config-file.yaml", "--log-level=info", "--csi-mode=controller", "--server-socket=${CSI_ENDPOINT}", ] volumes = [ "/opt/csi-volumes:/opt/csi-volumes", ] privileged = true } csi_plugin { id = "org.democratic-csi.nfs" type = "controller" mount_dir = "/csi" } template { data = <