/
githubmirror
/
zulip
Обзор
Документация
Войти
/
githubmirror
/
zulip
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
puppet/kandra/files/postgresql/setup_data.sh
47 строк
2 KB
Alex Vandiver
kandra: Automate the second step of configuring database replicas.
18 апр 2024, 03:31
18 апр 2024, 03:31
a4e6037
Код
Авторство
О чём код?
#!/usr/bin/env bash set -eux service postgresql stop cert_file="$(crudini --get /etc/zulip/zulip.conf postgresql ssl_cert_file)" if [ -z "$cert_file" ] || [ ! -f "$cert_file" ]; then echo "Certificate file is not set or does not exist!" exit 1 fi key_file="$(crudini --get /etc/zulip/zulip.conf postgresql ssl_key_file)" if [ -z "$key_file" ] || [ ! -f "$key_file" ]; then echo "Key file is not set or does not exist!" exit 1 fi cert_cn="$(openssl x509 -noout -subject -in "$cert_file" | sed -n '/^subject/s/^.*CN\s*=\s*//p')" if [ "$cert_cn" != "$(hostname)" ]; then echo "Configured certificate does not match host!" exit 1 fi echo "Checking for S3 secrets..." crudini --get /etc/zulip/zulip-secrets.conf secrets s3_region >/dev/null crudini --get /etc/zulip/zulip-secrets.conf secrets s3_backups_bucket >/dev/null crudini --get /etc/zulip/zulip-secrets.conf secrets s3_backups_key >/dev/null crudini --get /etc/zulip/zulip-secrets.conf secrets s3_backups_secret_key >/dev/null if [ ! -f "/var/lib/postgresql/.postgresql/postgresql.crt" ]; then echo "Replication certificate file is not set or does not exist!" exit 1 fi if [ ! -f "/var/lib/postgresql/.postgresql/postgresql.key" ]; then echo "Replication key file is not set or does not exist!" exit 1 fi version="$(crudini --get /etc/zulip/zulip.conf postgresql version)" mkdir -p "/srv/data/postgresql/$version" chown postgres.postgres "/srv/data/postgresql/$version" chmod 700 "/srv/data/postgresql/$version" /usr/local/bin/env-wal-g backup-fetch "/var/lib/postgresql/$version/main" LATEST chown -R postgres.postgres "/var/lib/postgresql/$version/main"