2018-11-11 15:23:27 +01:00
|
|
|
# systemd service template for patroni instances. The actual instances will
|
|
|
|
# be called "patroni@version-cluster", e.g. "patroni@10-main". The
|
|
|
|
# variable %i expands to "version-cluster", %I expands to "version/cluster".
|
|
|
|
# (%I breaks for cluster names containing dashes.)
|
|
|
|
[Unit]
|
|
|
|
Description=Patroni instance %i
|
|
|
|
After=network.target
|
|
|
|
ConditionPathExists=/etc/patroni/%i.yml
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=simple
|
|
|
|
|
|
|
|
User=postgres
|
|
|
|
Group=postgres
|
|
|
|
|
|
|
|
# Read in configuration file if it exists, otherwise proceed
|
2018-11-11 15:24:54 +01:00
|
|
|
EnvironmentFile=-/etc/patroni/env.conf
|
2018-11-11 15:23:27 +01:00
|
|
|
|
|
|
|
PermissionsStartOnly=True
|
|
|
|
WorkingDirectory=~
|
|
|
|
RuntimeDirectory=postgresql/%i.pg_stat_tmp
|
|
|
|
RuntimeDirectoryMode=2775
|
|
|
|
|
|
|
|
ExecStart=/usr/bin/patroni /etc/patroni/%i.yml
|
|
|
|
|
|
|
|
# Send HUP to reload from patroni.yml
|
|
|
|
ExecReload=/bin/kill -s HUP $MAINPID
|
|
|
|
|
|
|
|
# only kill the patroni process, not it's children, so it will gracefully stop postgres
|
|
|
|
KillMode=process
|
|
|
|
|
|
|
|
# Give a reasonable amount of time for the server to start up/shut down
|
|
|
|
TimeoutSec=30
|
|
|
|
|
|
|
|
# Do not restart the service if it crashes, we want to manually inspect database on failure
|
|
|
|
Restart=no
|
|
|
|
|
|
|
|
# Uncomment in order to get debugging output
|
|
|
|
#Environment=PATRONI_LOGLEVEL=DEBUG
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
|