| 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 }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }, |
| |
| } |