Added Nomad example with routes config (#413)
This commit is contained in:
@@ -0,0 +1,91 @@
|
|||||||
|
job "mc-router" {
|
||||||
|
datacenters = ["dc1"]
|
||||||
|
type = "service"
|
||||||
|
|
||||||
|
update {
|
||||||
|
max_parallel = 1
|
||||||
|
min_healthy_time = "10s"
|
||||||
|
healthy_deadline = "5m"
|
||||||
|
progress_deadline = "10m"
|
||||||
|
auto_revert = false
|
||||||
|
canary = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
migrate {
|
||||||
|
max_parallel = 1
|
||||||
|
health_check = "checks"
|
||||||
|
min_healthy_time = "10s"
|
||||||
|
healthy_deadline = "5m"
|
||||||
|
}
|
||||||
|
|
||||||
|
group "mc-router" {
|
||||||
|
count = 1
|
||||||
|
|
||||||
|
network {
|
||||||
|
port "minecraft" {
|
||||||
|
static = 25565
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service {
|
||||||
|
name = "mc-router"
|
||||||
|
tags = ["global", "minecraft", "tcp"]
|
||||||
|
port = "minecraft"
|
||||||
|
provider = "consul"
|
||||||
|
|
||||||
|
check {
|
||||||
|
name = "alive"
|
||||||
|
type = "tcp"
|
||||||
|
port = "minecraft"
|
||||||
|
interval = "10s"
|
||||||
|
timeout = "2s"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
restart {
|
||||||
|
attempts = 2
|
||||||
|
interval = "30m"
|
||||||
|
delay = "15s"
|
||||||
|
mode = "delay"
|
||||||
|
}
|
||||||
|
|
||||||
|
task "mc-router" {
|
||||||
|
driver = "docker"
|
||||||
|
|
||||||
|
config {
|
||||||
|
image = "itzg/mc-router"
|
||||||
|
ports = ["minecraft"]
|
||||||
|
auth_soft_fail = true
|
||||||
|
}
|
||||||
|
|
||||||
|
resources {
|
||||||
|
cpu = 2000 # 2000Mhz
|
||||||
|
memory = 256 # 256MB
|
||||||
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
data = <<EOF
|
||||||
|
{
|
||||||
|
"mappings": {
|
||||||
|
{{- $first := true -}}
|
||||||
|
{{- range service "mc-router-register.minecraft" }}
|
||||||
|
{{- if not $first }},{{ end }}
|
||||||
|
"{{ .ServiceMeta.externalServerName }}": "{{ .Address }}:{{ .Port }}"
|
||||||
|
{{- $first = false }}
|
||||||
|
{{- end }}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
destination = "local/routes.json"
|
||||||
|
change_mode = "signal"
|
||||||
|
change_signal = "SIGHUP"
|
||||||
|
}
|
||||||
|
|
||||||
|
env {
|
||||||
|
ROUTES_CONFIG = "local/routes.json"
|
||||||
|
DEBUG = "true"
|
||||||
|
TRACE = "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user