121 lines
3.7 KiB
Bash
Executable File
121 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
########################################
|
|
# setup
|
|
|
|
KAZ_ROOT=$(cd "$(dirname $0)/../.."; pwd)
|
|
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
|
|
setKazVars
|
|
|
|
#TMPL=html/index.tmpl.html
|
|
#CONF=html/index.html
|
|
TEST_TMPL="${DOCK_VOL}/web_html/_data/status/allServices.tmpl.html"
|
|
TEST_CONF="${DOCK_VOL}/web_html/_data/status/allServices.html"
|
|
|
|
declare -A siteNames=( [prod1]="Rennes" [prod2]="Nantes A" [prod3]="Nantes B" )
|
|
declare -A siteSSH=( [prod1]="" [prod2]="ssh -p 2201 root@prod2.kaz.bzh" [prod3]="ssh -p 2201 root@kazoulet.kaz.bzh" )
|
|
siteKeys=$(echo "${!siteNames[@]}"|tr ' ' '\n'|sort|tr '\n' ' ')
|
|
|
|
declare -a availableServices
|
|
. "${DOCKERS_ENV}"
|
|
# XXX A reprendre de ce qui est attendu par container.sh
|
|
availableServices=(
|
|
www
|
|
${calcHost}
|
|
# ${castopodHost} : need orga
|
|
${cloudHost}
|
|
${dateHost}
|
|
${dokuwikiHost}
|
|
${fileHost}
|
|
${gitHost}
|
|
# ${gravHost}
|
|
${imapsyncHost}
|
|
# ${ldapHost}
|
|
${ldapUIHost}
|
|
${matterHost}
|
|
${mobilizonHost}
|
|
${padHost}
|
|
# paheko : need orga
|
|
${sympaHost}
|
|
${vigiloHost}
|
|
${vaultwardenHost}
|
|
${webmailHost}
|
|
# wordpress : need orga
|
|
)
|
|
|
|
echo -e "create status/allServices.html"
|
|
|
|
mkdir -p "$(dirname ${TEST_TMPL})"
|
|
|
|
########################################
|
|
# commun
|
|
|
|
echo -e "${BLUE}${BOLD} * Base${NC}"
|
|
cat > "${TEST_TMPL}" <<EOF
|
|
<!DOCTYPE html>
|
|
<html lang="">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>KAZ : test des services</title>
|
|
<style>
|
|
iframe { width: 450px; height: 300px; }
|
|
div { display: inline-block; }
|
|
p { display: block; margin: 2 0 0 0; }
|
|
</style>
|
|
</head>
|
|
<!--noframes-->
|
|
<body>
|
|
|
|
<H1>Commun</H1>
|
|
EOF
|
|
|
|
for service in ${availableServices[@]} ; do
|
|
echo " <div><p><a href=\"__HTTP_PROTO__://${service}.__DOMAIN__\">${service}</a></p><iframe src=\"__HTTP_PROTO__://${service}.__DOMAIN__\"></iframe></div>" >> "${TEST_TMPL}"
|
|
done
|
|
|
|
for service in prod1-office prod2-office kazoulet-office; do
|
|
echo " <div><p><a href=\"__HTTP_PROTO__://${service}.__DOMAIN__\">${service}</a></p><iframe src=\"__HTTP_PROTO__://${service}.__DOMAIN__\"></iframe></div>" >> "${TEST_TMPL}"
|
|
done
|
|
|
|
echo " <br/>" >> "${TEST_TMPL}"
|
|
|
|
########################################
|
|
# All sites
|
|
|
|
for siteKey in ${siteKeys}; do
|
|
echo -e "${BLUE}${BOLD} * Orgas ${siteNames[$siteKey]}${NC}"
|
|
declare -a availableOrga
|
|
availableOrga=( $(${siteSSH[$siteKey]} cat "${KAZ_CONF_DIR}/container-orga.list" | sed -e "s/\(.*\)[ \t]*#.*$/\1/" -e "s/^[ \t]*\(.*\)$/\1/" -e "/^$/d") )
|
|
|
|
echo "<H1>Le(s) ${#availableOrga[@]} orga(s) de ${siteNames[$siteKey]} : </H1>" >> "${TEST_TMPL}"
|
|
for orga in ${availableOrga[@]} ; do
|
|
orgaName=${orga%-orga}
|
|
|
|
echo " <b>${orgaName}</b>"
|
|
services=$(${siteSSH[$siteKey]} "${KAZ_COMP_DIR}/${orga}/orga-gen.sh" -l | sed -e "s/collabora/office/")
|
|
for service in ${services}; do
|
|
echo " <div><p><a href=\"__HTTP_PROTO__://${orgaName}-${service}.__DOMAIN__\">${orgaName}-${service}</a></p></div>"
|
|
done
|
|
echo " <br/>"
|
|
done >> "${TEST_TMPL}"
|
|
done
|
|
|
|
########################################
|
|
# foreign domains
|
|
|
|
echo -e "${BLUE}${BOLD} * Extern${NC}"
|
|
echo "<H1>Les redirections</H1>" >> "${TEST_TMPL}"
|
|
for siteKey in ${siteKeys}; do
|
|
echo -e "${BLUE}${BOLD} * Orgas ${siteNames[$siteKey]}${NC}"
|
|
|
|
echo "<H2>${siteNames[$siteKey]}</H2>" >> "${TEST_TMPL}"
|
|
for extrenal in $( ${siteSSH[$siteKey]} "${KAZ_BIN_DIR}/foreign-domain.sh" -l | sort -u) ; do
|
|
echo " <div><p><a href=\"__HTTP_PROTO__://${extrenal}\">${extrenal}</a></p></div>"
|
|
done >> "${TEST_TMPL}"
|
|
done
|
|
echo " <br/><br/><br/></html>" >> "${TEST_TMPL}"
|
|
|
|
########################################
|
|
#"${APPLY_TMPL}" "${TMPL}" "${CONF}"
|
|
"${APPLY_TMPL}" "${TEST_TMPL}" "${TEST_CONF}"
|