Files
domain-incoming/monitor/prometheus/prometheus.tf
2024-05-25 14:55:10 +02:00

63 lines
1.9 KiB
HCL

resource "kubectl_manifest" "prometheus" {
yaml_body = <<-EOF
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: prometheus
namespace: "${var.namespace}"
labels: ${jsonencode(local.common_labels)}
spec:
image: "${var.images.prometheus.registry}/${var.images.prometheus.repository}:${var.images.prometheus.tag}"
version: ${var.images.prometheus.tag}
externalUrl: http://${var.instance}-${var.component}.${var.namespace}:9090
replicas: ${var.replicas}
shards: ${var.shards}
logLevel: ${var.logLevel}
listenLocal: ${var.listenLocal}
enableAdminAPI: ${var.enableAdminAPI}
retention: "${var.retention}"
tsdb:
outOfOrderTimeWindow: 0s
walCompression: true
routePrefix: "/"
alerting:
alertmanagers:
- namespace: ${var.namespace}
name: ${var.alertmanager}
port: http-web
pathPrefix: "/"
apiVersion: v2
scrapeConfigNamespaceSelector: {}
scrapeConfigSelector:
matchLabels:
app.kubernetes.io/managed-by: vynil
serviceMonitorNamespaceSelector: {}
serviceMonitorSelector:
matchLabels:
app.kubernetes.io/managed-by: vynil
podMonitorNamespaceSelector: {}
podMonitorSelector:
matchLabels:
app.kubernetes.io/managed-by: vynil
probeNamespaceSelector: {}
probeSelector:
matchLabels:
app.kubernetes.io/managed-by: vynil
ruleNamespaceSelector: {}
ruleSelector:
matchLabels:
app.kubernetes.io/managed-by: vynil
serviceAccountName: prometheus-kube-prometheus-prometheus
securityContext:
fsGroup: 2000
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
portName: http-web
hostNetwork: false
EOF
}