Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 1 | local mirko = import "../../kube/mirko.libsonnet"; |
| 2 | local kube = import "../../kube/kube.libsonnet"; |
| 3 | |
Sergiusz Bazanski | d0ec2c6 | 2019-11-21 00:08:52 +0100 | [diff] [blame] | 4 | local smsgw = import "smsgw.libsonnet"; |
Sergiusz Bazanski | c315aac | 2020-01-02 16:43:39 +0100 | [diff] [blame] | 5 | local teleimg = import "teleimg.libsonnet"; |
Sergiusz Bazanski | 6494696 | 2020-02-02 17:15:55 +0100 | [diff] [blame] | 6 | local frab = import "frab.libsonnet"; |
Sergiusz Bazanski | 74818e1 | 2020-02-18 22:56:21 +0100 | [diff] [blame] | 7 | local pretalx = import "pretalx.libsonnet"; |
Serge Bazanski | 95ba05d | 2021-05-12 21:28:10 +0000 | [diff] [blame] | 8 | local cebulacamp = import "cebulacamp.libsonnet"; |
Serge Bazanski | d0c9c41 | 2021-08-30 20:14:58 +0000 | [diff] [blame] | 9 | local site = import "site.libsonnet"; |
Serge Bazanski | 0aa2910 | 2023-04-01 23:18:05 +0000 | [diff] [blame] | 10 | local capacifier = import "capacifier.libsonnet"; |
Sergiusz Bazanski | d0ec2c6 | 2019-11-21 00:08:52 +0100 | [diff] [blame] | 11 | |
Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 12 | { |
| 13 | hswaw(name):: mirko.Environment(name) { |
| 14 | local env = self, |
| 15 | local cfg = self.cfg, |
| 16 | |
| 17 | cfg+: { |
Sergiusz Bazanski | d0ec2c6 | 2019-11-21 00:08:52 +0100 | [diff] [blame] | 18 | smsgw: smsgw.cfg, |
Sergiusz Bazanski | c315aac | 2020-01-02 16:43:39 +0100 | [diff] [blame] | 19 | teleimg: teleimg.cfg, |
Sergiusz Bazanski | 6494696 | 2020-02-02 17:15:55 +0100 | [diff] [blame] | 20 | frab: frab.cfg, |
Sergiusz Bazanski | 74818e1 | 2020-02-18 22:56:21 +0100 | [diff] [blame] | 21 | pretalx: pretalx.cfg, |
Serge Bazanski | 95ba05d | 2021-05-12 21:28:10 +0000 | [diff] [blame] | 22 | cebulacamp: cebulacamp.cfg, |
Serge Bazanski | d0c9c41 | 2021-08-30 20:14:58 +0000 | [diff] [blame] | 23 | site: site.cfg, |
Serge Bazanski | 0aa2910 | 2023-04-01 23:18:05 +0000 | [diff] [blame] | 24 | capacifier: capacifier.cfg, |
Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 25 | }, |
| 26 | |
| 27 | components: { |
Sergiusz Bazanski | d0ec2c6 | 2019-11-21 00:08:52 +0100 | [diff] [blame] | 28 | smsgw: smsgw.component(cfg.smsgw, env), |
Sergiusz Bazanski | a885488 | 2020-01-05 00:34:38 +0100 | [diff] [blame] | 29 | teleimg: teleimg.teleimg(cfg.teleimg, env), |
| 30 | lelegram: teleimg.lelegram(cfg.teleimg, env), |
Sergiusz Bazanski | 6494696 | 2020-02-02 17:15:55 +0100 | [diff] [blame] | 31 | frab: frab.component(cfg.frab, env), |
Piotr Dobrowolski | 8e22f6c | 2023-05-10 22:20:13 +0200 | [diff] [blame] | 32 | pretalx: pretalx.component(cfg.pretalx, env) { |
| 33 | cronjob: null, |
| 34 | }, |
Serge Bazanski | 95ba05d | 2021-05-12 21:28:10 +0000 | [diff] [blame] | 35 | cebulacamp: cebulacamp.component(cfg.cebulacamp, env), |
Serge Bazanski | d0c9c41 | 2021-08-30 20:14:58 +0000 | [diff] [blame] | 36 | site: site.component(cfg.site, env), |
Serge Bazanski | 0aa2910 | 2023-04-01 23:18:05 +0000 | [diff] [blame] | 37 | capacifier: capacifier.component(cfg.capacifier, env), |
Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 38 | }, |
| 39 | }, |
| 40 | |
| 41 | prod: self.hswaw("hswaw-prod") { |
| 42 | cfg+: { |
| 43 | smsgw+: { |
| 44 | secret+: { |
| 45 | twilio_token: std.base64(std.split(importstr "secrets/plain/prod-twilio-token", "\n")[0]), |
| 46 | }, |
| 47 | webhookFQDN: "smsgw-webhook-prod.hswaw.net", |
Sergiusz Bazanski | 5b86662 | 2019-10-18 14:54:36 +0200 | [diff] [blame] | 48 | }, |
Sergiusz Bazanski | c315aac | 2020-01-02 16:43:39 +0100 | [diff] [blame] | 49 | teleimg+: { |
| 50 | webFQDN: "teleimg.hswaw.net", |
| 51 | secret+: { |
| 52 | telegram_token: std.base64(std.split(importstr "secrets/plain/prod-telegram-token", "\n")[0]), |
| 53 | }, |
| 54 | }, |
Sergiusz Bazanski | 6494696 | 2020-02-02 17:15:55 +0100 | [diff] [blame] | 55 | frab+: { |
| 56 | storageClassName: "waw-hdd-redundant-3", |
| 57 | webFQDN: "frab.hackerspace.pl", |
| 58 | secret+: { |
| 59 | secretKeyBase: std.base64(std.split(importstr "secrets/plain/prod-frab-smtp-password", "\n")[0]), |
| 60 | smtpPassword: std.base64(std.split(importstr "secrets/plain/prod-frab-secret-key-base", "\n")[0]), |
| 61 | }, |
| 62 | }, |
Sergiusz Bazanski | 74818e1 | 2020-02-18 22:56:21 +0100 | [diff] [blame] | 63 | pretalx+: { |
| 64 | storageClassName: "waw-hdd-redundant-3", |
| 65 | webFQDN: "cfp.cebula.camp", |
| 66 | smtpPassword: std.base64(std.split(importstr "secrets/plain/prod-pretalx-smtp-password", "\n")[0]), |
| 67 | s3+: { |
| 68 | credsSecret: import "secrets/plain/prod-pretalx-s3.json", |
| 69 | }, |
| 70 | }, |
Serge Bazanski | 95ba05d | 2021-05-12 21:28:10 +0000 | [diff] [blame] | 71 | cebulacamp+: { |
| 72 | webFQDN: "cebula.camp", |
| 73 | }, |
Serge Bazanski | d0c9c41 | 2021-08-30 20:14:58 +0000 | [diff] [blame] | 74 | site+: { |
| 75 | webFQDN: "new.hackerspace.pl", |
| 76 | }, |
Serge Bazanski | 0aa2910 | 2023-04-01 23:18:05 +0000 | [diff] [blame] | 77 | capacifier+: { |
| 78 | ldapBindPassword: std.base64(std.split(importstr "secrets/plain/prod-capacifier-password", "\n")[0]), |
| 79 | }, |
Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 80 | }, |
| 81 | }, |
Serge Bazanski | 7459bbc | 2023-07-28 17:14:29 +0000 | [diff] [blame] | 82 | |
| 83 | admins: kube.RoleBinding("admins") { |
| 84 | metadata+: { |
| 85 | namespace: "hswaw-prod", |
| 86 | }, |
| 87 | roleRef: { |
| 88 | apiGroup: "rbac.authorization.k8s.io", |
| 89 | kind: "ClusterRole", |
| 90 | name: "system:admin-namespace", |
| 91 | }, |
| 92 | subjects: [ |
| 93 | kube.User("ar@hackerspace.pl"), |
Serge Bazanski | 603b4f7 | 2023-09-22 20:34:22 +0000 | [diff] [blame] | 94 | kube.User("radex@hackerspace.pl"), |
Serge Bazanski | 7459bbc | 2023-07-28 17:14:29 +0000 | [diff] [blame] | 95 | ], |
| 96 | }, |
Sergiusz Bazanski | 6f773e0 | 2019-10-02 20:46:48 +0200 | [diff] [blame] | 97 | } |