Inject cert-manager annotations and TLS configuration into Ingress resources
This commit is contained in:
parent
5dc4290337
commit
3892da3ced
@ -12,9 +12,6 @@ httpServiceRender = lambda h: HTTPService {
|
||||
kind = "Ingress"
|
||||
metadata = {
|
||||
name = h.service
|
||||
annotations = {
|
||||
"cert-manager.io/issuer": "letsencrypt"
|
||||
}
|
||||
}
|
||||
spec = {
|
||||
rules = [{
|
||||
@ -38,3 +35,26 @@ httpServiceRender = lambda h: HTTPService {
|
||||
}
|
||||
[ingress]
|
||||
}
|
||||
|
||||
certInjector = lambda input: networkingv1.Ingress | any {
|
||||
"""Inject cert to Ingress"""
|
||||
_result: any = {}
|
||||
if input.kind != "Ingress":
|
||||
_result = input
|
||||
else:
|
||||
ingress: networkingv1.Ingress = input as networkingv1.Ingress
|
||||
print(ingress)
|
||||
ingress.metadata.annotations = {"cert-manager.io/issuer" = "letsencrypt"}
|
||||
ingress.spec.tls = [{
|
||||
hosts = [r.host for r in ingress.spec.rules]
|
||||
secretName = "tls-" + ingress.metadata.name
|
||||
}]
|
||||
_result = ingress
|
||||
_result
|
||||
}
|
||||
|
||||
httpServiceRefine = lambda h: HTTPService {
|
||||
ingress = httpServiceRender(h)
|
||||
ingress2 = certInjector(ingress[0])
|
||||
ingress2
|
||||
}
|
||||
|
6
main.k
6
main.k
@ -26,15 +26,17 @@ envs = base.Envs {
|
||||
|
||||
http = base.HTTPService {
|
||||
service = "nginxxx"
|
||||
domain = "nginxxx.ve.suyiiyii.top"
|
||||
domain = prefix + "nginxxx.ve.suyiiyii.top"
|
||||
}
|
||||
|
||||
prefix = option(prefix, "str", False, "")
|
||||
deploys = sum([base.appRender(a) for a in apps], [])
|
||||
|
||||
apps_manifests = [base.envInjector(envs, deploy) for deploy in deploys]
|
||||
|
||||
ingresses = [base.httpServiceRender(http)]
|
||||
ingresses = [base.httpServiceRefine(http)]
|
||||
|
||||
env_manifests = [base.envSecretRender(a) for a in base.Envs.instances()]
|
||||
# base.appRender(a)
|
||||
manifests.yaml_stream([apps_manifests, env_manifests, ingresses, base.issuer])
|
||||
# print(prefix)
|
||||
|
Loading…
x
Reference in New Issue
Block a user