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

{
    local internet = self,
    local cfg = internet.cfg,
    cfg:: {
        namespace: "internet",
        appName: "internet-landing",
        domain: "internet.hackerspace.pl",

        tag: "202108261700",
        image: "registry.k0.hswaw.net/q3k/internet:" + cfg.tag,

        resources: {
            requests: {
                cpu: "25m",
                memory: "50Mi",
            },
            limits: {
                cpu: "100m",
                memory: "200Mi",
            },
        },
    },

    local ns = kube.Namespace(cfg.namespace),

    metadata(component):: {
        namespace: cfg.namespace,
        labels: {
            "app.kubernetes.io/name": cfg.appName,
            "app.kubernetes.io/managed-by": "kubecfg",
            "app.kubernetes.io/component": component,
        },
    },

    deployment: kube.Deployment("nginx") {
        metadata+: internet.metadata("nginx"),
        spec+: {
            replicas: 1,
            template+: {
                 spec+: {
                     containers_: {
                         nginx: kube.Container("nginx") {
                             image: cfg.image,
                             ports_: {
                                 http: { containerPort: 80 },
                             },
                             resources: cfg.resources,
                         },
                     },
                 },
            },
        },
    },

    svc: kube.Service("frontend") {
        metadata+: internet.metadata("frontend"),
        target:: internet.deployment,
    },

    ingress: kube.SimpleIngress("frontend") {
        hosts:: [cfg.domain],
        target_service:: internet.svc,
        metadata+: internet.metadata("frontend"),
    },
}
