71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
| job "democratic-csi-nfs-controller" {
 | |
|   datacenters = ["dc1"]
 | |
| 
 | |
|   group "controller" {
 | |
|     task "plugin" {
 | |
|       driver = "docker"
 | |
| 
 | |
|       config {
 | |
|         image = "docker.io/democraticcsi/democratic-csi:${var.version}"
 | |
| 
 | |
|         entrypoint = [
 | |
|           "${NOMAD_TASK_DIR}/init.sh"
 | |
|         ]
 | |
| 
 | |
|         network_mode = "host"
 | |
|         privileged = true
 | |
|       }
 | |
| 
 | |
|       env {
 | |
|         NFS_SERVER = "<nfs server>"
 | |
|         NFS_SHARE  = "<nfs share>"
 | |
|       }
 | |
| 
 | |
|       # The nfs share is mounted in the controller so it can create the volumes
 | |
|       # sub directories inside the nfs share
 | |
|       template {
 | |
|         destination = "${NOMAD_TASK_DIR}/init.sh"
 | |
|         perms = "755"
 | |
| 
 | |
|         data = <<-EOT
 | |
|           #!/bin/sh
 | |
| 
 | |
|           if [ ! -d /storage ]; then
 | |
|             mkdir -p /storage
 | |
|           fi
 | |
| 
 | |
|           mount "{{ env "NFS_SERVER" }}:{{ env "NFS_SHARE" }}" /storage
 | |
| 
 | |
|           exec ./bin/democratic-csi \
 | |
|             --csi-version=1.5.0 \
 | |
|             --csi-name=org.democratic-csi.nfs \
 | |
|             --driver-config-file={{ env "NOMAD_TASK_DIR" }}/driver-config-file.yaml \
 | |
|             --log-level=info \
 | |
|             --csi-mode=controller \
 | |
|             --server-socket=/csi/csi.sock
 | |
|         EOT
 | |
|       }
 | |
| 
 | |
|       template {
 | |
|         destination = "${NOMAD_TASK_DIR}/driver-config-file.yaml"
 | |
| 
 | |
|         data = <<EOH
 | |
| config
 | |
| EOH
 | |
|       }
 | |
| 
 | |
|       csi_plugin {
 | |
|         # must match --csi-name arg
 | |
|         id        = "org.democratic-csi.nfs"
 | |
|         type      = "controller"
 | |
|         mount_dir = "/csi"
 | |
|       }
 | |
| 
 | |
|       resources {
 | |
|         cpu    = 500
 | |
|         memory = 256
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 |