=====================================================================

--- Changes ------------------------------

- Allow the group variable `REQUIRED_ENVIRONMENT_REGEX` to enforce that
  only some environments can run within the group
This commit is contained in:
Wryn (yage) Wagner 2023-08-22 14:20:03 -06:00
parent 3ea2e0cd8f
commit 4c161aba49
2 changed files with 15 additions and 1 deletions

10
run
View File

@ -208,6 +208,12 @@ __RUN() {
########################################## ##########################################
local ENV_REQUIRED=$(__CHECK_ENV_REQUIRED && echo 1 || echo 0) local ENV_REQUIRED=$(__CHECK_ENV_REQUIRED && echo 1 || echo 0)
local REQUIRED_ENVIRONMENT_REGEX=$(eval echo '$SCWRYPTS_REQUIRED_ENVIRONMENT_REGEX__'$SCWRYPT_GROUP)
[ $REQUIRED_ENVIRONMENT_REGEX ] && {
[[ $ENV_NAME =~ $REQUIRED_ENVIRONMENT_REGEX ]] \
|| FAIL 5 "group '$SCWRYPT_GROUP' requires current environment to match '$REQUIRED_ENVIRONMENT_REGEX' (currently $ENV_NAME)"
}
[[ $ENV_REQUIRED -eq 1 ]] && { [[ $ENV_REQUIRED -eq 1 ]] && {
[ ! $ENV_NAME ] && ENV_NAME=$(SCWRYPTS__SELECT_ENV) [ ! $ENV_NAME ] && ENV_NAME=$(SCWRYPTS__SELECT_ENV)
@ -225,6 +231,10 @@ __RUN() {
export ENV_NAME export ENV_NAME
} }
[ $REQUIRED_ENVIRONMENT_REGEX ] && {
[[ $ENV_NAME =~ $REQUIRED_ENVIRONMENT_REGEX ]] \
|| FAIL 5 "group '$SCWRYPT_GROUP' requires current environment to match '$REQUIRED_ENVIRONMENT_REGEX' (currently $ENV_NAME)"
}
########################################## ##########################################

View File

@ -64,7 +64,11 @@ SCWRYPTS__GET_ENV_NAMES() {
ERROR 'environment initialization error' ERROR 'environment initialization error'
return 1 return 1
} }
[ $REQUIRED_ENVIRONMENT_REGEX ] && {
ls "$SCWRYPTS_ENV_PATH/scwrypts" | grep "$REQUIRED_ENVIRONMENT_REGEX" | sort -r
} || {
ls "$SCWRYPTS_ENV_PATH/scwrypts" | sort -r ls "$SCWRYPTS_ENV_PATH/scwrypts" | sort -r
}
} }
SCWRYPTS__INIT_ENVIRONMENTS() { SCWRYPTS__INIT_ENVIRONMENTS() {