From 80fe273ef5d46e0d242017a5d1a04a5bd933c3d7 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 17 Sep 2021 00:21:00 +0200 Subject: initial debian package --- debian/db/install/pgsql | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 debian/db/install/pgsql (limited to 'debian/db/install') diff --git a/debian/db/install/pgsql b/debian/db/install/pgsql new file mode 100755 index 0000000..4695224 --- /dev/null +++ b/debian/db/install/pgsql @@ -0,0 +1,38 @@ +#!/bin/bash + +set -eu + +conf_sync_db=/etc/sync/secrets/sync-db.secret.conf +conf_override=/etc/sync/override.conf + +# Get database settings from dbconfig-common and write sync configuration files. +if [ -f /etc/dbconfig-common/sync-httpd.conf ]; then + . /etc/dbconfig-common/sync-httpd.conf + case "$dbc_dbtype" in + pgsql) + echo -e "# Config file auto-generated by Debian.\n[sync]\nDB=postgres\n\n" > \ + $conf_override + # We assume ident auth here. We might support password auth later. + echo -e "[stasis-postgres]\nCONFIG=postgres:///${dbc_dbname}\n\n" > \ + $conf_sync_db + + # Allow the taler-merchant-httpd user to create schemas, needed by dbinit + echo "GRANT CREATE on database \"$dbc_dbname\" to \"sync-httpd\";" | sudo -u postgres psql -f - + # Run database initialization logic + sudo -u sync-httpd sync-dbinit -c /etc/sync/sync.conf + ;; + sqlite3) + # Later: use something like: + # sqlite:///$DATA_DIR/sync.db + # But for now, sqlite is unsupported: + echo "Unsupported database type $dbc_type." + exit 1 + ;; + "") ;; + + *) + echo "Unsupported database type $dbc_type." + exit 1 + ;; + esac +fi -- cgit v1.2.3