job "mysql" { datacenters = ["alo"] group "db" { network { port "db" { static = 3306 } port "exporter" { } } task "mysqld" { driver = "docker" config { image = "mysql:8.2" ports = ["db"] volumes = [ "/data/compute/appdata/mysql:/var/lib/mysql", "/data/compute/db-backups/mysql:/backup", ] } env { MYSQL_ROOT_PASSWORD = "{{ with nomadVar \"nomad/jobs/mysql\" }}{{ .root_password }}{{ end }}" } service { name = "mysql" port = "db" check { type = "tcp" port = "db" interval = "30s" timeout = "2s" } } resources { cpu = 3000 memory = 1024 } } task "exporter" { driver = "docker" config { image = "prom/mysqld-exporter" ports = ["exporter"] args = [ "--mysqld.address=mysql.service.consul:3306", "--mysqld.username=exporter:Veeng0Yei5haesheagai", "--web.listen-address=0.0.0.0:${NOMAD_PORT_exporter}", ] } service { name = "mysql-exporter" port = "exporter" tags = ["metrics"] } } } }