#!/bin/bash set -eu conf_anastasis_db=/etc/anastasis/secrets/anastasis-db.secret.conf conf_override=/etc/anastasis/override.conf # Get database settings from dbconfig-common and write anastasis configuration files. if [ -f /etc/dbconfig-common/anastasis-httpd.conf ]; then . /etc/dbconfig-common/anastasis-httpd.conf case "$dbc_dbtype" in pgsql) echo -e "# Config file auto-generated by Debian.\n[anastasis]\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_anastasis_db # Allow the taler-merchant-httpd user to create schemas, needed by dbinit echo "GRANT CREATE on database \"$dbc_dbname\" to \"anastasis-httpd\";" | sudo -u postgres psql -f - # Run database initialization logic sudo -u anastasis-httpd anastasis-dbinit -c /etc/anastasis/anastasis.conf ;; sqlite3) # Later: use something like: # sqlite:///$DATA_DIR/anastasis.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