blob: ee149928dfc0dd1f961bed5db6441311150260aa [file] [log] [blame]
Radek Pietruszewskif5844312023-10-27 22:41:18 +02001local kube = import '../../../kube/hscloud.libsonnet';
Sergiusz Bazanski3e212332019-07-13 18:10:21 +02002
3{
4 local speedtest = self,
5 local cfg = speedtest.cfg,
6 cfg:: {
7 namespace: "speedtest",
8 appName: "speedtest",
9 domain: "speedtest.hackerspace.pl",
10
Serge Bazanskieb09c6a2020-10-06 17:28:19 +020011 image: "registry.k0.hswaw.net/q3k/speedetst:1601997887-f9d9c752ad8403c2b284bfeab23111b25f7e2214",
Sergiusz Bazanski3e212332019-07-13 18:10:21 +020012
13 resources: {
14 requests: {
15 cpu: "25m",
16 memory: "50Mi",
17 },
18 limits: {
19 cpu: "100m",
20 memory: "200Mi",
21 },
22 },
23 },
24
radex99ed6a72023-11-24 11:42:55 +010025 local ns = kube.Namespace(cfg.namespace),
Sergiusz Bazanski3e212332019-07-13 18:10:21 +020026
27 metadata(component):: {
28 namespace: cfg.namespace,
29 labels: {
30 "app.kubernetes.io/name": cfg.appName,
31 "app.kubernetes.io/managed-by": "kubecfg",
32 "app.kubernetes.io/component": component,
33 },
34 },
35
36 deployment: kube.Deployment("backend") {
37 metadata+: speedtest.metadata("backend"),
38 spec+: {
39 replicas: 1,
40 template+: {
41 spec+: {
42 containers_: {
43 nginx: kube.Container("backend") {
44 image: cfg.image,
45 ports_: {
46 http: { containerPort: 8080 },
47 },
48 resources: cfg.resources,
49 },
50 },
51 },
52 },
53 },
54 },
55
56 svc: kube.Service("public") {
57 metadata+: speedtest.metadata("public"),
radex8b8f3872023-11-24 11:09:46 +010058 target:: speedtest.deployment,
Sergiusz Bazanski3e212332019-07-13 18:10:21 +020059 },
60
Radek Pietruszewskif5844312023-10-27 22:41:18 +020061 ingress: kube.SimpleIngress("public") {
62 hosts:: [cfg.domain],
63 target_service:: speedtest.svc,
64 metadata+: speedtest.metadata("public"),
Sergiusz Bazanski3e212332019-07-13 18:10:21 +020065 },
66}