81 lines
1.5 KiB
HCL
81 lines
1.5 KiB
HCL
job "consul-cluster" {
|
|
datacenters = ["dc1"]
|
|
type = "service"
|
|
|
|
constraint {
|
|
attribute = "${node.unique.name}"
|
|
operator = "regexp"
|
|
value = "^(master|ash3c|semaphore)$"
|
|
}
|
|
|
|
group "consul" {
|
|
count = 3
|
|
|
|
network {
|
|
port "http" {
|
|
static = 8500
|
|
}
|
|
port "serf_lan" {
|
|
static = 8301
|
|
}
|
|
port "serf_wan" {
|
|
static = 8302
|
|
}
|
|
port "server" {
|
|
static = 8300
|
|
}
|
|
port "dns" {
|
|
static = 8600
|
|
}
|
|
}
|
|
|
|
service {
|
|
name = "consul"
|
|
port = "http"
|
|
|
|
check {
|
|
type = "http"
|
|
path = "/v1/status/leader"
|
|
interval = "10s"
|
|
timeout = "2s"
|
|
}
|
|
}
|
|
|
|
task "consul" {
|
|
driver = "podman"
|
|
|
|
config {
|
|
image = "consul:1.15.4"
|
|
network_mode = "host"
|
|
|
|
args = [
|
|
"agent",
|
|
"-server",
|
|
"-bootstrap-expect=3",
|
|
"-ui",
|
|
"-data-dir=/consul/data",
|
|
"-config-dir=/consul/config",
|
|
"-bind={{ env \"attr.unique.network.ip-address\" }}",
|
|
"-client=0.0.0.0",
|
|
"-retry-join=100.117.106.136",
|
|
"-retry-join=100.116.80.94",
|
|
"-retry-join=100.116.158.95"
|
|
]
|
|
|
|
volumes = [
|
|
"consul-data:/consul/data",
|
|
"consul-config:/consul/config"
|
|
]
|
|
}
|
|
|
|
resources {
|
|
cpu = 500
|
|
memory = 512
|
|
}
|
|
|
|
env {
|
|
CONSUL_BIND_INTERFACE = "tailscale0"
|
|
}
|
|
}
|
|
}
|
|
} |