From 461fca59275091550134bd4fac27b0c8d2281370 Mon Sep 17 00:00:00 2001 From: maximopalopoli Date: Fri, 9 Jan 2026 11:52:43 -0300 Subject: [PATCH 1/2] feat(aggregation-mode): integrate auto failover to the docker compose --- aggregation_mode/docker-compose.yaml | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/aggregation_mode/docker-compose.yaml b/aggregation_mode/docker-compose.yaml index 289184681..703b8f79b 100644 --- a/aggregation_mode/docker-compose.yaml +++ b/aggregation_mode/docker-compose.yaml @@ -1,3 +1,20 @@ +# Shared base configuration for Postgres nodes. Avoids duplication and keeps all nodes consistent. +# Note: This is a template, not a service. +x-node: &node + image: citusdata/pg_auto_failover:v2.0-pg14 + volumes: + - /var/lib/postgres + environment: + PGDATA: /var/lib/postgres/pgaf + PGUSER: tutorial + PGDATABASE: tutorial + PG_AUTOCTL_HBA_LAN: true + PG_AUTOCTL_AUTH_METHOD: "trust" + PG_AUTOCTL_SSL_SELF_SIGNED: true + PG_AUTOCTL_MONITOR: "postgresql://autoctl_node@monitor/pg_auto_failover" + expose: + - 5432 + volumes: postgres_data: @@ -31,3 +48,39 @@ services: - 8090:8080 networks: - aligned-network + + monitor: + image: citusdata/pg_auto_failover:v2.0-pg14 + volumes: + - /var/lib/postgres + environment: + PGDATA: /var/lib/postgres/pgaf + PG_AUTOCTL_SSL_SELF_SIGNED: true + ports: + - "5436:5432" + command: | + pg_autoctl create monitor --auth trust --run + + node1: + <<: *node + hostname: node1 + command: > + pg_autoctl create postgres + --name node1 + --ssl-self-signed + --ssl-mode require + --auth trust + --pg-hba-lan + --run + + node2: + <<: *node + hostname: node2 + command: > + pg_autoctl create postgres + --name node2 + --ssl-self-signed + --ssl-mode require + --auth trust + --pg-hba-lan + --run From 48af2116a608366f5ab4ded30be73f6a84b1ebd8 Mon Sep 17 00:00:00 2001 From: maximopalopoli Date: Mon, 12 Jan 2026 10:35:35 -0300 Subject: [PATCH 2/2] use internal network to connect grafana with db monitor in composes --- aggregation_mode/docker-compose.yaml | 4 ++++ metrics-docker-compose.yaml | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/aggregation_mode/docker-compose.yaml b/aggregation_mode/docker-compose.yaml index b71a9ad56..45e11ce8a 100644 --- a/aggregation_mode/docker-compose.yaml +++ b/aggregation_mode/docker-compose.yaml @@ -14,6 +14,8 @@ x-node: &node PG_AUTOCTL_MONITOR: "postgresql://autoctl_node@monitor/pg_auto_failover" expose: - 5432 + networks: + - aligned-network volumes: postgres_data: @@ -60,6 +62,8 @@ services: - "5436:5432" command: | pg_autoctl create monitor --auth trust --run + networks: + - aligned-network node1: <<: *node diff --git a/metrics-docker-compose.yaml b/metrics-docker-compose.yaml index 7e05d902b..a39d37434 100644 --- a/metrics-docker-compose.yaml +++ b/metrics-docker-compose.yaml @@ -28,8 +28,8 @@ services: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - PROMETHEUS_URL=http://prometheus:9090 - - MONITOR_DB_HOST=host.docker.internal - - MONITOR_DB_PORT=5436 + - MONITOR_DB_HOST=monitor + - MONITOR_DB_PORT=5432 - MONITOR_DB_DB=pg_auto_failover - MONITOR_DB_USER=autoctl_node extra_hosts: