103 lines
3.0 KiB
Bash
103 lines
3.0 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Met à jour la configuration de ${CONF} en fonction du modèle ${TMPL}
|
||
|
# Viariables misent à jour :
|
||
|
# - __DOMAIN__
|
||
|
# Il est possible de prendre en considération ou d'occulter des blocks.
|
||
|
# Le début du block est repéré par une ligne contenant {{XXX
|
||
|
# La fin du block est repéré par une ligne contenant }}
|
||
|
# L'affiche est fonction de XXX
|
||
|
# XXX = on => affichage systématique
|
||
|
# XXX = off => masquage systématique
|
||
|
# XXX = compose => affichage si la variable d'environnement proxy_compose à la valeur on
|
||
|
|
||
|
KAZ_ROOT=$(cd "$(dirname $0)/.."; pwd)
|
||
|
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
|
||
|
setKazVars
|
||
|
|
||
|
. "${DOCKERS_ENV}"
|
||
|
. "${KAZ_KEY_DIR}/SetAllPass.sh"
|
||
|
|
||
|
usage () {
|
||
|
echo $(basename "$0") " [-h] [-help] [-timestamp] template dst"
|
||
|
echo " -h"
|
||
|
echo " -help Display this help."
|
||
|
echo " -timestamp produce timestamp comment."
|
||
|
}
|
||
|
|
||
|
TIMESTAMP=""
|
||
|
|
||
|
case "$1" in
|
||
|
'-h' | '-help' )
|
||
|
usage
|
||
|
shift
|
||
|
exit;;
|
||
|
'-time' | '-timestamp' )
|
||
|
TIMESTAMP=YES
|
||
|
shift;;
|
||
|
esac
|
||
|
|
||
|
# no more export in .env
|
||
|
PROXY_VARS=$(set | grep "proxy_.*=")
|
||
|
for var in ${PROXY_VARS}
|
||
|
do
|
||
|
export ${var}
|
||
|
done
|
||
|
|
||
|
(
|
||
|
# $1 = template
|
||
|
# $2 = target
|
||
|
if [ "${TIMESTAMP}" == "YES" ]; then
|
||
|
echo "# Generated by $(pwd)$(basename $0)"
|
||
|
echo "# à partir du modèle $1"
|
||
|
echo "#" $(date "+%x %X")
|
||
|
echo
|
||
|
fi
|
||
|
|
||
|
sed \
|
||
|
-e "/^[ \t]*$/d"\
|
||
|
-e "/^[ ]*#.*$/d"\
|
||
|
-e "s|__CACHET_HOST__|${cachetHost}|g"\
|
||
|
-e "s|__CALC_HOST__|${calcHost}|g"\
|
||
|
-e "s|__CLOUD_HOST__|${cloudHost}|g"\
|
||
|
-e "s|__DATE_HOST__|${dateHost}|g"\
|
||
|
-e "s|__DOKUWIKI_HOST__|${dokuwikiHost}|g"\
|
||
|
-e "s|__DOMAIN__|${domain}|g"\
|
||
|
-e "s|__FILE_HOST__|${fileHost}|g"\
|
||
|
-e "s|__PAHEKO_API_PASSWORD__|${paheko_API_PASSWORD}|g"\
|
||
|
-e "s|__PAHEKO_API_USER__|${paheko_API_USER}|g"\
|
||
|
-e "s|__PAHEKO_HOST__|${pahekoHost}|g"\
|
||
|
-e "s|__GIT_HOST__|${gitHost}|g"\
|
||
|
-e "s|__GRAV_HOST__|${gravHost}|g"\
|
||
|
-e "s|__HTTP_PROTO__|${httpProto}|g"\
|
||
|
-e "s|__LDAP_HOST__|${ldapHost}|g"\
|
||
|
-e "s|__LDAPUI_HOST__|${ldapUIHost}|g"\
|
||
|
-e "s|__MATTER_HOST__|${matterHost}|g"\
|
||
|
-e "s|__OFFICE_HOST__|${officeHost}|g"\
|
||
|
-e "s|__PAD_HOST__|${padHost}|g"\
|
||
|
-e "s|__QUOTAS_HOST__|${quotasHost}|g"\
|
||
|
-e "s|__SMTP_HOST__|${smtpHost}|g"\
|
||
|
-e "s|__SYMPADB__|${sympaDBName}|g"\
|
||
|
-e "s|__SYMPA_HOST__|${sympaHost}|g"\
|
||
|
-e "s|__SYMPA_MYSQL_DATABASE__|${sympa_MYSQL_DATABASE}|g"\
|
||
|
-e "s|__SYMPA_MYSQL_PASSWORD__|${sympa_MYSQL_PASSWORD}|g"\
|
||
|
-e "s|__SYMPA_MYSQL_USER__|${sympa_MYSQL_USER}|g"\
|
||
|
-e "s|__VIGILO_HOST__|${vigiloHost}|g"\
|
||
|
-e "s|__WEBMAIL_HOST__|${webmailHost}|g"\
|
||
|
-e "s|__CASTOPOD_HOST__|${castopodHost}|g"\
|
||
|
-e "s|__IMAPSYNC_HOST__|${imapsyncHost}|g"\
|
||
|
-e "s|__YAKFORMS_HOST__|${yakformsHost}|g"\
|
||
|
-e "s|__WORDPRESS_HOST__|${wordpressHost}|g"\
|
||
|
-e "s|__MOBILIZON_HOST__|${mobilizonHost}|g"\
|
||
|
-e "s|__API_HOST__|${apiHost}|g"\
|
||
|
-e "s|__VAULTWARDEN_HOST__|${vaultwardenHost}|g"\
|
||
|
-e "s|__DOMAIN_SYMPA__|${domain_sympa}|g"\
|
||
|
$1 | awk '
|
||
|
BEGIN {cp=1}
|
||
|
/}}/ {cp=1 ; next};
|
||
|
/{{on/ {cp=1; next};
|
||
|
/{{off/ {cp=0; next};
|
||
|
match($0, /{{[a-zA-Z0-9_]+/) {cp=(ENVIRON["proxy_" substr($0,RSTART+2,RLENGTH)] == "on"); next};
|
||
|
{if (cp) print $0};'
|
||
|
) > $2
|