Improve domain routing for portal and Gitea
This commit is contained in:
@@ -22,6 +22,20 @@ APPFACTORY_REGISTRY_DOMAIN="${APPFACTORY_REGISTRY_DOMAIN:-}"
|
||||
mkdir -p "$(dirname "$CADDY_FILE")"
|
||||
mkdir -p "$APPFACTORY_DIR/gateway/static"
|
||||
|
||||
write_site_header() {
|
||||
local site="$1"
|
||||
|
||||
if [ "$APPFACTORY_ENABLE_HTTPS" = "true" ]; then
|
||||
cat >> "$CADDY_FILE" <<EOF_CADDY
|
||||
$site {
|
||||
EOF_CADDY
|
||||
else
|
||||
cat >> "$CADDY_FILE" <<EOF_CADDY
|
||||
http://$site {
|
||||
EOF_CADDY
|
||||
fi
|
||||
}
|
||||
|
||||
write_app_routes() {
|
||||
local target_file="$1"
|
||||
|
||||
@@ -67,7 +81,7 @@ with open(caddy_file, "a", encoding="utf-8") as f:
|
||||
PY
|
||||
}
|
||||
|
||||
write_common_path_routes() {
|
||||
write_portal_routes() {
|
||||
local target_file="$1"
|
||||
|
||||
cat >> "$target_file" <<'EOF_ROUTES'
|
||||
@@ -75,7 +89,15 @@ write_common_path_routes() {
|
||||
respond "AppFactory OK" 200
|
||||
}
|
||||
|
||||
handle /portal* {
|
||||
handle / {
|
||||
redir /portal 302
|
||||
}
|
||||
|
||||
handle /portal {
|
||||
reverse_proxy appfactory-portal:9100
|
||||
}
|
||||
|
||||
handle /portal/* {
|
||||
uri strip_prefix /portal
|
||||
reverse_proxy appfactory-portal:9100
|
||||
}
|
||||
@@ -100,7 +122,7 @@ EOF_ROUTES
|
||||
}
|
||||
|
||||
handle {
|
||||
respond "AppFactory gateway is running" 200
|
||||
redir /portal 302
|
||||
}
|
||||
EOF_ROUTES
|
||||
}
|
||||
@@ -110,7 +132,7 @@ write_http_only_caddyfile() {
|
||||
:80 {
|
||||
EOF_CADDY
|
||||
|
||||
write_common_path_routes "$CADDY_FILE"
|
||||
write_portal_routes "$CADDY_FILE"
|
||||
|
||||
cat >> "$CADDY_FILE" <<'EOF_CADDY'
|
||||
}
|
||||
@@ -121,10 +143,8 @@ write_domain_caddyfile() {
|
||||
: > "$CADDY_FILE"
|
||||
|
||||
if [ -n "$APPFACTORY_PORTAL_DOMAIN" ]; then
|
||||
cat >> "$CADDY_FILE" <<EOF_CADDY
|
||||
$APPFACTORY_PORTAL_DOMAIN {
|
||||
EOF_CADDY
|
||||
write_common_path_routes "$CADDY_FILE"
|
||||
write_site_header "$APPFACTORY_PORTAL_DOMAIN"
|
||||
write_portal_routes "$CADDY_FILE"
|
||||
cat >> "$CADDY_FILE" <<'EOF_CADDY'
|
||||
}
|
||||
|
||||
@@ -132,8 +152,8 @@ EOF_CADDY
|
||||
fi
|
||||
|
||||
if [ -n "$APPFACTORY_GITEA_DOMAIN" ]; then
|
||||
cat >> "$CADDY_FILE" <<EOF_CADDY
|
||||
$APPFACTORY_GITEA_DOMAIN {
|
||||
write_site_header "$APPFACTORY_GITEA_DOMAIN"
|
||||
cat >> "$CADDY_FILE" <<'EOF_CADDY'
|
||||
handle /health {
|
||||
respond "Gitea gateway OK" 200
|
||||
}
|
||||
@@ -147,16 +167,16 @@ EOF_CADDY
|
||||
fi
|
||||
|
||||
if [ -n "$APPFACTORY_REGISTRY_DOMAIN" ]; then
|
||||
cat >> "$CADDY_FILE" <<EOF_CADDY
|
||||
$APPFACTORY_REGISTRY_DOMAIN {
|
||||
handle /v2/* {
|
||||
reverse_proxy appfactory-registry:5000
|
||||
}
|
||||
|
||||
write_site_header "$APPFACTORY_REGISTRY_DOMAIN"
|
||||
cat >> "$CADDY_FILE" <<'EOF_CADDY'
|
||||
handle /health {
|
||||
respond "Registry gateway OK" 200
|
||||
}
|
||||
|
||||
handle /v2/* {
|
||||
reverse_proxy appfactory-registry:5000
|
||||
}
|
||||
|
||||
handle {
|
||||
reverse_proxy appfactory-registry:5000
|
||||
}
|
||||
@@ -170,9 +190,7 @@ EOF_CADDY
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$APPFACTORY_ENABLE_HTTPS" = "true" ] && {
|
||||
[ -n "$APPFACTORY_PORTAL_DOMAIN" ] || [ -n "$APPFACTORY_GITEA_DOMAIN" ] || [ -n "$APPFACTORY_REGISTRY_DOMAIN" ];
|
||||
}; then
|
||||
if [ -n "$APPFACTORY_PORTAL_DOMAIN" ] || [ -n "$APPFACTORY_GITEA_DOMAIN" ] || [ -n "$APPFACTORY_REGISTRY_DOMAIN" ]; then
|
||||
write_domain_caddyfile
|
||||
else
|
||||
write_http_only_caddyfile
|
||||
|
||||
Reference in New Issue
Block a user