mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-10-28 18:50:08 +00:00
added traefik config update (untested) + refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
15e6483e84
commit
1f49774770
48
.pct-helpers
48
.pct-helpers
@ -418,6 +418,8 @@ readVars(){
|
||||
xread -n "Email: " EMAIL
|
||||
xread -n "Domain: " DOMAIN
|
||||
|
||||
xread -n "Gate ID: " GATE_ID
|
||||
|
||||
readCTVars
|
||||
|
||||
readBridgeVars
|
||||
@ -615,10 +617,37 @@ pctPushAssets(){
|
||||
#
|
||||
# traefikPushConfig
|
||||
#
|
||||
TRAEFIK_CFG=traefik.yml
|
||||
# XXX generate config in a staging location...
|
||||
TRAEFIK_CONFIG=traefik.yml
|
||||
TRAEFIK_PATH=/etc/traefik.d/
|
||||
TRAEFIK_STAGING=traefik/
|
||||
traefikPushConfig(){
|
||||
# XXX
|
||||
local filename="${CTHOSTNAME}.yml"
|
||||
local source="${TRAEFIK_STAGING}/${filename}"
|
||||
local target="${TRAEFIK_PATH}"/"${filename}"
|
||||
|
||||
# source file not found...
|
||||
if ! [ -e "${TRAEFIK_CONFIG}" ] ; then
|
||||
echo "${TRAEFIK_CONFIG}: not found." >&2
|
||||
return
|
||||
fi
|
||||
|
||||
# generat config...
|
||||
mkdir -p "${TRAEFIK_STAGING}"
|
||||
cat ${TRAEFIK_CONFIG} \
|
||||
| expandPCTTemplate \
|
||||
> "${source}"
|
||||
|
||||
# get things we need if they are not set...
|
||||
xread "Gate CT id: " GATE_ID
|
||||
|
||||
# check if $filename exists...
|
||||
if @ lxc-attach $GATE_ID -- test -e ${target} \
|
||||
&& ! xreadYes "Overwrite existing \"${target}\"?" ; then
|
||||
@ lxc-attach $GATE_ID -- mv "${target}" "${target}.bak"
|
||||
fi
|
||||
|
||||
@ pct push $GATE_ID "${source}" "${target}"
|
||||
}
|
||||
|
||||
|
||||
@ -823,18 +852,17 @@ pctSetNotes(){
|
||||
local NOTES="$(\
|
||||
echo -e "${2:-${DESCRIPTION}}" \
|
||||
| sed -e 's/^/#/')"
|
||||
|
||||
if [ "$DRY_RUN" ] ; then
|
||||
return
|
||||
fi
|
||||
|
||||
local CONF="$(cat "${CT_DIR}/${ID}.conf")"
|
||||
local TEXT="\
|
||||
"${NOTES}"
|
||||
"${CONF}"
|
||||
"
|
||||
if [ "$DRY_RUN" ] ; then
|
||||
echo "--- ${CT_DIR}/${ID}.conf ---"
|
||||
echo -e "${TEXT}"
|
||||
echo "---"
|
||||
else
|
||||
echo -e "${TEXT}" > "${CT_DIR}/${ID}.conf"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@ -846,9 +874,9 @@ showNotes(){
|
||||
[ -e "${BUILD_NOTES}" ] \
|
||||
&& mv "${BUILD_NOTES}"{,.bak}
|
||||
[ -e "${BUILD_NOTES}".tpl ] \
|
||||
&& cat "${BUILD_NOTES}".tpl \
|
||||
&& ( cat "${BUILD_NOTES}".tpl \
|
||||
| expandPCTTemplate $@ \
|
||||
| tee "${BUILD_NOTES}"
|
||||
| tee "${BUILD_NOTES}" )
|
||||
}
|
||||
|
||||
#
|
||||
|
||||
4
Makefile
4
Makefile
@ -107,7 +107,9 @@ all: minimal $(APP_CTs)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-rm -rf */staging
|
||||
-rm -rf \
|
||||
*/staging \
|
||||
*/traefik
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,29 +1,29 @@
|
||||
tcp:
|
||||
routers:
|
||||
gitea:
|
||||
${CTHOSTNAME}:
|
||||
entryPoints:
|
||||
- ssh
|
||||
service: gitea
|
||||
service: ${CTHOSTNAME}
|
||||
rule: "HostSNI(`*`)"
|
||||
|
||||
services:
|
||||
gitea:
|
||||
${CTHOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: gitea.srv:22
|
||||
- address: ${CTHOSTNAME}.srv:22
|
||||
|
||||
http:
|
||||
routers:
|
||||
gitea:
|
||||
${CTHOSTNAME}:
|
||||
entryPoints:
|
||||
- https
|
||||
service: gitea
|
||||
service: ${CTHOSTNAME}
|
||||
rule: "Host(`${DOMAIN}`)"
|
||||
tls:
|
||||
certResolver: letsEncrypt
|
||||
|
||||
services:
|
||||
gitea:
|
||||
${CTHOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: https://gitea.srv/
|
||||
- url: https://${CTHOSTNAME}.srv/
|
||||
@ -1,15 +1,15 @@
|
||||
http:
|
||||
routers:
|
||||
nextcloud:
|
||||
${CTHOSTNAME}:
|
||||
entryPoints:
|
||||
- https
|
||||
service: nextcloud
|
||||
service: ${CTHOSTNAME}
|
||||
rule: "Host(`${DOMAIN}`)"
|
||||
tls:
|
||||
certResolver: letsEncrypt
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
${CTHOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: https://nextcloud.srv/
|
||||
- url: https://${CTHOSTNAME}.srv/
|
||||
@ -37,6 +37,8 @@ REBOOT=${REBOOT:=1}
|
||||
DFL_WAN_SSH_IP=${DFL_WAN_SSH_IP:=}
|
||||
xread "WAN ssh ip:" WAN_SSH_IP
|
||||
|
||||
#xread "Gate CT id: " GATE_ID
|
||||
|
||||
readVars
|
||||
|
||||
|
||||
@ -89,6 +91,8 @@ pctSetNotes $ID
|
||||
|
||||
saveLastRunConfig
|
||||
|
||||
traefikPushConfig
|
||||
|
||||
showNotes
|
||||
echo "# Done."
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
tcp:
|
||||
routers:
|
||||
ssh:
|
||||
${CTHOSTNAME}:
|
||||
entryPoints:
|
||||
- ssh2
|
||||
service: ssh
|
||||
service: ${CTHOSTNAME}
|
||||
rule: "HostSNI(`*`)"
|
||||
|
||||
services:
|
||||
ssh:
|
||||
${CTHOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: ssh.srv:22
|
||||
- address: ${CTHOSTNAME}.srv:22
|
||||
@ -1,20 +0,0 @@
|
||||
udp:
|
||||
routers:
|
||||
wireguard-admin:
|
||||
entryPoints:
|
||||
- wireguard2
|
||||
service: wireguard-admin
|
||||
wireguard-client:
|
||||
entryPoints:
|
||||
- wireguard
|
||||
service: wireguard-client
|
||||
|
||||
services:
|
||||
wireguard-admin:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: wireguard.srv:51820
|
||||
wireguard-client:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: wireguard-client.srv:51820
|
||||
12
wireguard/traefik.yml
Normal file
12
wireguard/traefik.yml
Normal file
@ -0,0 +1,12 @@
|
||||
udp:
|
||||
routers:
|
||||
${CTHOSTNAME}:
|
||||
entryPoints:
|
||||
- wireguard2
|
||||
service: ${CTHOSTNAME}
|
||||
|
||||
services:
|
||||
${CTHOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: ${CTHOSTNAME}.srv:51820
|
||||
Loading…
x
Reference in New Issue
Block a user