blob: 46eda7076a50a5f65fb7d68442ef9a4ee059a24f [file] [log] [blame]
Serge Bazanski39942cc2021-08-29 18:21:39 +02001local kube = import "../../kube/kube.libsonnet";
2
3{
4 local top = self,
5 ns: kube.Namespace("personal-q3k"),
6
7 deploy: top.ns.Contain(kube.Deployment("ppsa-jsonapi")) {
8 spec+: {
9 template+: {
10 spec+: {
11 containers_: {
12 default: kube.Container("default") {
13 image: "registry.k0.hswaw.net/q3k/ppsa-jsonapi:1615508489",
14 ports_: {
15 http: { containerPort: 8080 },
16 },
17 resources: {
18 requests: {
19 cpu: "10m",
20 memory: "64M",
21 },
22 limits: {
23 cpu: "100m",
24 memory: "256M",
25 },
26 },
27 },
28 },
29 },
30 },
31 },
32 },
33 svc: top.ns.Contain(kube.Service("ppsa-jsonapi")) {
34 target_pod:: top.deploy.spec.template,
35 },
36 ingress: top.ns.Contain(kube.Ingress("ppsa-jsonapi")) {
37 metadata+: {
38 annotations+: {
39 "kubernetes.io/tls-acme": "true",
40 "certmanager.k8s.io/cluster-issuer": "letsencrypt-prod",
41 "nginx.ingress.kubernetes.io/proxy-body-size": "0",
42 },
43 },
44 spec+: {
45 tls: [
46 { hosts: [ "ppsa.app.q3k.org"], secretName: "ppsa-jsonapi-tls", },
47 ],
48 rules: [
49 {
50 host: "ppsa.app.q3k.org",
51 http: {
52 paths: [
53 { path: "/", backend: top.svc.name_port },
54 ],
55 },
56 },
57 ],
58 },
59 },
60
61}