From cb34e1144feb3adf0c5c9e33a32020c412261ff2 Mon Sep 17 00:00:00 2001 From: Tom Wiesing Date: Mon, 1 Aug 2022 17:07:08 +0200 Subject: [PATCH] Allow instances to add prefixes by hand This commit adds a method to allow instances to add specific prefixes to the global uri resolver. --- README.md | 3 +++ distillery/lib/30_slug.sh | 8 ++++++++ distillery/update_prefix_config.sh | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/README.md b/README.md index 54d8c7a..b19e4f3 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,9 @@ For example, if the domain name of the distillery instance is `wisski.example.co The resolver configuration is automatically updated by the `update_prefix_config.sh` script. It should not be neccessary to reload this configuration manually, as it is automatically called during `system_update.sh`. +It is also possible to manually add a URI prefix to an instance. +For this purpose, add a file named `prefixes` to the base directory of the instance, with one prefix per line. + ## License This project and associated files in this repository are licensed as follows: diff --git a/distillery/lib/30_slug.sh b/distillery/lib/30_slug.sh index b312033..31bb1fe 100644 --- a/distillery/lib/30_slug.sh +++ b/distillery/lib/30_slug.sh @@ -66,6 +66,14 @@ GRAPHDB_REPO="${GRAPHDB_REPO_PREFIX}${USERNAME_BASE}" INSTANCE_BASE_DIR="$DEPLOY_INSTANCES_DIR/$INSTANCE_DOMAIN" INSTANCE_DATA_DIR="$INSTANCE_BASE_DIR/data/" +# compute the prefix file +function compute_instance_prefixfile() { + INSTANCE_BASE_DIR="$1" + INSTANCE_PREFIX_FILE="$INSTANCE_BASE_DIR/prefixes" + echo "$INSTANCE_PREFIX_FILE" +} +INSTANCE_PREFIX_FILE="$(compute_instance_prefixfile "$INSTANCE_BASE_DIR" )" + if [ -n "$CERTBOT_EMAIL" ]; then LETSENCRYPT_HOST="$INSTANCE_DOMAIN" LETSENCRYPT_EMAIL="$CERTBOT_EMAIL" diff --git a/distillery/update_prefix_config.sh b/distillery/update_prefix_config.sh index 8cccb8b..20f059b 100644 --- a/distillery/update_prefix_config.sh +++ b/distillery/update_prefix_config.sh @@ -21,6 +21,12 @@ for slug in $(sql_bookkeep_list); do read -r INSTANCE_BASE_DIR MYSQL_DATABASE MYSQL_USER GRAPHDB_REPO GRAPHDB_USER GRAPHDB_PASSWORD <<< "$(sql_bookkeep_load "${slug}" "filesystem_base,sql_database,sql_user,graphdb_repository,graphdb_user,graphdb_password" | tail -n +2)" pushd "$INSTANCE_BASE_DIR" > /dev/null + + INSTANCE_PREFIX_FILE="$(compute_instance_prefixfile "$INSTANCE_BASE_DIR" )" + if [ -f "$INSTANCE_PREFIX_FILE" ]; then + cat "$INSTANCE_PREFIX_FILE" | tee -a "$DEPLOY_PREFIX_CONFIG" + fi + docker-compose exec barrel /user_shell.sh -c "drush php:script /wisskiutils/list_uri_prefixes.php" | tee -a "$DEPLOY_PREFIX_CONFIG" popd > /dev/null done