80 lines
1.9 KiB
80 lines
1.9 KiB
#!/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
|
|
"
|
|
|
|
ini_merge <<EOF || exit 1
|
|
version: 0.1
|
|
storage:
|
|
filesystem:
|
|
rootdirectory: /var/lib/docker-registry
|
|
|
|
http:
|
|
addr: $SERVICE_NAME:5000
|
|
net: tcp
|
|
host: http://$SERVICE_NAME:5000
|
|
## XXXvlab: not used for now
|
|
#secret: asecretforlocaldevelopment
|
|
relativeurls: false
|
|
# debug:
|
|
# addr: localhost:5001
|
|
# headers:
|
|
# X-Content-Type-Options: [nosniff]
|
|
# http2:
|
|
# disabled: false
|
|
|
|
EOF
|
|
|
|
|
|
##
|
|
## 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
|
|
auth|storage|middleware|reporting|http|redis|version)
|
|
err "You should not configure '$key' in this charm."
|
|
exit 1
|
|
;;
|
|
log|loglevel|notifications|health|proxy|compatibility|validation)
|
|
continue
|
|
;;
|
|
*)
|
|
err "Unknown key '$key' in options."
|
|
exit 1
|
|
;;
|
|
esac
|
|
done < <(e "$options" | shyaml key-values-0)
|
|
|
|
e "$options" | ini_merge || exit 1
|
|
|
|
fi
|