blob: a84950e7cba76cf3fb3d41130dd78caf90a5e234 [file] [log] [blame]
Radek Pietruszewskif5844312023-10-27 22:41:18 +02001local kube = import "../../kube/hscloud.libsonnet";
radexa3649342023-09-23 09:34:58 +02002
3{
4 local top = self,
5 local cfg = self.cfg,
6
7 cfg:: {
8 name: 'site',
9 namespace: 'site',
10 domains: [
Serge Bazanski63ce4232023-10-09 23:41:15 +000011 'new.hackerspace.pl',
radexa3649342023-09-23 09:34:58 +020012 ],
Serge Bazanski56df80c2023-10-28 17:34:23 +000013 image: 'registry.k0.hswaw.net/q3k/hswaw-site@sha256:02414c9e7e0751abe7a8ad3ef1b1ccc35f1f89edf67a6f0b396b7a1d0c178f2b',
radexa3649342023-09-23 09:34:58 +020014 },
15
radex99ed6a72023-11-24 11:42:55 +010016 local ns = kube.Namespace(cfg.namespace),
radexa3649342023-09-23 09:34:58 +020017
radex99ed6a72023-11-24 11:42:55 +010018 deployment: ns.Contain(kube.Deployment(cfg.name)) {
radexa3649342023-09-23 09:34:58 +020019 spec+: {
20 replicas: 3,
21 template+: {
22 spec+: {
23 containers_: {
24 default: kube.Container("default") {
25 image: cfg.image,
26 command: [
27 "/hswaw/site/site",
radexa3649342023-09-23 09:34:58 +020028 "-logtostderr",
29 ],
30 resources: {
31 requests: { cpu: "25m", memory: "64Mi" },
32 limits: { cpu: "500m", memory: "128Mi" },
33 },
34 ports_: {
35 http: { containerPort: 8080 },
36 },
37 },
38 },
39 },
40 },
41 },
42 },
43
radex99ed6a72023-11-24 11:42:55 +010044 service: ns.Contain(kube.Service(cfg.name)) {
radex8b8f3872023-11-24 11:09:46 +010045 target:: top.deployment,
radexa3649342023-09-23 09:34:58 +020046 },
47
radex99ed6a72023-11-24 11:42:55 +010048 ingress: ns.Contain(kube.SimpleIngress(cfg.name)) {
Radek Pietruszewskif5844312023-10-27 22:41:18 +020049 hosts:: cfg.domains,
50 target_service:: top.service,
radexa3649342023-09-23 09:34:58 +020051 },
52}