-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo-webapp.nomad
72 lines (60 loc) · 1.37 KB
/
demo-webapp.nomad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
job "demo-webapp" {
datacenters = ["europe-west1-c", "europe-west1-d"]
group "demo" {
count = 1
scaling {
enabled = true
min = 1
max = 4
policy {
evaluation_interval = "2s"
cooldown = "5s"
check "cpu_usage" {
source = "prometheus"
query = "avg(nomad_client_allocs_cpu_total_percent{task='server'})"
strategy "target-value" {
target = 25
}
}
}
}
network {
port "http" {
to = 9090
}
}
service {
name = "demo-webapp"
port = "http"
check {
type = "http"
path = "/actuator/health"
interval = "2s"
timeout = "1s"
}
}
task "server" {
env {
PORT = "${NOMAD_PORT_http}"
NODE_IP = "${NOMAD_IP_http}"
}
resources {
cpu = 200
memory = 128
}
template {
data = <<EOH
SPRING_DATA_REDIS_HOST = "{{ range service "global-redis-check" }}{{ .Address }}{{ end }}"
SPRING_DATA_REDIS_PORT = "{{ range service "global-redis-check" }}{{ .Port }}{{ end }}"
EOH
destination = "redis-server.env"
env = true
}
driver = "docker"
config {
image = "kmandalas/urlshortener:latest"
ports = ["http"]
}
}
}
}