| local kube = import '../../../kube/hscloud.libsonnet'; |
| |
| { |
| local top = self, |
| local cfg = top.cfg, |
| cfg:: { |
| name: "internet-landing", |
| namespace: "internet", |
| domain: "internet.hackerspace.pl", |
| |
| image: "registry.k0.hswaw.net/radex/internet:20231124144325", |
| |
| resources: { |
| requests: { cpu: "25m", memory: "50Mi" }, |
| limits: { cpu: "100m", memory: "200Mi" }, |
| }, |
| }, |
| |
| local ns = kube.Namespace(cfg.namespace), |
| |
| deployment: ns.Contain(kube.Deployment(cfg.name)) { |
| spec+: { |
| replicas: 1, |
| template+: { |
| spec+: { |
| containers_: { |
| default: kube.Container("default") { |
| image: cfg.image, |
| ports_: { |
| http: { containerPort: 8080 }, |
| }, |
| resources: cfg.resources, |
| }, |
| }, |
| }, |
| }, |
| }, |
| }, |
| |
| service: ns.Contain(kube.Service(cfg.name)) { |
| target:: top.deployment, |
| }, |
| |
| ingress: ns.Contain(kube.SimpleIngress(cfg.name)) { |
| hosts:: [cfg.domain], |
| target:: top.service, |
| }, |
| } |