Piotr Dobrowolski | b67ae48 | 2021-01-31 10:35:38 +0100 | [diff] [blame] | 1 | local kube = import "../../../kube/kube.libsonnet"; |
| 2 | |
| 3 | { |
| 4 | local app = self, |
| 5 | local cfg = app.cfg, |
| 6 | cfg:: { |
| 7 | image: error "cfg.image must be set", |
| 8 | |
| 9 | # webDomain is the domain name of matrix homeserver to be served |
| 10 | webDomain: error "cfg.webDomain must be set", |
| 11 | }, |
| 12 | |
| 13 | ns:: error "ns needs to be a kube.Namespace object", |
| 14 | |
| 15 | deployment: app.ns.Contain(kube.Deployment("wellknown")) { |
| 16 | spec+: { |
| 17 | replicas: 1, |
| 18 | template+: { |
| 19 | spec+: { |
| 20 | containers_: { |
| 21 | web: kube.Container("wellknown") { |
| 22 | image: cfg.image, |
| 23 | ports_: { |
| 24 | http: { containerPort: 8080 }, |
| 25 | }, |
| 26 | command: ["/app/matrix/wellknown"], |
| 27 | args: ["-hspki_disable", "-domain", cfg.webDomain], |
| 28 | }, |
| 29 | }, |
| 30 | securityContext: { |
| 31 | runAsUser: 101, |
| 32 | runAsGroup: 101, |
| 33 | }, |
| 34 | }, |
| 35 | }, |
| 36 | }, |
| 37 | }, |
| 38 | svc: app.ns.Contain(kube.Service("wellknown")) { |
| 39 | target_pod:: app.deployment.spec.template, |
| 40 | }, |
| 41 | } |