#!/bin/bash ## Should be executable N time in a row with same result. . lib/common set -e DOMAIN=$(relation-get domain) DATA_DIRS=$(relation-get data_dirs 2>/dev/null | shyaml get-values 2>/dev/null) || true LOCATION=$(relation-get location 2>/dev/null) || true CREDS=$(relation-get creds 2>/dev/null) || true SERVER_ALIAS=$(relation-get server-alias 2>/dev/null) || true export SERVER_ALIAS if SSL_CERT_LOCATION=$(relation-get ssl-cert-file 2>/dev/null); then SSL_CERT=/etc/ssl/certs/${DOMAIN}.pem config-add "\ $MASTER_BASE_CHARM_NAME: volumes: - ${SSL_CERT_LOCATION}:${SSL_CERT} " fi if SSL_KEY_LOCATION=$(relation-get ssl-key-file 2>/dev/null); then SSL_KEY=/etc/ssl/private/${DOMAIN}.key config-add "\ $MASTER_BASE_CHARM_NAME: volumes: - ${SSL_KEY_LOCATION}:${SSL_KEY} " fi if SSL_CA_CERT_LOCATION=$(relation-get ssl-ca-cert-file 2>/dev/null); then SSL_CA_CERT=/etc/ssl/cert/${DOMAIN}-ca.pem config-add "\ $MASTER_BASE_CHARM_NAME: volumes: - ${SSL_CA_CERT_LOCATION}:${SSL_CA_CERT} " fi export CREDS apache_ssl_add "$DOMAIN" if [ "$LOCATION" ]; then if [ -d "$LOCATION" -a ! -d "$LOCATION/.git" ]; then err "Hum, location '$LOCATION' does not seem to be a git directory." exit 1 fi if ! [ -d "$LOCATION/.git" ]; then BRANCH=$(relation-get branch) BRANCH=${BRANCH:-master} SOURCE=$(relation-get source) parent="$(dirname "$LOCATION")" ( mkdir -p "$parent" && cd "$parent" git clone -b "$BRANCH" "$SOURCE" "$(basename "$LOCATION")" ) fi apache_code_dir "$DOMAIN" "$LOCATION" else mkdir -p "$SERVICE_DATASTORE/var/www/${DOMAIN}" || return 1 config-add " $MASTER_BASE_CHARM_NAME: volumes: - $DATASTORE/$BASE_CHARM_NAME/var/www/${DOMAIN}:/var/www/${DOMAIN} " fi if [ "$DATA_DIRS" ]; then apache_data_dir "$DOMAIN" "$DATA_DIRS" fi