blob: f7206ade59e10029035fef1767ec56f6ca172e53 [file] [log] [blame]
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +02001local mirko = import "../../kube/mirko.libsonnet";
2local kube = import "../../kube/kube.libsonnet";
3
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +01004local smsgw = import "smsgw.libsonnet";
Sergiusz Bazanskic315aac2020-01-02 16:43:39 +01005local teleimg = import "teleimg.libsonnet";
Sergiusz Bazanski64946962020-02-02 17:15:55 +01006local frab = import "frab.libsonnet";
Sergiusz Bazanski74818e12020-02-18 22:56:21 +01007local pretalx = import "pretalx.libsonnet";
Serge Bazanski95ba05d2021-05-12 21:28:10 +00008local cebulacamp = import "cebulacamp.libsonnet";
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +01009
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020010{
11 hswaw(name):: mirko.Environment(name) {
12 local env = self,
13 local cfg = self.cfg,
14
15 cfg+: {
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +010016 smsgw: smsgw.cfg,
Sergiusz Bazanskic315aac2020-01-02 16:43:39 +010017 teleimg: teleimg.cfg,
Sergiusz Bazanski64946962020-02-02 17:15:55 +010018 frab: frab.cfg,
Sergiusz Bazanski74818e12020-02-18 22:56:21 +010019 pretalx: pretalx.cfg,
Serge Bazanski95ba05d2021-05-12 21:28:10 +000020 cebulacamp: cebulacamp.cfg,
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020021 },
22
23 components: {
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +010024 smsgw: smsgw.component(cfg.smsgw, env),
Sergiusz Bazanskia8854882020-01-05 00:34:38 +010025 teleimg: teleimg.teleimg(cfg.teleimg, env),
26 lelegram: teleimg.lelegram(cfg.teleimg, env),
Sergiusz Bazanski64946962020-02-02 17:15:55 +010027 frab: frab.component(cfg.frab, env),
Piotr Dobrowolski8e22f6c2023-05-10 22:20:13 +020028 pretalx: pretalx.component(cfg.pretalx, env) {
29 cronjob: null,
30 },
Serge Bazanski95ba05d2021-05-12 21:28:10 +000031 cebulacamp: cebulacamp.component(cfg.cebulacamp, env),
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020032 },
33 },
34
35 prod: self.hswaw("hswaw-prod") {
36 cfg+: {
37 smsgw+: {
38 secret+: {
39 twilio_token: std.base64(std.split(importstr "secrets/plain/prod-twilio-token", "\n")[0]),
40 },
41 webhookFQDN: "smsgw-webhook-prod.hswaw.net",
Sergiusz Bazanski5b866622019-10-18 14:54:36 +020042 },
Sergiusz Bazanskic315aac2020-01-02 16:43:39 +010043 teleimg+: {
44 webFQDN: "teleimg.hswaw.net",
45 secret+: {
46 telegram_token: std.base64(std.split(importstr "secrets/plain/prod-telegram-token", "\n")[0]),
47 },
48 },
Sergiusz Bazanski64946962020-02-02 17:15:55 +010049 frab+: {
50 storageClassName: "waw-hdd-redundant-3",
51 webFQDN: "frab.hackerspace.pl",
52 secret+: {
53 secretKeyBase: std.base64(std.split(importstr "secrets/plain/prod-frab-smtp-password", "\n")[0]),
54 smtpPassword: std.base64(std.split(importstr "secrets/plain/prod-frab-secret-key-base", "\n")[0]),
55 },
56 },
Sergiusz Bazanski74818e12020-02-18 22:56:21 +010057 pretalx+: {
58 storageClassName: "waw-hdd-redundant-3",
59 webFQDN: "cfp.cebula.camp",
60 smtpPassword: std.base64(std.split(importstr "secrets/plain/prod-pretalx-smtp-password", "\n")[0]),
61 s3+: {
62 credsSecret: import "secrets/plain/prod-pretalx-s3.json",
63 },
64 },
Serge Bazanski95ba05d2021-05-12 21:28:10 +000065 cebulacamp+: {
66 webFQDN: "cebula.camp",
67 },
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020068 },
69 },
Serge Bazanski7459bbc2023-07-28 17:14:29 +000070
71 admins: kube.RoleBinding("admins") {
72 metadata+: {
73 namespace: "hswaw-prod",
74 },
75 roleRef: {
76 apiGroup: "rbac.authorization.k8s.io",
77 kind: "ClusterRole",
78 name: "system:admin-namespace",
79 },
80 subjects: [
81 kube.User("ar@hackerspace.pl"),
Serge Bazanski603b4f72023-09-22 20:34:22 +000082 kube.User("radex@hackerspace.pl"),
Serge Bazanski7459bbc2023-07-28 17:14:29 +000083 ],
84 },
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020085}