forked from 0k/0k-charms
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
#!/bin/bash
|
|
|
|
##
|
|
## Get domain in option of relation "web-proxy"
|
|
##
|
|
|
|
## XXXvlab: there is a tiny lapse of time where database is not yet
|
|
## installed, and admin password is the default value.
|
|
|
|
|
|
. lib/common
|
|
|
|
set -ex
|
|
|
|
if url=$(named-relation-get "web-proxy" url); then
|
|
## proxy ! so we probably already set up the url in
|
|
## pre_deploy
|
|
exit 0
|
|
fi
|
|
|
|
container=$(get_running_containers_for_service "$SERVICE_NAME" | head -n 1)
|
|
container_network_ip=$(get_docker_ip "$container")
|
|
container_ip=${container_network_ip#*:}
|
|
|
|
## XXXvlab: hard written duplicate value
|
|
url="$container_ip:8080"
|
|
|
|
CONTROL_URL_FILE="$SERVICE_DATASTORE/.control-url"
|
|
## Was it already properly propagated to database ?
|
|
control_url=$(H "${url}")
|
|
if ! [ -e "$CONTROL_URL_FILE" ] || [ "$control_url" != "$(cat "$CONTROL_URL_FILE")" ]; then
|
|
## In ``configurations`` table, columns login_url, logout_url, root_url
|
|
|
|
if ! sql < <(e "
|
|
UPDATE configurations
|
|
SET
|
|
root_url = 'http://$url'
|
|
"); then
|
|
debug "Failed to set root url."
|
|
exit 1
|
|
fi
|
|
e "$control_password" > "$CONTROL_URL_FILE"
|
|
fi
|