let appName = "metube"; appImage = "ghcr.io/alexta69/metube"; in { kubernetes.resources.services.metube = { metadata.namespace = "metube"; spec = { selector.app = "metube"; ports.http = { port = 8081; targetPort = 8081; }; }; }; kubernetes.resources.deployments.metube = { metadata.namespace = "metube"; spec = { selector.matchLabels.app = "metube"; template = { metadata.labels.app = "metube"; spec = { containers = { metube = { image = appImage; imagePullPolicy = "Always"; ports.http.containerPort = 8081; }; }; }; }; }; }; kubernetes.resources.ingresses.metube = { metadata.namespace = "metube"; metadata.annotations = { "cert-manager.io/cluster-issuer" = "le-issuer"; }; spec = { tls = [ { hosts = ["metube.gmem.ca"]; } ]; rules = [ { host = "metube.gmem.ca"; http.paths = [ { path = "/"; pathType = "Prefix"; backend.service = { name = "metube"; port.number = 8081; }; } ]; } ]; }; }; }