66 lines
1.7 KiB
Nix
66 lines
1.7 KiB
Nix
let
|
|
appName = "nextdns-exporter";
|
|
nextdns-exporterImage = "ghcr.io/raylas/nextdns-exporter:0.5.3";
|
|
in {
|
|
kubernetes.resources."monitoring.coreos.com"."v1".ServiceMonitor.nextdns-exporter = {
|
|
metadata.namespace = "prometheus";
|
|
metadata.labels.app = appName;
|
|
spec = {
|
|
selector.matchLabels.app = appName;
|
|
endpoints = [
|
|
{
|
|
port = "metrics";
|
|
interval = "30s";
|
|
}
|
|
{
|
|
port = "ts-metrics";
|
|
interval = "30s";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
kubernetes.resources.services.nextdns-exporter-metrics = {
|
|
metadata.namespace = "prometheus";
|
|
metadata.labels.app = appName;
|
|
spec = {
|
|
selector.app = appName;
|
|
ports.metrics = {
|
|
port = 9948;
|
|
targetPort = 9948;
|
|
};
|
|
ports.ts-metrics = {
|
|
port = 9949;
|
|
targetPort = 9949;
|
|
};
|
|
};
|
|
};
|
|
|
|
kubernetes.resources.deployments.nextdns-exporter = {
|
|
metadata.namespace = "prometheus";
|
|
spec = {
|
|
selector.matchLabels.app = appName;
|
|
template = {
|
|
metadata.labels.app = appName;
|
|
spec = {
|
|
containers = {
|
|
nextdns-exporter = {
|
|
image = nextdns-exporterImage;
|
|
imagePullPolicy = "Always";
|
|
ports.metrics.containerPort = 9948;
|
|
envFrom = [{secretRef.name = "nextdns-exporter";}];
|
|
};
|
|
nextdns-ts-exporter = {
|
|
image = nextdns-exporterImage;
|
|
imagePullPolicy = "Always";
|
|
ports.metrics.containerPort = 9949;
|
|
env.METRICS_PORT.value = "9949";
|
|
envFrom = [{secretRef.name = "nextdns-ts-exporter";}];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|