Skip to content
Snippets Groups Projects
Commit 87fa573d authored by Jan David Mol's avatar Jan David Mol
Browse files

add oncall

parent 44e40d7c
No related branches found
No related tags found
1 merge request!934Draft: Add grafana oncall
...@@ -23,6 +23,10 @@ monitoring: ...@@ -23,6 +23,10 @@ monitoring:
version: latest version: latest
prometheus: prometheus:
version: latest version: latest
redis:
version: 7.0.5
oncall:
version: latest
object_storage: object_storage:
minio: minio:
......
...@@ -65,6 +65,25 @@ job "monitoring" { ...@@ -65,6 +65,25 @@ job "monitoring" {
} }
} }
service {
tags = ["scrape"]
name = "oncall"
port = "8080"
address_mode = "alloc"
}
service {
name = "redis"
port = "6379"
address_mode = "alloc"
}
volume "redis" {
type = "host"
read_only = false
source = "monitoring-redis-data"
}
task "wait-for-db" { task "wait-for-db" {
lifecycle { lifecycle {
hook = "prestart" hook = "prestart"
...@@ -164,6 +183,114 @@ postgres.service.consul:5432:grafana:postgres:password ...@@ -164,6 +183,114 @@ postgres.service.consul:5432:grafana:postgres:password
memory_max = 8192 memory_max = 8192
} }
} }
task "oncall" {
driver = "docker"
config {
image = "[[.registry.astron.url]]/oncall:[[.monitoring.oncall.version]]"
args = [
"sh",
"-c",
"uwsgi --ini uwsgi.ini"
]
}
env {
BROKER_TYPE = "redis"
REDIS_URI = "redis://redis:6379/0"
DJANGO_SETTINGS_MODULE = "settings.hobby"
GRAFANA_API_URL = "http://${NOMAD_ADDR_grafana}/grafana"
SECRET_KEY = "my-little-secret-key-passphrase-thingy"
BASE_URL = "http://${NOMAD_ADDR_oncall}"
DATABASE_TYPE = "postgres"
DATABASE_NAME = "oncall"
DATABASE_USER = "postgres"
DATABASE_PASSWORD = "password"
DATABASE_HOST = "${NOMAD_HOST_postgres}"
DATABASE_HOST = "${NOMAD_PORT_postgres}"
}
}
task "celery" {
driver = "docker"
config {
image = "[[.registry.astron.url]]/oncall:[[.monitoring.oncall.version]]"
args = [
"sh",
"-c",
"./celery_with_exporter.sh"
]
}
volume_mount {
volume = "oncall"
destination = "/var/lib/oncall"
read_only = false
}
env {
CELERY_WORKER_QUEUE = "default,critical,long,slack,telegram,webhook,retry,celery,grafana"
CELERY_WORKER_CONCURRENCY = "1"
CELERY_WORKER_MAX_TASKS_PER_CHILD = "100"
CELERY_WORKER_SHUTDOWN_INTERVAL = "65m"
CELERY_WORKER_BEAT_ENABLED = "True"
}
}
task "redis" {
lifecycle {
hook = "prestart"
sidecar = false
}
driver = "docker"
config {
image = "[[.registry.astron.url]]/redis:[[.monitoring.redis.version]]"
}
volume_mount {
volume = "redis"
destination = "/data"
read_only = false
}
}
task "oncall-db-migration" {
lifecycle {
hook = "prestart"
sidecar = false
}
driver = "docker"
config {
image = "[[.registry.astron.url]]/oncall:[[.monitoring.oncall.version]]"
args = [
"python",
"manage.py",
"migrate",
"--noinput"
]
}
env {
BROKER_TYPE = "redis"
REDIS_URI = "redis://redis:6379/0"
DJANGO_SETTINGS_MODULE = "settings.hobby"
SECRET_KEY = "my-little-secret-key-passphrase-thingy"
DATABASE_TYPE = "postgres"
DATABASE_NAME = "oncall"
DATABASE_USER = "postgres"
DATABASE_PASSWORD = "password"
DATABASE_HOST = "${NOMAD_HOST_postgres}"
DATABASE_HOST = "${NOMAD_PORT_postgres}"
}
}
} }
group "prometheus" { group "prometheus" {
......
...@@ -14,6 +14,10 @@ ...@@ -14,6 +14,10 @@
volume_name: 'docker-data' volume_name: 'docker-data'
path: '/var/lib/docker' path: '/var/lib/docker'
size: 100g size: 100g
- role: volume
volume_name: 'redis-data'
path: '/var/lib/redis-data'
size: 100g
- role: volume - role: volume
volume_name: 'station-data' volume_name: 'station-data'
path: '/var/lib/station-data' path: '/var/lib/station-data'
......
...@@ -55,6 +55,10 @@ client { ...@@ -55,6 +55,10 @@ client {
path = "/var/lib/station-data/monitoring-prometheus-data" path = "/var/lib/station-data/monitoring-prometheus-data"
} }
host_volume "monitoring-redis-data" {
path = "/var/lib/station-data/monitoring-redis-data"
}
host_volume "tango-database" { host_volume "tango-database" {
path = "/var/lib/station-data/tango-database" path = "/var/lib/station-data/tango-database"
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment