mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Refactor docker-compose.yml for better compatibility with new version (#1641)
The newest versions of docker-compose want to have some values double-quoted in the env file while old versions failing to process such files. The solution is simple, move some of the parameters to the `docker-compose.yml` and rely on anchors for inheritance. Since the main idea behind env files was to keep "secret" information off the main YAML we also get rid of any non-secret stuff, mainly located in the etcd.env.
This commit is contained in:
+49
-29
@@ -9,53 +9,39 @@ services:
|
|||||||
etcd1:
|
etcd1:
|
||||||
image: patroni
|
image: patroni
|
||||||
networks: [ demo ]
|
networks: [ demo ]
|
||||||
env_file: docker/etcd.env
|
|
||||||
container_name: demo-etcd1
|
container_name: demo-etcd1
|
||||||
hostname: etcd1
|
hostname: etcd1
|
||||||
command: etcd -name etcd1 -initial-advertise-peer-urls http://etcd1:2380
|
command: etcd -name etcd1 -initial-advertise-peer-urls http://etcd1:2380
|
||||||
|
environment: &etcd_env
|
||||||
|
ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
|
||||||
|
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
|
||||||
|
ETCD_INITIAL_CLUSTER: etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380
|
||||||
|
ETCD_INITIAL_CLUSTER_STATE: new
|
||||||
|
ETCD_INITIAL_CLUSTER_TOKEN: tutorial
|
||||||
|
ETCD_NAME: etcd1
|
||||||
|
ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd1:2380
|
||||||
|
|
||||||
etcd2:
|
etcd2:
|
||||||
image: patroni
|
image: patroni
|
||||||
networks: [ demo ]
|
networks: [ demo ]
|
||||||
env_file: docker/etcd.env
|
|
||||||
container_name: demo-etcd2
|
container_name: demo-etcd2
|
||||||
hostname: etcd2
|
hostname: etcd2
|
||||||
command: etcd -name etcd2 -initial-advertise-peer-urls http://etcd2:2380
|
command: etcd -name etcd2 -initial-advertise-peer-urls http://etcd2:2380
|
||||||
|
environment:
|
||||||
|
<<: *etcd_env
|
||||||
|
ETCD_NAME: etcd2
|
||||||
|
ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd2:2380
|
||||||
|
|
||||||
etcd3:
|
etcd3:
|
||||||
image: patroni
|
image: patroni
|
||||||
networks: [ demo ]
|
networks: [ demo ]
|
||||||
env_file: docker/etcd.env
|
|
||||||
container_name: demo-etcd3
|
container_name: demo-etcd3
|
||||||
hostname: etcd3
|
hostname: etcd3
|
||||||
command: etcd -name etcd3 -initial-advertise-peer-urls http://etcd3:2380
|
command: etcd -name etcd3 -initial-advertise-peer-urls http://etcd3:2380
|
||||||
|
|
||||||
patroni1:
|
|
||||||
image: patroni
|
|
||||||
networks: [ demo ]
|
|
||||||
env_file: docker/patroni.env
|
|
||||||
hostname: patroni1
|
|
||||||
container_name: demo-patroni1
|
|
||||||
environment:
|
environment:
|
||||||
PATRONI_NAME: patroni1
|
<<: *etcd_env
|
||||||
|
ETCD_NAME: etcd3
|
||||||
patroni2:
|
ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd3:2380
|
||||||
image: patroni
|
|
||||||
networks: [ demo ]
|
|
||||||
env_file: docker/patroni.env
|
|
||||||
hostname: patroni2
|
|
||||||
container_name: demo-patroni2
|
|
||||||
environment:
|
|
||||||
PATRONI_NAME: patroni2
|
|
||||||
|
|
||||||
patroni3:
|
|
||||||
image: patroni
|
|
||||||
networks: [ demo ]
|
|
||||||
env_file: docker/patroni.env
|
|
||||||
hostname: patroni3
|
|
||||||
container_name: demo-patroni3
|
|
||||||
environment:
|
|
||||||
PATRONI_NAME: patroni3
|
|
||||||
|
|
||||||
haproxy:
|
haproxy:
|
||||||
image: patroni
|
image: patroni
|
||||||
@@ -67,3 +53,37 @@ services:
|
|||||||
- "5000:5000"
|
- "5000:5000"
|
||||||
- "5001:5001"
|
- "5001:5001"
|
||||||
command: haproxy
|
command: haproxy
|
||||||
|
environment: &haproxy_env
|
||||||
|
ETCDCTL_ENDPOINTS: http://etcd1:2379,http://etcd2:2379,http://etcd3:2379
|
||||||
|
PATRONI_ETCD3_HOSTS: "'etcd1:2379','etcd2:2379','etcd3:2379'"
|
||||||
|
PATRONI_SCOPE: demo
|
||||||
|
|
||||||
|
patroni1:
|
||||||
|
image: patroni
|
||||||
|
networks: [ demo ]
|
||||||
|
env_file: docker/patroni.env
|
||||||
|
hostname: patroni1
|
||||||
|
container_name: demo-patroni1
|
||||||
|
environment:
|
||||||
|
<<: *haproxy_env
|
||||||
|
PATRONI_NAME: patroni1
|
||||||
|
|
||||||
|
patroni2:
|
||||||
|
image: patroni
|
||||||
|
networks: [ demo ]
|
||||||
|
env_file: docker/patroni.env
|
||||||
|
hostname: patroni2
|
||||||
|
container_name: demo-patroni2
|
||||||
|
environment:
|
||||||
|
<<: *haproxy_env
|
||||||
|
PATRONI_NAME: patroni2
|
||||||
|
|
||||||
|
patroni3:
|
||||||
|
image: patroni
|
||||||
|
networks: [ demo ]
|
||||||
|
env_file: docker/patroni.env
|
||||||
|
hostname: patroni3
|
||||||
|
container_name: demo-patroni3
|
||||||
|
environment:
|
||||||
|
<<: *haproxy_env
|
||||||
|
PATRONI_NAME: patroni3
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
|
|
||||||
ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
|
|
||||||
ETCD_INITIAL_CLUSTER=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380
|
|
||||||
ETCD_INITIAL_CLUSTER_STATE=new
|
|
||||||
ETCD_INITIAL_CLUSTER_TOKEN=tutorial
|
|
||||||
@@ -1,6 +1,3 @@
|
|||||||
PATRONI_SCOPE=demo
|
|
||||||
PATRONI_ETCD3_HOSTS='etcd1:2379','etcd2:2379','etcd3:2379'
|
|
||||||
|
|
||||||
PATRONI_RESTAPI_USERNAME=admin
|
PATRONI_RESTAPI_USERNAME=admin
|
||||||
PATRONI_RESTAPI_PASSWORD=admin
|
PATRONI_RESTAPI_PASSWORD=admin
|
||||||
PATRONI_SUPERUSER_USERNAME=postgres
|
PATRONI_SUPERUSER_USERNAME=postgres
|
||||||
@@ -9,6 +6,3 @@ PATRONI_REPLICATION_USERNAME=replicator
|
|||||||
PATRONI_REPLICATION_PASSWORD=replicate
|
PATRONI_REPLICATION_PASSWORD=replicate
|
||||||
PATRONI_admin_PASSWORD=admin
|
PATRONI_admin_PASSWORD=admin
|
||||||
PATRONI_admin_OPTIONS=createdb,createrole
|
PATRONI_admin_OPTIONS=createdb,createrole
|
||||||
|
|
||||||
# for etcdctl
|
|
||||||
ETCDCTL_ENDPOINTS=http://etcd1:2379,http://etcd2:2379,http://etcd3:2379
|
|
||||||
|
|||||||
Reference in New Issue
Block a user