mirror of
https://github.com/bdnugget/warden.git
synced 2026-11-07 08:57:27 +00:00
Scoped environment config loading
Port in https://github.com/davidalger/warden/pull/451 Signed-off-by: Navarr <navarr@swiftotter.com>
This commit is contained in:
1 parent
efb2cd6ad9
commit
5a24ca7d50
10 files changed
+214
-153
No files matched your search
+6
-147
@@ -45,150 +45,9 @@ TRAEFIK_DOMAIN=${WARDEN_ENV_NAME}.test
|
||||
TRAEFIK_SUBDOMAIN=app
|
||||
EOF
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "magento1" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
MYSQL_DISTRIBUTION=mariadb
|
||||
MYSQL_DISTRIBUTION_VERSION=10.3
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=7.2
|
||||
PHP_XDEBUG_3=1
|
||||
REDIS_VERSION=5.0
|
||||
|
||||
WARDEN_SELENIUM=0
|
||||
WARDEN_SELENIUM_DEBUG=0
|
||||
WARDEN_BLACKFIRE=0
|
||||
|
||||
BLACKFIRE_CLIENT_ID=
|
||||
BLACKFIRE_CLIENT_TOKEN=
|
||||
BLACKFIRE_SERVER_ID=
|
||||
BLACKFIRE_SERVER_TOKEN=
|
||||
EOT
|
||||
fi
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "magento2" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_ELASTICSEARCH=1
|
||||
WARDEN_ELASTICHQ=0
|
||||
WARDEN_VARNISH=1
|
||||
WARDEN_RABBITMQ=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
ELASTICSEARCH_VERSION=7.6
|
||||
MYSQL_DISTRIBUTION=mariadb
|
||||
MYSQL_DISTRIBUTION_VERSION=10.3
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=8.1
|
||||
PHP_XDEBUG_3=1
|
||||
RABBITMQ_VERSION=3.8
|
||||
REDIS_VERSION=5.0
|
||||
VARNISH_VERSION=6.0
|
||||
|
||||
WARDEN_SYNC_IGNORE=
|
||||
|
||||
WARDEN_ALLURE=0
|
||||
WARDEN_SELENIUM=0
|
||||
WARDEN_SELENIUM_DEBUG=0
|
||||
WARDEN_BLACKFIRE=0
|
||||
WARDEN_SPLIT_SALES=0
|
||||
WARDEN_SPLIT_CHECKOUT=0
|
||||
WARDEN_TEST_DB=0
|
||||
WARDEN_MAGEPACK=0
|
||||
|
||||
BLACKFIRE_CLIENT_ID=
|
||||
BLACKFIRE_CLIENT_TOKEN=
|
||||
BLACKFIRE_SERVER_ID=
|
||||
BLACKFIRE_SERVER_TOKEN=
|
||||
EOT
|
||||
fi
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "laravel" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
MYSQL_DISTRIBUTION=mariadb
|
||||
MYSQL_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=8.1
|
||||
PHP_XDEBUG_3=1
|
||||
REDIS_VERSION=5.0
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
## Laravel Config
|
||||
APP_URL=http://app.${WARDEN_ENV_NAME}.test
|
||||
APP_KEY=base64:$(dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64)
|
||||
|
||||
APP_ENV=local
|
||||
APP_DEBUG=true
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=laravel
|
||||
DB_USERNAME=laravel
|
||||
DB_PASSWORD=laravel
|
||||
|
||||
CACHE_DRIVER=redis
|
||||
SESSION_DRIVER=redis
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_DRIVER=sendmail
|
||||
EOT
|
||||
fi
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" =~ ^symfony|shopware$ ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_RABBITMQ=0
|
||||
WARDEN_ELASTICSEARCH=0
|
||||
WARDEN_VARNISH=0
|
||||
|
||||
MYSQL_DISTRIBUTION=mariadb
|
||||
MYSQL_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=8.0
|
||||
PHP_XDEBUG_3=1
|
||||
RABBITMQ_VERSION=3.8
|
||||
REDIS_VERSION=5.0
|
||||
VARNISH_VERSION=6.0
|
||||
EOT
|
||||
fi
|
||||
|
||||
if [[ "${WARDEN_ENV_TYPE}" == "wordpress" ]]; then
|
||||
cat >> "${WARDEN_ENV_PATH}/.env" <<-EOT
|
||||
|
||||
MYSQL_DISTRIBUTION=mariadb
|
||||
MYSQL_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=8.0
|
||||
PHP_XDEBUG_3=1
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=0
|
||||
|
||||
APP_ENV=local
|
||||
APP_DEBUG=true
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=wordpress
|
||||
DB_USERNAME=wordpress
|
||||
DB_PASSWORD=wordpress
|
||||
EOT
|
||||
fi
|
||||
ENV_INIT_FILE=$(fetchEnvInitFile)
|
||||
if [[ ! -z $ENV_INIT_FILE ]]; then
|
||||
export WARDEN_ENV_NAME
|
||||
export GENERATED_APP_KEY="base64:$(dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64)"
|
||||
envsubst '$WARDEN_ENV_NAME:$GENERATED_APP_KEY' < "${ENV_INIT_FILE}" >> "${WARDEN_ENV_PATH}/.env"
|
||||
fi
|
||||
@@ -168,6 +168,14 @@ export TRAEFIK_ADDRESS="$(docker container inspect traefik \
|
||||
if [[ $OSTYPE =~ ^darwin ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
|
||||
if [[ -f "${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_ENV_PATH}/.warden/mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_ENV_PATH}/.warden/mutagen.yml"
|
||||
fi
|
||||
|
||||
@@ -31,6 +31,14 @@ fi
|
||||
if [[ $OSTYPE =~ ^darwin && -z "${MUTAGEN_SYNC_FILE}" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
|
||||
if [[ -f "${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.mutagen.yml"
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_ENV_PATH}/.warden/mutagen.yml" ]]; then
|
||||
export MUTAGEN_SYNC_FILE="${WARDEN_ENV_PATH}/.warden/mutagen.yml"
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
|
||||
DB_DISTRIBUTION=mariadb
|
||||
DB_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=1
|
||||
PHP_VERSION=7.4
|
||||
PHP_XDEBUG_3=1
|
||||
REDIS_VERSION=5.0
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
## Laravel Config
|
||||
APP_URL=http://app.$WARDEN_ENV_NAME.test
|
||||
APP_KEY=$GENERATED_APP_KEY
|
||||
|
||||
APP_ENV=local
|
||||
APP_DEBUG=true
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=laravel
|
||||
DB_USERNAME=laravel
|
||||
DB_PASSWORD=laravel
|
||||
|
||||
CACHE_DRIVER=redis
|
||||
SESSION_DRIVER=redis
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_DRIVER=sendmail
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
DB_DISTRIBUTION=mariadb
|
||||
MARIADB_VERSION=10.3
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=1
|
||||
PHP_VERSION=7.2
|
||||
PHP_XDEBUG_3=1
|
||||
REDIS_VERSION=5.0
|
||||
|
||||
WARDEN_SELENIUM=0
|
||||
WARDEN_SELENIUM_DEBUG=0
|
||||
WARDEN_BLACKFIRE=0
|
||||
|
||||
BLACKFIRE_CLIENT_ID=
|
||||
BLACKFIRE_CLIENT_TOKEN=
|
||||
BLACKFIRE_SERVER_ID=
|
||||
BLACKFIRE_SERVER_TOKEN=
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_ELASTICSEARCH=1
|
||||
WARDEN_ELASTICHQ=0
|
||||
WARDEN_VARNISH=1
|
||||
WARDEN_RABBITMQ=1
|
||||
WARDEN_REDIS=1
|
||||
|
||||
ELASTICSEARCH_VERSION=7.6
|
||||
DB_DISTRIBUTION=mariadb
|
||||
DB_DISTRIBUTION_VERSION=10.3
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=1
|
||||
PHP_VERSION=7.4
|
||||
PHP_XDEBUG_3=1
|
||||
RABBITMQ_VERSION=3.8
|
||||
REDIS_VERSION=5.0
|
||||
VARNISH_VERSION=6.0
|
||||
|
||||
WARDEN_SYNC_IGNORE=
|
||||
|
||||
WARDEN_ALLURE=0
|
||||
WARDEN_SELENIUM=0
|
||||
WARDEN_SELENIUM_DEBUG=0
|
||||
WARDEN_BLACKFIRE=0
|
||||
WARDEN_SPLIT_SALES=0
|
||||
WARDEN_SPLIT_CHECKOUT=0
|
||||
WARDEN_TEST_DB=0
|
||||
WARDEN_MAGEPACK=0
|
||||
|
||||
BLACKFIRE_CLIENT_ID=
|
||||
BLACKFIRE_CLIENT_TOKEN=
|
||||
BLACKFIRE_SERVER_ID=
|
||||
BLACKFIRE_SERVER_TOKEN=
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_RABBITMQ=0
|
||||
WARDEN_ELASTICSEARCH=0
|
||||
WARDEN_VARNISH=0
|
||||
|
||||
DB_DISTRIBUTION=mariadb
|
||||
DB_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=7.4
|
||||
PHP_XDEBUG_3=1
|
||||
RABBITMQ_VERSION=3.8
|
||||
REDIS_VERSION=5.0
|
||||
VARNISH_VERSION=6.0
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=1
|
||||
WARDEN_RABBITMQ=0
|
||||
WARDEN_ELASTICSEARCH=0
|
||||
WARDEN_VARNISH=0
|
||||
|
||||
DB_DISTRIBUTION=mariadb
|
||||
DB_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=2
|
||||
PHP_VERSION=7.4
|
||||
PHP_XDEBUG_3=1
|
||||
RABBITMQ_VERSION=3.8
|
||||
REDIS_VERSION=5.0
|
||||
VARNISH_VERSION=6.0
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
DB_DISTRIBUTION=mariadb
|
||||
DB_DISTRIBUTION_VERSION=10.4
|
||||
NODE_VERSION=12
|
||||
COMPOSER_VERSION=1
|
||||
PHP_VERSION=7.4
|
||||
PHP_XDEBUG_3=1
|
||||
|
||||
WARDEN_DB=1
|
||||
WARDEN_REDIS=0
|
||||
|
||||
APP_ENV=local
|
||||
APP_DEBUG=true
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=wordpress
|
||||
DB_USERNAME=wordpress
|
||||
DB_PASSWORD=wordpress
|
||||
+49
-6
@@ -60,19 +60,58 @@ function renderEnvNetworkName() {
|
||||
echo "${WARDEN_ENV_NAME}_default" | tr '[:upper:]' '[:lower:]'
|
||||
}
|
||||
|
||||
function fetchEnvInitFile () {
|
||||
local envInitPath=""
|
||||
|
||||
for ENV_INIT_PATH in \
|
||||
"${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}/init.env" \
|
||||
"${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/init.env" \
|
||||
"${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/init.env"
|
||||
do
|
||||
if [[ -f "${ENV_INIT_PATH}" ]]; then
|
||||
envInitPath="${ENV_INIT_PATH}"
|
||||
fi
|
||||
done
|
||||
|
||||
echo $envInitPath
|
||||
}
|
||||
|
||||
function fetchValidEnvTypes () {
|
||||
local lsPaths="${WARDEN_DIR}/environments/"*/*".base.yml"
|
||||
|
||||
if [[ -d "${WARDEN_HOME_DIR}/environments" ]]; then
|
||||
lsPaths="${lsPaths} ${WARDEN_HOME_DIR}/environments/"*/*".base.yml"
|
||||
fi
|
||||
|
||||
if [[ -d "${WARDEN_ENV_PATH}/.warden/environments" ]]; then
|
||||
lsPaths="${lsPaths} ${WARDEN_ENV_PATH}/.warden/environments/"*/*".base.yml"
|
||||
fi
|
||||
|
||||
echo $(
|
||||
ls -1 "${WARDEN_DIR}/environments/"*/*".base.yml" \
|
||||
ls -1 $lsPaths \
|
||||
| sed -E "s#^${WARDEN_DIR}/environments/##" \
|
||||
| cut -d/ -f1 | uniq | sort | grep -v includes
|
||||
| sed -E "s#^${WARDEN_HOME_DIR}/environments/##" \
|
||||
| sed -E "s#^${WARDEN_ENV_PATH}/.warden/environments/##" \
|
||||
| cut -d/ -f1 | sort | uniq | grep -v includes
|
||||
)
|
||||
}
|
||||
|
||||
function assertValidEnvType () {
|
||||
if [[ ! -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.base.yml" ]]; then
|
||||
>&2 echo -e "\033[31mInvalid environment type \"${WARDEN_ENV_TYPE}\" specified.\033[0m"
|
||||
return 1
|
||||
if [[ -f "${WARDEN_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.base.yml" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.base.yml" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -f "${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${WARDEN_ENV_TYPE}.base.yml" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
>&2 echo -e "\033[31mInvalid environment type \"${WARDEN_ENV_TYPE}\" specified.\033[0m"
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
function appendEnvPartialIfExists () {
|
||||
@@ -87,7 +126,11 @@ function appendEnvPartialIfExists () {
|
||||
"${WARDEN_HOME_DIR}/environments/includes/${PARTIAL_NAME}.base.yml" \
|
||||
"${WARDEN_HOME_DIR}/environments/includes/${PARTIAL_NAME}.${WARDEN_ENV_SUBT}.yml" \
|
||||
"${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${PARTIAL_NAME}.base.yml" \
|
||||
"${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${PARTIAL_NAME}.${WARDEN_ENV_SUBT}.yml"
|
||||
"${WARDEN_HOME_DIR}/environments/${WARDEN_ENV_TYPE}/${PARTIAL_NAME}.${WARDEN_ENV_SUBT}.yml" \
|
||||
"${WARDEN_ENV_PATH}/.warden/environments/includes/${PARTIAL_NAME}.base.yml" \
|
||||
"${WARDEN_ENV_PATH}/.warden/environments/includes/${PARTIAL_NAME}.${WARDEN_ENV_SUBT}.yml" \
|
||||
"${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${PARTIAL_NAME}.base.yml" \
|
||||
"${WARDEN_ENV_PATH}/.warden/environments/${WARDEN_ENV_TYPE}/${PARTIAL_NAME}.${WARDEN_ENV_SUBT}.yml"
|
||||
do
|
||||
if [[ -f "${PARTIAL_PATH}" ]]; then
|
||||
DOCKER_COMPOSE_ARGS+=("-f" "${PARTIAL_PATH}")
|
||||
|
||||
Reference in new issue
Block a user