From ae2a725bd266510b029a120fd30143b73f99ed6d Mon Sep 17 00:00:00 2001 From: radex Date: Sun, 13 Aug 2023 11:45:59 +0200 Subject: [PATCH] personal/radex: +demo-next Change-Id: I7563f509e12ee1d6ec83261f3ad6386d8033fdc5 Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1570 --- personal/radex/demo-next/prod.jsonnet | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 personal/radex/demo-next/prod.jsonnet diff --git a/personal/radex/demo-next/prod.jsonnet b/personal/radex/demo-next/prod.jsonnet new file mode 100644 index 00000000..5f897626 --- /dev/null +++ b/personal/radex/demo-next/prod.jsonnet @@ -0,0 +1,63 @@ +local kube = import "../../../kube/kube.libsonnet"; + +{ + local top = self, + local cfg = self.cfg, + + cfg:: { + name: "demo-next", + image: "registry.k0.hswaw.net/radex/next-bruh:v1", + domain: "demo-next.hs.radex.io", + }, + + ns: kube.Namespace("personal-radex"), + + deployment: top.ns.Contain(kube.Deployment(cfg.name)) { + spec+: { + replicas: 3, + template+: { + spec+: { + containers_: { + default: kube.Container("default") { + image: cfg.image, + resources: { + requests: { cpu: "0.01", memory: "64M" }, + limits: { cpu: "1", memory: "256M" }, + }, + ports_: { + http: { containerPort: 3000 }, + }, + }, + }, + }, + }, + }, + }, + + service: top.ns.Contain(kube.Service(cfg.name)) { + target_pod:: top.deployment.spec.template, + }, + + ingress: top.ns.Contain(kube.Ingress(cfg.name)) { + 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: [ cfg.domain ], secretName: cfg.name + "-tls" } ], + rules: [ + { + host: cfg.domain, + http: { + paths: [ + { path: "/", backend: top.service.name_port }, + ], + }, + }, + ], + }, + } +}