diff --git a/example/manage.nomad.hcl b/example/manage.nomad.hcl index 2077108..5d663fb 100644 --- a/example/manage.nomad.hcl +++ b/example/manage.nomad.hcl @@ -11,6 +11,8 @@ job "postgres-manage" { region = "global" + + group "manage" { network { mode = "bridge" diff --git a/example/postgres.nomad.hcl b/example/postgres.nomad.hcl index 4d3ab7e..9f836b9 100644 --- a/example/postgres.nomad.hcl +++ b/example/postgres.nomad.hcl @@ -6,6 +6,13 @@ job "postgres" { priority = 80 + constraint { + operator = "distinct_hosts" + value = "true" + } + + + group "server" { ephemeral_disk { @@ -13,14 +20,6 @@ job "postgres" { size = 101 } - - - constraint { - operator = "distinct_hosts" - value = "true" - } - - count = "1" network { mode = "bridge" @@ -43,8 +42,13 @@ job "postgres" { name = "postgres" port = 5432 meta { - alloc = "${NOMAD_ALLOC_INDEX}" - job = "${NOMAD_JOB_NAME}" + alloc = "${NOMAD_ALLOC_INDEX}" + datacenter = "${NOMAD_DC}" + group = "${NOMAD_GROUP_NAME}" + job = "${NOMAD_JOB_NAME}" + namespace = "${NOMAD_NAMESPACE}" + node = "${node.unique.name}" + region = "${NOMAD_REGION}" } connect { diff --git a/example/prep.d/10-rand-pwd.sh b/example/prep.d/10-postgres-rand-pwd.sh similarity index 100% rename from example/prep.d/10-rand-pwd.sh rename to example/prep.d/10-postgres-rand-pwd.sh diff --git a/example/upgrade.nomad.hcl b/example/upgrade.nomad.hcl index 72fd168..1218d3a 100644 --- a/example/upgrade.nomad.hcl +++ b/example/upgrade.nomad.hcl @@ -5,6 +5,8 @@ job "postgres-upgrade" { region = "global" + + type = "batch" meta { diff --git a/postgres.nomad.hcl b/postgres.nomad.hcl index 0454586..9cdce85 100644 --- a/postgres.nomad.hcl +++ b/postgres.nomad.hcl @@ -11,12 +11,10 @@ job "[[ .instance ]]" { size = 101 } -[[ template "common/constraints" $c ]] - count = "[[ $c.recovery | ternary 1 $c.count ]]" network { mode = "bridge" -[[- if $c.prometheus.enabled ]] +[[- if conv.ToBool $c.prometheus.enabled ]] port "metrics" {} port "patroni-metrics" {} [[- end ]] @@ -92,7 +90,7 @@ job "[[ .instance ]]" { enable_tag_override = true } - [[- if $c.prometheus.enabled ]] + [[- if conv.ToBool $c.prometheus.enabled ]] # This service is just used to expose patroni metrics service { name = "[[ .instance ]]-patroni[[ $c.consul.suffix ]]" @@ -321,7 +319,7 @@ _EOT } [[- end ]] -[[- if and $c.prometheus.enabled (not .pg.server.recovery) ]] +[[- if and (conv.ToBool $c.prometheus.enabled) (not .pg.server.recovery) ]] [[ $e := merge .pg.exporter .pg . ]] [[ template "common/task.metrics_proxy" merge (dict "prometheus" (dict "additional_proxy_conf" (tmpl.Exec "postgres/nginx_patroni.conf.tpl" $e))) $c ]] diff --git a/prep.d/10-rand-pwd.sh b/prep.d/10-postgres-rand-pwd.sh similarity index 100% rename from prep.d/10-rand-pwd.sh rename to prep.d/10-postgres-rand-pwd.sh diff --git a/variables.yml b/variables.yml index 898bb79..e593a86 100644 --- a/variables.yml +++ b/variables.yml @@ -63,7 +63,7 @@ pg: value: true # In recovery mode, neither patroni nor postgres will be started. The container will start and wait for manual recovery - recovery: False + recovery: false # Recovery configuration to pass to patroni config recovery_conf: {} @@ -146,6 +146,7 @@ pg: - postgres prometheus: + enabled: '[[ .prometheus.available ]]' metrics_url: http://localhost:9187 # Backup service uses pgbackrest to perform @@ -158,7 +159,7 @@ pg: # pgbackrest based backups pgbackrest: - enabled: False + enabled: false # Schedules for backups. Empty string to disable cron: @@ -168,7 +169,7 @@ pg: # pg_dump based backups dumps: - enabled: False + enabled: false format: custom compression: 6 cron: 39 03 * * * @@ -180,7 +181,7 @@ pg: memory_max: 256 # Postgres exporter for prometheus - # Only used if prometheus.enabled is True + # Only used if prometheus.enabled is true exporter: # Image to use image: quay.io/prometheuscommunity/postgres-exporter:latest