local mirko = import "../../kube/mirko.libsonnet";
local kube = import "../../kube/kube.libsonnet";

local teleimg = import "teleimg.libsonnet";
local pretalx = import "pretalx.libsonnet";

{
    hswaw(name):: mirko.Environment(name) {
        local env = self,
        local cfg = self.cfg,

        cfg+: {
            teleimg: teleimg.cfg,
            pretalx: pretalx.cfg,
        },

        components: {
            teleimg: teleimg.teleimg(cfg.teleimg, env),
            pretalx: pretalx.component(cfg.pretalx, env) {
                cronjob: null,
            },
        },
    },

    prod: self.hswaw("hswaw-prod") {
        cfg+: {
            teleimg+: {
                webFQDN: "teleimg.hswaw.net",
                secret+: {
                    telegram_token: std.base64(std.split(importstr "secrets/plain/prod-telegram-token", "\n")[0]),
                },
            },
            pretalx+: {
                storageClassName: "waw-hdd-redundant-3",
                webFQDN: "cfp.cebula.camp",
                smtpPassword: std.base64(std.split(importstr "secrets/plain/prod-pretalx-smtp-password", "\n")[0]),
                s3+: {
                    credsSecret: import "secrets/plain/prod-pretalx-s3.json",
                },
            },
        },
    },
}
