57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HCL
		
	
	
	
job "consul-cluster" {
 | 
						|
  datacenters = ["dc1"]
 | 
						|
  type = "service"
 | 
						|
 | 
						|
  group "consul-servers" {
 | 
						|
    count = 3
 | 
						|
 | 
						|
    constraint {
 | 
						|
      attribute = "${node.unique.name}"
 | 
						|
      operator  = "regexp"
 | 
						|
      value     = "(master|ash3c|hcp)"
 | 
						|
    }
 | 
						|
 | 
						|
    task "consul" {
 | 
						|
      driver = "podman"
 | 
						|
 | 
						|
      config {
 | 
						|
        image = "hashicorp/consul:latest"
 | 
						|
        ports = ["server", "serf_lan", "serf_wan", "ui"]
 | 
						|
        args = [
 | 
						|
          "agent",
 | 
						|
          "-server",
 | 
						|
          "-bootstrap-expect=3",
 | 
						|
          "-data-dir=/consul/data",
 | 
						|
          "-ui",
 | 
						|
          "-client=0.0.0.0",
 | 
						|
          "-bind={{ env `NOMAD_IP_server` }}",
 | 
						|
          "-retry-join=100.117.106.136",
 | 
						|
          "-retry-join=100.116.80.94",
 | 
						|
          "-retry-join=100.76.13.187"
 | 
						|
        ]
 | 
						|
      }
 | 
						|
 | 
						|
      volume_mount {
 | 
						|
        volume      = "consul-data"
 | 
						|
        destination = "/consul/data"
 | 
						|
        read_only   = false
 | 
						|
      }
 | 
						|
 | 
						|
      resources {
 | 
						|
        network {
 | 
						|
          mbits = 10
 | 
						|
          port "server" { static = 8300 }
 | 
						|
          port "serf_lan" { static = 8301 }
 | 
						|
          port "serf_wan" { static = 8302 }
 | 
						|
          port "ui" { static = 8500 }
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    volume "consul-data" {
 | 
						|
      type      = "host"
 | 
						|
      read_only = false
 | 
						|
      source    = "consul-data"
 | 
						|
    }
 | 
						|
  }
 | 
						|
} |