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.
63 lines
1.5 KiB
63 lines
1.5 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
|
|
|
|
|
|
set -e
|
|
|
|
. lib/common
|
|
|
|
mode="$(options-get mode)" || exit 1
|
|
|
|
case "$mode" in
|
|
single)
|
|
capacity="$(options-get capacity)" || exit 1
|
|
init-config-add "\
|
|
$MASTER_BASE_SERVICE_NAME:
|
|
environment:
|
|
DRONE_RUNNER_CAPACITY: $capacity
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
"
|
|
;;
|
|
multi)
|
|
secret="$(options-get secret)" || {
|
|
err "In 'multi' mode, you must set a 'secret' in $DARKYELLOW$SERVICE_NAME$NORMAL service's" \
|
|
"options to share with slave drones."
|
|
echo " You can use: 'openssl rand -hex 16' to create one." >&2
|
|
exit 1
|
|
}
|
|
init-config-add "\
|
|
$MASTER_BASE_SERVICE_NAME:
|
|
environment:
|
|
DRONE_RPC_SECRET: $secret
|
|
"
|
|
|
|
;;
|
|
esac
|
|
|
|
|
|
admin="$(options-get admin)" || exit 1
|
|
if [ "$admin" ]; then
|
|
init-config-add "\
|
|
$MASTER_BASE_SERVICE_NAME:
|
|
environment:
|
|
DRONE_USER_CREATE: \"username:$admin,admin:true\"
|
|
"
|
|
fi
|
|
|
|
|
|
init-config-add "\
|
|
$MASTER_BASE_SERVICE_NAME:
|
|
environment:
|
|
DRONE_SERVER_HOST: $MASTER_BASE_SERVICE_NAME
|
|
DRONE_SERVER_PROTO: http
|
|
"
|