Support reading Kayobe environment name from file
If using separate branches for each environment, it can be useful to read the environment name from a file committed to each branch. Or, if sharing the same branch for all environments, it can be useful to set the default environment to one with lower impact, e.g. dev or staging. If no --environment option is specified and a .environment file exists at the root of the directory, use its content as KAYOBE_ENVIRONMENT. Change-Id: I22b2b466e47a3b4d96931d754a4de7544f0ada5d
This commit is contained in:
parent
d0514fec02
commit
2af2c3a3b5
38
kayobe-env
38
kayobe-env
@ -33,6 +33,23 @@ base_path=$(realpath $KAYOBE_CONFIG_ROOT/../../)
|
||||
export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible}
|
||||
export KOLLA_VENV_PATH=${KOLLA_VENV_PATH:-${base_path}/venvs/kolla-ansible}
|
||||
|
||||
function check_and_export_env {
|
||||
# Look for existing Kayobe environments
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then
|
||||
export KAYOBE_ENVIRONMENT="${kayobe_env}"
|
||||
echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}"
|
||||
return 0
|
||||
else
|
||||
echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function usage {
|
||||
echo "usage: ${BASH_SOURCE[0]:-${(%):-%x}} [--environment <env-name>]"
|
||||
return 1
|
||||
@ -41,21 +58,14 @@ function usage {
|
||||
if [ "$#" -ge 1 ]; then
|
||||
if [ "$1" = "--environment" -a "$#" -eq 2 ]; then
|
||||
kayobe_env="$2"
|
||||
# Look for existing Kayobe environments
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments" ]; then
|
||||
if [ -d "${KAYOBE_CONFIG_PATH}/environments/${kayobe_env}" ]; then
|
||||
export KAYOBE_ENVIRONMENT="${kayobe_env}"
|
||||
echo "Using Kayobe environment ${KAYOBE_ENVIRONMENT}"
|
||||
return 0
|
||||
else
|
||||
echo "Unable to find Kayobe environment ${kayobe_env} in ${KAYOBE_CONFIG_PATH}/environments"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "Cannot find environments folder in ${KAYOBE_CONFIG_PATH}"
|
||||
return 1
|
||||
fi
|
||||
check_and_export_env
|
||||
else
|
||||
usage
|
||||
fi
|
||||
return $?
|
||||
fi
|
||||
|
||||
if [[ -f "$KAYOBE_CONFIG_ROOT/.environment" ]]; then
|
||||
kayobe_env=$(cat "$KAYOBE_CONFIG_ROOT/.environment")
|
||||
check_and_export_env
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user