infra/homelab/metube.nix

65 lines
1.3 KiB
Nix

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;
};
}
];
}
];
};
};
}