68 lines
1.8 KiB
Nix
68 lines
1.8 KiB
Nix
let
|
|
appName = "vrchat-prometheus-exporter";
|
|
appImage = "git.gmem.ca/arch/vrchat-prometheus-adapter:arm";
|
|
in {
|
|
kubernetes.resources."monitoring.coreos.com"."v1".ServiceMonitor.vrchat-prometheus-adapter = {
|
|
metadata.namespace = "vrchat";
|
|
spec = {
|
|
selector.matchLabels.app = appName;
|
|
endpoints = [
|
|
{
|
|
port = "metrics";
|
|
interval = "60s";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
kubernetes.resources.services.vrchat-prometheus-adapter = {
|
|
metadata.namespace = "vrchat";
|
|
metadata.labels.app = appName;
|
|
spec = {
|
|
selector.app = appName;
|
|
ports.metrics = {
|
|
port = 6534;
|
|
targetPort = 6534;
|
|
};
|
|
};
|
|
};
|
|
kubernetes.resources.deployments.vrchat-prometheus-adapter = {
|
|
metadata.namespace = "vrchat";
|
|
spec = {
|
|
selector.matchLabels.app = appName;
|
|
template = {
|
|
metadata.labels.app = appName;
|
|
spec = {
|
|
volumes = {
|
|
config.configMap.name = "vrchat-prometheus-adapter";
|
|
};
|
|
containers = {
|
|
vrchat-prometheus-adapter = {
|
|
image = appImage;
|
|
imagePullPolicy = "Always";
|
|
volumeMounts = [
|
|
{
|
|
name = "config";
|
|
mountPath = "/config.toml";
|
|
subPath = "config.toml";
|
|
}
|
|
];
|
|
envFrom = [{secretRef.name = "vrchat-prometheus-adapter";}];
|
|
ports.metrics.containerPort = 6534;
|
|
resources = {
|
|
requests = {
|
|
cpu = "50m";
|
|
memory = "32Mi";
|
|
};
|
|
limits = {
|
|
cpu = "500m";
|
|
memory = "256Mi";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|