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 = { spec = { selector.matchLabels.app = appName; endpoints = [ { port = "metrics"; interval = "60s"; } ]; }; }; kubernetes.resources.services.vrchat-prometheus-adapter = { metadata.labels.app = appName; spec = { selector.app = appName; ports.metrics = { port = 6534; targetPort = 6534; }; }; }; kubernetes.resources.deployments.vrchat-prometheus-adapter.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"; }; }; }; }; }; }; }; }