blob: 43f8a069186bc7684dfe15214474f9f32c6aea0a [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";
Serge Bazanskid0c9c412021-08-30 20:14:58 +00009local site = import "site.libsonnet";
Serge Bazanski0aa29102023-04-01 23:18:05 +000010local capacifier = import "capacifier.libsonnet";
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +010011
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020012{
13 hswaw(name):: mirko.Environment(name) {
14 local env = self,
15 local cfg = self.cfg,
16
17 cfg+: {
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +010018 smsgw: smsgw.cfg,
Sergiusz Bazanskic315aac2020-01-02 16:43:39 +010019 teleimg: teleimg.cfg,
Sergiusz Bazanski64946962020-02-02 17:15:55 +010020 frab: frab.cfg,
Sergiusz Bazanski74818e12020-02-18 22:56:21 +010021 pretalx: pretalx.cfg,
Serge Bazanski95ba05d2021-05-12 21:28:10 +000022 cebulacamp: cebulacamp.cfg,
Serge Bazanskid0c9c412021-08-30 20:14:58 +000023 site: site.cfg,
Serge Bazanski0aa29102023-04-01 23:18:05 +000024 capacifier: capacifier.cfg,
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020025 },
26
27 components: {
Sergiusz Bazanskid0ec2c62019-11-21 00:08:52 +010028 smsgw: smsgw.component(cfg.smsgw, env),
Sergiusz Bazanskia8854882020-01-05 00:34:38 +010029 teleimg: teleimg.teleimg(cfg.teleimg, env),
30 lelegram: teleimg.lelegram(cfg.teleimg, env),
Sergiusz Bazanski64946962020-02-02 17:15:55 +010031 frab: frab.component(cfg.frab, env),
Piotr Dobrowolski8e22f6c2023-05-10 22:20:13 +020032 pretalx: pretalx.component(cfg.pretalx, env) {
33 cronjob: null,
34 },
Serge Bazanski95ba05d2021-05-12 21:28:10 +000035 cebulacamp: cebulacamp.component(cfg.cebulacamp, env),
Serge Bazanskid0c9c412021-08-30 20:14:58 +000036 site: site.component(cfg.site, env),
Serge Bazanski0aa29102023-04-01 23:18:05 +000037 capacifier: capacifier.component(cfg.capacifier, env),
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020038 },
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 Bazanski5b866622019-10-18 14:54:36 +020048 },
Sergiusz Bazanskic315aac2020-01-02 16:43:39 +010049 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 Bazanski64946962020-02-02 17:15:55 +010055 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 Bazanski74818e12020-02-18 22:56:21 +010063 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 Bazanski95ba05d2021-05-12 21:28:10 +000071 cebulacamp+: {
72 webFQDN: "cebula.camp",
73 },
Serge Bazanskid0c9c412021-08-30 20:14:58 +000074 site+: {
75 webFQDN: "new.hackerspace.pl",
76 },
Serge Bazanski0aa29102023-04-01 23:18:05 +000077 capacifier+: {
Serge Bazanski88bec7a2023-09-22 22:09:24 +000078 ldapBindPassword: std.split(importstr "secrets/plain/prod-capacifier-password", "\n")[0],
Serge Bazanski0aa29102023-04-01 23:18:05 +000079 },
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020080 },
81 },
Serge Bazanski7459bbc2023-07-28 17:14:29 +000082
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 Bazanski603b4f72023-09-22 20:34:22 +000094 kube.User("radex@hackerspace.pl"),
Serge Bazanski7459bbc2023-07-28 17:14:29 +000095 ],
96 },
Sergiusz Bazanski6f773e02019-10-02 20:46:48 +020097}