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

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

    cfg:: {
        name: 'ldapweb',
        namespace: 'ldapweb',
        domain: 'profile.hackerspace.pl',
        image: 'registry.k0.hswaw.net/radex/ldapweb:1698604668',
    },

    secrets:: {
        admin_password: { secretKeyRef: { name: cfg.name, key: 'admin_password' } },
    },

    ns: kube.Namespace(cfg.namespace),

    deployment: top.ns.Contain(kube.Deployment(cfg.name)) {
        spec+: {
            replicas: 1,
            template+: {
                spec+: {
                    containers_: {
                        default: kube.Container("default") {
                            image: cfg.image,
                            resources: {
                                requests: { cpu: "25m", memory: "256Mi" },
                                limits: { cpu: "500m", memory: "512Mi" },
                            },
                            ports_: {
                                http: { containerPort: 8000 },
                            },
                            env_: {
                                LDAPWEB_ADMIN_GROUPS: 'ldap-admin,staff,zarzad',
                                LDAPWEB_ACTIVE_GROUPS: 'fatty,starving,potato',
                                LDAPWEB_ADMIN_DN: 'cn=ldapweb,ou=services,dc=hackerspace,dc=pl',
                                LDAPWEB_ADMIN_PASSWORD: top.secrets.admin_password,
                                LDAPWEB_AVATAR_CACHE_TIMEOUT: '1800',
                            }
                        },
                    },
                },
            },
        },
    },

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

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