#!/bin/bash ## Init is run on host ## For now it is run every time the script is launched, but ## it should be launched only once after build. ## Accessible variables are: ## - SERVICE_NAME Name of current service ## - DOCKER_BASE_IMAGE Base image from which this service might be built if any ## - SERVICE_DATASTORE Location on host of the DATASTORE of this service ## - SERVICE_CONFIGSTORE Location on host of the CONFIGSTORE of this service . lib/common set -e if [ -e "$HOST_CONFIG_FILE" ]; then echo > "$HOST_CONFIG_FILE" else mkdir -p "$(dirname "$HOST_CONFIG_FILE")" touch "$HOST_CONFIG_FILE" fi init-config-add " $SERVICE_NAME: volumes: - $HOST_CONFIG_FILE:$CONFIG_FILE " ## ## Merge compose options ## service_def=$(get_compose_service_def "$SERVICE_NAME") || return 1 options=$(e "$service_def" | shyaml -y get-value "options") || true if [ "$options" ]; then while read-0 key value; do case "$key" in users) user_conf=$(make_users_config "$value") || exit 1 e "$user_conf" | ini_merge ;; acl) yaml_key_val_str "$key" "$value" | ini_merge ;; *) err "Unknown key '$key' in options." exit 1 ;; esac done < <(e "$options" | shyaml key-values-0) fi ## XXXvlab: ports should be not repeated (is repeated in charm metadata, or docker image) ini_merge < "$SERVICE_CONFIGSTORE/etc/docker-auth/realm"