diff --git a/README.md b/README.md index b19e4f3..d328d20 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,11 @@ It should not be neccessary to reload this configuration manually, as it is auto 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. +Furthermore, you can also exclude a specific instance from URL prefix resolving. +This should be the case for cloned or backup instances. +For this purpose, add a file named `prefixes.skip` to the base directory of the instance. +This will casuse the instance to be skipped entirely. + ## 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 8c6341d..1679365 100644 --- a/distillery/lib/30_slug.sh +++ b/distillery/lib/30_slug.sh @@ -84,6 +84,14 @@ function compute_instance_prefixfile() { } INSTANCE_PREFIX_FILE="$(compute_instance_prefixfile "$INSTANCE_BASE_DIR" )" +# compute the prefix file +function compute_instance_noprefixfile() { + INSTANCE_BASE_DIR="$1" + INSTANCE_PREFIX_FILE="$INSTANCE_BASE_DIR/prefixes.skip" + echo "$INSTANCE_PREFIX_FILE" +} +INSTANCE_NOPREFIX_FILE="$(compute_instance_noprefixfile "$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 f73da21..76f46f9 100644 --- a/distillery/update_prefix_config.sh +++ b/distillery/update_prefix_config.sh @@ -16,18 +16,24 @@ date | tee -a "$DEPLOY_PREFIX_CONFIG" # update all the instances for slug in $(sql_bookkeep_list); do INSTANCE_DOMAIN="$(compute_instance_url "$slug")" - echo "$INSTANCE_DOMAIN:" | tee -a "$DEPLOY_PREFIX_CONFIG" 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)" + INSTANCE_NOPREFIX_FILE="$(compute_instance_noprefixfile "$INSTANCE_BASE_DIR" )" + INSTANCE_PREFIX_FILE="$(compute_instance_prefixfile "$INSTANCE_BASE_DIR" )" + if [ -f "$INSTANCE_NOPREFIX_FILE" ]; then + continue + fi + pushd "$INSTANCE_BASE_DIR" > /dev/null - INSTANCE_PREFIX_FILE="$(compute_instance_prefixfile "$INSTANCE_BASE_DIR" )" + echo "$INSTANCE_DOMAIN:" | tee -a "$DEPLOY_PREFIX_CONFIG" + docker-compose exec barrel /user_shell.sh -c "drush php:script /wisskiutils/list_uri_prefixes.php" | tee -a "$DEPLOY_PREFIX_CONFIG" + 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