fix(tls) Add post render script to add non-www hostname

The python script add katenary.io without "www" to generate the
certificate and to be able to accept https://katenary.io to make the
redirection.
This commit is contained in:
2025-10-19 09:42:10 +02:00
parent df926940c9
commit e3aa2f08db
2 changed files with 18 additions and 1 deletions

View File

@@ -11,7 +11,7 @@ dist: $(wildcard src/* compose.yaml)
podman run --rm -it -u $(id -u):$(id -g) -v $(PWD):/app -w /app node:alpine sh -c "yarn install && yarn parcel build --no-source-maps"
deploy: build
helm -n $(NS) upgrade --install $(RELEASE) ./chart/ -f override.yaml --create-namespace
helm -n $(NS) upgrade --install $(RELEASE) ./chart/ -f override.yaml --create-namespace --post-render=./post-render.py
sleep 1
kubectl -n $(NS) rollout restart deployment $(RELEASE)-server

17
post-render.py Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/env python
import sys
import yaml
if __name__ == "__main__":
# get stdin content
resources = list(yaml.safe_load_all(sys.stdin))
ingresses = [r for r in resources if r["kind"] == "Ingress"]
for ingress in ingresses:
tls = ingress.get("spec", {}).get("tls", [])
for tls_entry in tls:
hosts = {h for h in tls_entry.get("hosts", []) if h.startswith("www.")}
for h in hosts:
tls_entry["hosts"].append(h[4:])
print(yaml.dump_all(resources))