local kube = import '../../kube/hscloud.libsonnet';

{
    local top = self,
    local cfg = top.cfg,

    cfg:: {
        name: 'walne',
        namespace: 'walne',
        domain: 'walne.hackerspace.pl',
        image: 'registry.k0.hswaw.net/radex/walne:1698228636',
        oauthClientId: '992f3daf-a30e-4409-baad-e7b0e4bc2a2e',
    },

    // kubectl -n walne create secret generic walne --from-literal=ldap_password=xxx --from-literal=oauth_secret=xxx --from-literal=next_auth_secret=$(pwgen 32 1)
    secrets:: {
        ldap: { secretKeyRef: { name: cfg.name, key: 'ldap_password' },},
        ouath: { secretKeyRef: { name: cfg.name, key: 'oauth_secret' } },
        nextAuth: { secretKeyRef: { name: cfg.name, key: 'next_auth_secret' } },
    },

    ns: kube.Namespace(cfg.namespace),
    deployment: top.ns.Contain(kube.Deployment(cfg.name)) {
        spec+: {
            template+: {
                spec+: {
                    containers_: {
                        default: kube.Container('default') {
                            image: cfg.image,
                            ports_: {
                                web: { containerPort: 3000 },
                            },
                            env_: {
                                LDAP_USER_DN: 'cn=walone-generator,ou=services,dc=hackerspace,dc=pl',
                                LDAP_USER_PW: top.secrets.ldap,
                                ALLOWED_LDAP_GROUPS: 'zarzad,rewizja,staff,walne-users',
                                HSWAW_AUTH_CLIENT_ID: cfg.oauthClientId,
                                HSWAW_AUTH_CLIENT_SECRET: top.secrets.ouath,
                                AUTH_SECRET: top.secrets.nextAuth,
                                REDIRECT_PROXY_URL: 'https://' + cfg.domain + '/auth',
                            },
                        },
                    },
                },
            },
        },
    },

    service: top.ns.Contain(kube.Service(cfg.name)) {
        target:: top.deployment,
    },

    ingress: top.ns.Contain(kube.SimpleIngress(cfg.name)) {
        hosts:: [cfg.domain],
        target_service:: top.service,
    },
}
