support des variables dans les templates

This commit is contained in:
Jephte CLAIN 2014-10-24 00:34:53 +04:00
parent 04b92d148f
commit acc03d0b06
8 changed files with 242 additions and 97 deletions

View File

@ -29,6 +29,15 @@ répertoire de référence appelé répertoire local, avant son déploiement.
-g, --diff -g, --diff
Afficher les différences entre les templates et les fichiers du Afficher les différences entre les templates et les fichiers du
répertoire local. répertoire local.
--list-vars
Afficher la valeur par défaut des variables prédéfinies
--write-vars
Forcer l'écriture des valeurs actuelles des variables dans le fichier
.apacheconfig, ce qui permet d'éviter de les spécifier à chaque fois
avec l'option -v
-v, --var NAME=VALUE
Spécifier la valeur d'une variable. Il est possible de spécifier des
valeurs qui ne sont pas dans la liste prédéfinie.
Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont
tous optionnels: tous optionnels:
@ -68,7 +77,7 @@ tous optionnels:
Les options suivantes permettent de déployer les fichiers du répertoire local. Les options suivantes permettent de déployer les fichiers du répertoire local.
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
sur debian sur debian
-u, --update -u, --update, --deploy
Mettre à jour la configuration système à partir du répertoire local. Mettre à jour la configuration système à partir du répertoire local.
-r, --certsdir CERTSDIR -r, --certsdir CERTSDIR
Spécifier le cas échéant le répertoire contenant les certificats à Spécifier le cas échéant le répertoire contenant les certificats à
@ -125,87 +134,161 @@ function parent_apacheconfig() {
done done
} }
update= setx host=myhost
certsdir= setx hostname=myhostname
confdir= aliases="$hostname"
modulesdir= admin=supervision-gdrsi@listes.univ-reunion.fr
sitesdir= certsdir=renater
cgibindir= caname=terena.crt
wwwdir= certname=
certsconfdir= keyname=
rrdir= TEMPLATE_VARS=(
restart=1 host hostname aliases admin
certsdir caname certname keyname
)
function update_template_var() {
# mettre à jour la valeur d'une variable en tenant compte de certaines
# dépendances. par exemple, si on modifie host, il faut mettre à jour
# hostname.
local __orig_value="${!1}"
array_addu TEMPLATE_VARS "$1"
setv "$1" "$2"
local __update_aliases
case "$1" in
host)
[ "$aliases" == "$hostname" ] && __update_aliases=1
hostname="${host%%.*}"
[ -n "$__update_aliases" ] && aliases="$hostname"
;;
esac
[ "$2" != "$__orig_value" ]
}
__vars=()
__list_vars=
__write_vars=
__deploy=
__certsdir=
__confdir=
__modulesdir=
__sitesdir=
__cgibindir=
__wwwdir=
__certsconfdir=
__rrdir=
__restart=1
__TEMPLATECTL_SUPPLOPTS=( __TEMPLATECTL_SUPPLOPTS=(
-u,--update update=1 -v:,--var: __vars
-r:,--certsdir: certsdir= --list-vars __list_vars=1
--confdir: confdir= --write-vars __write_vars=1
--modulesdir: modulesdir= -u,--update,--deploy __deploy=1
--sitesdir: sitesdir= -r:,--certsdir: __certsdir=
--cgibindir: cgibindir= --confdir: __confdir=
--wwwdir: wwwdir= --modulesdir: __modulesdir=
--certsconfdir: certsconfdir= --sitesdir: __sitesdir=
--rrdir: rrdir= --cgibindir: __cgibindir=
--restart restart=1 --wwwdir: __wwwdir=
--no-restart restart= --certsconfdir: __certsconfdir=
--rrdir: __rrdir=
--restart __restart=1
--no-restart __restart=
) )
__templatectl_parseopts "$@" && \ __templatectl_parseopts "$@" && \
set -- "${args[@]}" || die "$args" set -- "${args[@]}" || die "$args"
# répertoire source # répertoire source
setx srcdir=templatesrc apacheconfig setx __templatectl_srcdir=templatesrc apacheconfig
# répertoire de référence # répertoire de référence
autocreate= __autocreate=
if [ -z "$destdir" ]; then if [ -z "$__templatectl_destdir" ]; then
if [ -d apacheconfig ]; then if [ -d apacheconfig ]; then
destdir=apacheconfig __templatectl_destdir=apacheconfig
elif setx destdir=parent_apacheconfig; then elif setx __templatectl_destdir=parent_apacheconfig; then
estepn "Sélection automatique de $(ppath "$destdir")" estepn "Sélection automatique de $(ppath "$__templatectl_destdir")"
elif [ -e apacheconfig ]; then elif [ -e apacheconfig ]; then
die "Vous devez spécifier le répertoire de référence avec -d" die "Vous devez spécifier le répertoire de référence avec -d"
else else
destdir=apacheconfig __templatectl_destdir=apacheconfig
autocreate=1 __autocreate=1
fi fi
fi fi
if [ -z "$update" -a -z "$templatectl_opt" ]; then # charger les variables
__apacheconfig_vars="$__templatectl_destdir/.apacheconfig"
if [ -f "$__apacheconfig_vars" ]; then
source "$__apacheconfig_vars"
for __var in "${__apacheconfig[@]}"; do
splitvar "$__var" __name __value
update_template_var "$__name" "$__value"
done
fi
# mettre à jour les variables
__modified=
for __var in "${__vars[@]}"; do
splitvar "$__var" __name __value
update_template_var "$__name" "$__value" && __modified=1
done
# enregistrer les valeurs des variables
if [ -n "$__modified" -o "$__write_vars" ]; then
>"$__apacheconfig_vars"
echo "__apacheconfig=(" >>"$__apacheconfig_vars"
for __var in "${TEMPLATE_VARS[@]}"; do
echo_setv "$__var=${!__var}" >>"$__apacheconfig_vars"
done
echo ")" >>"$__apacheconfig_vars"
fi
# afficher les variables
if [ -n "$__list_vars" ]; then
for __var in "${TEMPLATE_VARS[@]}"; do
echo_setv "$__var=${!__var}"
done
fi
# Gérer les templates et fichiers locaux
if [ -z "$templatectl_opt" -a -z "$__list_vars" -a -z "$__write_vars" -a -z "$__deploy" ]; then
templatectl_opt=1 templatectl_opt=1
templatectl_auto=1 templatectl_auto=1
fi fi
if [ -n "$templatectl_opt" ]; then if [ -n "$templatectl_opt" ]; then
if [ -n "$autocreate" -a ! -d "$destdir" ]; then if [ -n "$__autocreate" -a ! -d "$__templatectl_destdir" ]; then
estepn "Création automatique de $(ppath "$destdir")" estepn "Création automatique de $(ppath "$__templatectl_destdir")"
mkdir -p "$destdir" || die mkdir -p "$__templatectl_destdir" || die
fi fi
[ -d "$destdir" ] || die "$destdir: répertoire introuvable" [ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
__templatectl_do "$@" __templatectl_do "$@"
fi fi
if [ -n "$update" ]; then # déploiement
if [ -n "$__deploy" ]; then
args=( args=(
-d "$destdir" -d "$__templatectl_destdir"
-u -u
${certsdir:+-r "$certsdir"} ${__certsdir:+-r "$__certsdir"}
${confdir:+--confdir "$confdir"} ${__confdir:+--confdir "$__confdir"}
${modulesdir:+--modulesdir "$modulesdir"} ${__modulesdir:+--modulesdir "$__modulesdir"}
${sitesdir:+--sitesdir "$sitesdir"} ${__sitesdir:+--sitesdir "$__sitesdir"}
${cgibindir:+--cgibindir "$cgibindir"} ${__cgibindir:+--cgibindir "$__cgibindir"}
${wwwdir:+--wwwdir "$wwwdir"} ${__wwwdir:+--wwwdir "$__wwwdir"}
${certsconfdir:+--certsconfdir "$certsconfdir"} ${__certsconfdir:+--certsconfdir "$__certsconfdir"}
${rrdir:+--rrdir "$rrdir"} ${__rrdir:+--rrdir "$__rrdir"}
) )
run_as_root "${args[@]}" run_as_root "${args[@]}"
etitle "Mise à jour du système" etitle "Mise à jour du système"
[ -d "$destdir" ] || die "$destdir: répertoire introuvable" [ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
args=("$destdir" "$certsdir" args=("$__templatectl_destdir" "$__certsdir"
${confdir:+--confdir "$confdir"} ${__confdir:+--confdir "$__confdir"}
${modulesdir:+--modulesdir "$modulesdir"} ${__modulesdir:+--modulesdir "$__modulesdir"}
${sitesdir:+--sitesdir "$sitesdir"} ${__sitesdir:+--sitesdir "$__sitesdir"}
${cgibindir:+--cgibindir "$cgibindir"} ${__cgibindir:+--cgibindir "$__cgibindir"}
${wwwdir:+--wwwdir "$wwwdir"} ${__wwwdir:+--wwwdir "$__wwwdir"}
${certsconfdir:+--certsconfdir "$certsconfdir"} ${__certsconfdir:+--certsconfdir "$__certsconfdir"}
${rrdir:+--rrdir "$rrdir"} ${__rrdir:+--rrdir "$__rrdir"}
) )
apache_autoconf "${args[@]}" || die apache_autoconf "${args[@]}" || die
eend eend

View File

@ -46,6 +46,48 @@ function __template_plsort() {
# liste des variables qu'il faut remplacer dans les fichiers sources # liste des variables qu'il faut remplacer dans les fichiers sources
TEMPLATE_VARS=() TEMPLATE_VARS=()
function __template_setup_tmpfile() {
if [ ${#TEMPLATE_VARS[*]} -gt 0 ]; then
# S'il y a des variables à remplacer, préparer un fichier temporaire
ac_set_tmpfile tmpfile
fi
}
function __template_clean_tmpfile() {
if [ ${#TEMPLATE_VARS[*]} -gt 0 ]; then
ac_clean "$tmpfile"
fi
}
function __template_fillvars() {
# Pour chacune des variables VAR de TEMPLATE_VARS, remplacer dans le fichier
# $1 les occurences de @@VAR@@ par la valeur $VAR
# Afficher le chemin vers le fichier temporaire qui contient le fichier
# modifié. Si $2 est spécifié, prendre ce chemin comme fichier temporaire.
# Sinon, créer un nouveau fichier temporaire. Si le fichier ne contient
# aucune occurence de variable, afficher le chemin original $1.
[ ${#TEMPLATE_VARS[*]} -eq 0 ] && { echo "$1"; return; }
# chercher si le fichier contient au moins un des tags de TEMPLATE_VARS
local __var __tag __found
for __var in "${TEMPLATE_VARS[@]}"; do
__tag="@@${__var}@@"
if quietgrep "$__tag" "$1"; then
__found=1
break
fi
done
[ -n "$__found" ] || { echo "$1"; return; }
# construire le script sed pour le remplacement des variables
local __script __first=1
for __var in "${TEMPLATE_VARS[@]}"; do
[ -n "$__first" ] || __script="$__script"$'\n'
__first=
__script="${__script}s/@@${__var}@@/$(qseds "${!__var}")/g"
done
sed "$__script" <"$1" >"$2"
echo "$2"
}
function template_list() { function template_list() {
# Lister les fichiers du répertoire source $1 qui seraient fusionnées avec # Lister les fichiers du répertoire source $1 qui seraient fusionnées avec
@ -67,7 +109,9 @@ function template_list() {
[ -n "$rel2pwd" ] && set -- . || set -- "$destdir" [ -n "$rel2pwd" ] && set -- . || set -- "$destdir"
fi fi
local spec srcspec src dest list local tmpfile; __template_setup_tmpfile
local spec srcspec src content dest list
local -a srcfiles local -a srcfiles
for spec in "$@"; do for spec in "$@"; do
setx srcspec=__template_prel_abspath "$spec" "$destdir" setx srcspec=__template_prel_abspath "$spec" "$destdir"
@ -77,13 +121,14 @@ function template_list() {
[ -e "$srcdir$srcspec" ] || continue [ -e "$srcdir$srcspec" ] || continue
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)" array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
for src in "${srcfiles[@]}"; do for src in "${srcfiles[@]}"; do
setx content=__template_fillvars "$src" "$tmpfile"
dest="$destdir/${src#$srcdir/}" dest="$destdir/${src#$srcdir/}"
list= list=
if [ -L "$dest" ]; then if [ -L "$dest" ]; then
: :
elif [ -f "$dest" ]; then elif [ -f "$dest" ]; then
testsame "$src" "$dest" && list=1 testsame "$content" "$dest" && list=1
else else
list=1 list=1
fi fi
@ -96,6 +141,8 @@ function template_list() {
fi fi
done done
done | csort -u done | csort -u
__template_clean_tmpfile
} }
function template_merge() { function template_merge() {
@ -112,7 +159,9 @@ function template_merge() {
[ $# -gt 0 ] || set -- "$destdir" [ $# -gt 0 ] || set -- "$destdir"
local spec srcspec src dest local tmpfile; __template_setup_tmpfile
local spec srcspec src content dest
local srcfiles local srcfiles
for spec in "$@"; do for spec in "$@"; do
setx srcspec=__template_prel_abspath "$spec" setx srcspec=__template_prel_abspath "$spec"
@ -127,25 +176,28 @@ function template_merge() {
s=0 s=0
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)" array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
for src in "${srcfiles[@]}"; do for src in "${srcfiles[@]}"; do
setx content=__template_fillvars "$src" "$tmpfile"
dest="$destdir/${src#$srcdir/}" dest="$destdir/${src#$srcdir/}"
if [ -L "$dest" ]; then if [ -L "$dest" ]; then
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")" edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
elif [ -f "$dest" ]; then elif [ -f "$dest" ]; then
if testsame "$src" "$dest"; then if testsame "$content" "$dest"; then
show_debug && edot 0 "ALREADY COPIED: $(ppath "$dest")" show_debug && edot 0 "ALREADY COPIED: $(ppath "$dest")"
else else
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")" edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
fi fi
else else
mkdirof "$dest" mkdirof "$dest"
cp "$src" "$dest"; r=$? cp "$content" "$dest"; r=$?
edot $r "COPY: $(ppath "$dest")" edot $r "COPY: $(ppath "$dest")"
[ $r -eq 0 ] || s=$r [ $r -eq 0 ] || s=$r
fi fi
done done
eend $s eend $s
done done
__template_clean_tmpfile
} }
function template_unmerge() { function template_unmerge() {
@ -163,7 +215,9 @@ function template_unmerge() {
[ $# -gt 0 ] || set -- "$destdir" [ $# -gt 0 ] || set -- "$destdir"
local spec srcspec src dest local tmpfile; __template_setup_tmpfile
local spec srcspec src content dest
local srcfiles local srcfiles
for spec in "$@"; do for spec in "$@"; do
setx srcspec=__template_prel_abspath "$spec" setx srcspec=__template_prel_abspath "$spec"
@ -178,12 +232,13 @@ function template_unmerge() {
ebegin "$(ppath "$destdir$srcspec")" ebegin "$(ppath "$destdir$srcspec")"
array_from_lines files "$(find "$srcdir$srcspec" -type f)" array_from_lines files "$(find "$srcdir$srcspec" -type f)"
for src in "${files[@]}"; do for src in "${files[@]}"; do
setx content=__template_fillvars "$src" "$tmpfile"
dest="$destdir/${src#$srcdir/}" dest="$destdir/${src#$srcdir/}"
if [ -L "$dest" ]; then if [ -L "$dest" ]; then
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")" edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"
elif [ -f "$dest" ]; then elif [ -f "$dest" ]; then
if testsame "$src" "$dest"; then if testsame "$content" "$dest"; then
rm -f "$dest"; r=$? rm -f "$dest"; r=$?
edot $r "REMOVE: $(ppath "$dest")" edot $r "REMOVE: $(ppath "$dest")"
[ $r -eq 0 ] || s=$r [ $r -eq 0 ] || s=$r
@ -196,6 +251,8 @@ function template_unmerge() {
done done
eend $s eend $s
done done
__template_clean_tmpfile
} }
function template_cleandest() { function template_cleandest() {
@ -219,15 +276,20 @@ function template_diff() {
__template_check_destdir "$destdir" || return 1 __template_check_destdir "$destdir" || return 1
setx destdir=abspath "$destdir" setx destdir=abspath "$destdir"
local src dest local tmpfile; __template_setup_tmpfile
local src content dest
local -a srcfiles local -a srcfiles
array_from_lines srcfiles "$(find "$srcdir" -type f)" array_from_lines srcfiles "$(find "$srcdir" -type f)"
for src in "${srcfiles[@]}"; do for src in "${srcfiles[@]}"; do
setx content=__template_fillvars "$src" "$tmpfile"
dest="$destdir/${src#$srcdir/}" dest="$destdir/${src#$srcdir/}"
if [ -f "$dest" ] && testdiff "$src" "$dest"; then if [ -f "$dest" ] && testdiff "$content" "$dest"; then
diff -uwB "$src" "$dest" diff -uwB "$content" "$dest"
fi fi
done | page_maybe -S done | page_maybe -S
__template_clean_tmpfile
} }
function templatesrc() { function templatesrc() {
@ -246,28 +308,28 @@ __TEMPLATECTL_SUPPLOPTS=()
function __templatectl_parseopts() { function __templatectl_parseopts() {
parse_opts "${PRETTYOPTS[@]}" \ parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with __templatectl_display_help' \ --help '$exit_with __templatectl_display_help' \
-s:,--srcdir: srcdir= \ -s:,--srcdir: __templatectl_srcdir= \
-d:,--destdir: destdir= \ -d:,--destdir: __templatectl_destdir= \
-l,--list '$list=1; templatectl_opt=1' \ -l,--list '$__templatectl_list=1; templatectl_opt=1' \
-m,--merge '$merge=1; templatectl_opt=1' \ -m,--merge '$__templatectl_merge=1; templatectl_opt=1' \
-z,--unmerge '$unmerge=1; templatectl_opt=1' \ -z,--unmerge '$__templatectl_unmerge=1; templatectl_opt=1' \
-C,--clean '$clean=1; templatectl_opt=1' \ -C,--clean '$__templatectl_clean=1; templatectl_opt=1' \
-g,--diff '$diff=1; templatectl_opt=1' \ -g,--diff '$__templatectl_diff=1; templatectl_opt=1' \
"${__TEMPLATECTL_SUPPLOPTS[@]}" \ "${__TEMPLATECTL_SUPPLOPTS[@]}" \
@ args -- "$@" @ args -- "$@"
} }
function __templatectl_do() { function __templatectl_do() {
__template_check_srcdir "$srcdir" || return 1 __template_check_srcdir "$__templatectl_srcdir" || return 1
[ -n "$destdir" ] || destdir=. [ -n "$__templatectl_destdir" ] || __templatectl_destdir=.
__template_check_destdir "$destdir" || return 1 __template_check_destdir "$__templatectl_destdir" || return 1
[ -n "$templatectl_auto" ] && list=1 [ -n "$templatectl_auto" ] && __templatectl_list=1
[ -n "$list" ] && template_list "$srcdir" "$destdir" "$@" [ -n "$__templatectl_list" ] && template_list "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
[ -n "$merge" ] && template_merge "$srcdir" "$destdir" "$@" [ -n "$__templatectl_merge" ] && template_merge "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
[ -n "$unmerge" ] && template_unmerge "$srcdir" "$destdir" "$@" [ -n "$__templatectl_unmerge" ] && template_unmerge "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
[ -n "$clean" ] && template_cleandest "$destdir" "$@" [ -n "$__templatectl_clean" ] && template_cleandest "$__templatectl_destdir" "$@"
[ -n "$diff" ] && template_diff "$srcdir" "$destdir" "$@" [ -n "$__templatectl_diff" ] && template_diff "$__templatectl_srcdir" "$__templatectl_destdir" "$@"
return 0 return 0
} }
@ -275,8 +337,8 @@ function templatectl() {
# fonction de haut niveau qui facilite l'utilisation des fonctions template_* # fonction de haut niveau qui facilite l'utilisation des fonctions template_*
# définir la fonction override_display_templatectl_help() pour l'affichage de l'aide # définir la fonction override_display_templatectl_help() pour l'affichage de l'aide
local -a args local -a args
local list merge unmerge clean diff templatectl_opt templatectl_auto local __templatectl_list __templatectl_merge __templatectl_unmerge __templatectl_clean __templatectl_diff templatectl_opt templatectl_auto
local destdir local __templatectl_destdir
__templatectl_parseopts "$@" && set -- "${args[@]}" || { eerror "$args"; return 1; } __templatectl_parseopts "$@" && set -- "${args[@]}" || { eerror "$args"; return 1; }
[ -z "$templatectl_opt" ] && templatectl_auto=1 [ -z "$templatectl_opt" ] && templatectl_auto=1

View File

@ -2,13 +2,13 @@
# Ce fichier permet de configurer quels certificats du répertoire $certsdir il # Ce fichier permet de configurer quels certificats du répertoire $certsdir il
# faut installer sur le serveur. # faut installer sur le serveur.
certsdir=renater certsdir=@@certsdir@@
# Fichier contenant les certificats racines qui valident le certificat à # Fichier contenant les certificats racines qui valident le certificat à
# installer, ainsi que les certificats qui sont rencontrés dans le dialogue avec # installer, ainsi que les certificats qui sont rencontrés dans le dialogue avec
# d'autres serveurs web # d'autres serveurs web
ca=terena.crt ca=@@caname@@
# Certificat et clé privée à installer # Certificat et clé privée à installer
cert=host-20130523.pem cert=@@certname@@
key=host-20130523.key key=@@keyname@@

View File

@ -1,9 +1,9 @@
# -*- coding: utf-8 mode: conf -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 # -*- coding: utf-8 mode: conf -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
<VirtualHost *:80> <VirtualHost *:80>
ServerName host.univ.run ServerName @@host@@
ServerAlias host host1.univ.run host1 ServerAlias @@aliases@@
ServerAdmin sysrezo@support.univ-reunion.fr ServerAdmin @@admin@@
DocumentRoot /var/www DocumentRoot /var/www
<Directory /> <Directory />

View File

@ -2,9 +2,9 @@
<IfModule mod_ssl.c> <IfModule mod_ssl.c>
<VirtualHost _default_:443> <VirtualHost _default_:443>
ServerName host.univ.run ServerName @@host@@
ServerAlias host host1.univ.run host1 ServerAlias @@aliases@@
ServerAdmin sysrezo@support.univ-reunion.fr ServerAdmin @@admin@@
DocumentRoot /var/www DocumentRoot /var/www
<Directory /> <Directory />

View File

@ -1,7 +1,7 @@
worker.list=prod,dev worker.list=prod,dev
worker.prod.port=8009 worker.prod.port=8009
worker.prod.host=host.univ.run worker.prod.host=@@prod_host@@
worker.prod.type=ajp13 worker.prod.type=ajp13
worker.prod.lbfactor=1 worker.prod.lbfactor=1
worker.prod.connection_pool_timeout=600 worker.prod.connection_pool_timeout=600
@ -9,7 +9,7 @@ worker.prod.socket_keepalive=1
worker.prod.socket_timeout=60 worker.prod.socket_timeout=60
worker.dev.port=8009 worker.dev.port=8009
worker.dev.host=hostdev.univ.run worker.dev.host=@@dev_host@@
worker.dev.type=ajp13 worker.dev.type=ajp13
worker.dev.lbfactor=1 worker.dev.lbfactor=1
worker.dev.connection_pool_timeout=600 worker.dev.connection_pool_timeout=600

View File

@ -33,10 +33,10 @@ __templatectl_parseopts "$@" && \
set -- "${args[@]}" || die "$args" set -- "${args[@]}" || die "$args"
# répertoire source # répertoire source
setx srcdir=templatesrc runsconfig setx __templatectl_srcdir=templatesrc runsconfig
# répertoire d'hôte # répertoire d'hôte
[ -n "$destdir" ] || destdir=. [ -n "$__templatectl_destdir" ] || __templatectl_destdir=.
[ -n "$templatectl_opt" ] || templatectl_auto=1 [ -n "$templatectl_opt" ] || templatectl_auto=1
[ -d "$destdir" ] || die "$destdir: répertoire introuvable" [ -d "$__templatectl_destdir" ] || die "$__templatectl_destdir: répertoire introuvable"
__templatectl_do "$@" __templatectl_do "$@"