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:
2
Makefile
2
Makefile
@@ -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"
|
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
|
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
|
sleep 1
|
||||||
kubectl -n $(NS) rollout restart deployment $(RELEASE)-server
|
kubectl -n $(NS) rollout restart deployment $(RELEASE)-server
|
||||||
|
|
||||||
|
|||||||
17
post-render.py
Executable file
17
post-render.py
Executable 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))
|
||||||
Reference in New Issue
Block a user