diff --git a/aggregation_mode/docker-compose.yaml b/aggregation_mode/docker-compose.yaml index 41cfe690f..45e11ce8a 100644 --- a/aggregation_mode/docker-compose.yaml +++ b/aggregation_mode/docker-compose.yaml @@ -1,3 +1,22 @@ +# 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 + networks: + - aligned-network + volumes: postgres_data: @@ -31,3 +50,41 @@ 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 + networks: + - aligned-network + + 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 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: