local kube = import "../../kube/kube.libsonnet"; { local top = self, ns: kube.Namespace("personal-q3k"), deploy: top.ns.Contain(kube.Deployment("ppsa-jsonapi")) { spec+: { template+: { spec+: { containers_: { default: kube.Container("default") { image: "registry.k0.hswaw.net/q3k/ppsa-jsonapi:1615508489", ports_: { http: { containerPort: 8080 }, }, resources: { requests: { cpu: "10m", memory: "64M", }, limits: { cpu: "100m", memory: "256M", }, }, }, }, }, }, }, }, svc: top.ns.Contain(kube.Service("ppsa-jsonapi")) { target_pod:: top.deploy.spec.template, }, ingress: top.ns.Contain(kube.Ingress("ppsa-jsonapi")) { metadata+: { annotations+: { "kubernetes.io/tls-acme": "true", "cert-manager.io/cluster-issuer": "letsencrypt-prod", "nginx.ingress.kubernetes.io/proxy-body-size": "0", }, }, spec+: { tls: [ { hosts: [ "ppsa.app.q3k.org"], secretName: "ppsa-jsonapi-tls", }, ], rules: [ { host: "ppsa.app.q3k.org", http: { paths: [ { path: "/", backend: top.svc.name_port }, ], }, }, ], }, }, }