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

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

    cfg:: {
        name: "demo",
        image: "registry.k0.hswaw.net/radex/bruh:v3",
        domain: "demo.hs.radex.io",
    },

    local ns = kube.Namespace("personal-radex"),

    deployment: ns.Contain(kube.Deployment(cfg.name)) {
        spec+: {
            replicas: 3,
            template+: {
                spec+: {
                    containers_: {
                        default: kube.Container("default") {
                            image: cfg.image,
                            resources: {
                                requests: { cpu: "0.01", memory: "64M" },
                                limits: { cpu: "1", memory: "256M" },
                            },
                            ports_: {
                                http: { containerPort: 8080 },
                            },
                        },
                    },
                },
            },
        },
    },

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

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