blob: 632febce6e705a5798df8bf8a2089022e7b8b9cf [file] [log] [blame]
Radek Pietruszewskif5844312023-10-27 22:41:18 +02001local kube = import '../../../kube/hscloud.libsonnet';
Sergiusz Bazanski94f8dbf2019-07-09 13:02:27 +02002
3{
4 local internet = self,
5 local cfg = internet.cfg,
6 cfg:: {
7 namespace: "internet",
8 appName: "internet-landing",
9 domain: "internet.hackerspace.pl",
10
Serge Bazanskie3ea97b2021-08-29 18:19:28 +020011 tag: "202108261700",
12 image: "registry.k0.hswaw.net/q3k/internet:" + cfg.tag,
Sergiusz Bazanski94f8dbf2019-07-09 13:02:27 +020013
14 resources: {
15 requests: {
16 cpu: "25m",
17 memory: "50Mi",
18 },
19 limits: {
20 cpu: "100m",
21 memory: "200Mi",
22 },
23 },
24 },
25
radex99ed6a72023-11-24 11:42:55 +010026 local ns = kube.Namespace(cfg.namespace),
Sergiusz Bazanski94f8dbf2019-07-09 13:02:27 +020027
28 metadata(component):: {
29 namespace: cfg.namespace,
30 labels: {
31 "app.kubernetes.io/name": cfg.appName,
32 "app.kubernetes.io/managed-by": "kubecfg",
33 "app.kubernetes.io/component": component,
34 },
35 },
36
37 deployment: kube.Deployment("nginx") {
38 metadata+: internet.metadata("nginx"),
39 spec+: {
40 replicas: 1,
41 template+: {
42 spec+: {
43 containers_: {
44 nginx: kube.Container("nginx") {
45 image: cfg.image,
46 ports_: {
47 http: { containerPort: 80 },
48 },
49 resources: cfg.resources,
50 },
51 },
52 },
53 },
54 },
55 },
56
57 svc: kube.Service("frontend") {
58 metadata+: internet.metadata("frontend"),
radex8b8f3872023-11-24 11:09:46 +010059 target:: internet.deployment,
Sergiusz Bazanski94f8dbf2019-07-09 13:02:27 +020060 },
61
Radek Pietruszewskif5844312023-10-27 22:41:18 +020062 ingress: kube.SimpleIngress("frontend") {
63 hosts:: [cfg.domain],
64 target_service:: internet.svc,
65 metadata+: internet.metadata("frontend"),
Sergiusz Bazanski94f8dbf2019-07-09 13:02:27 +020066 },
67}