infra/clusters/aprs/monitoring/kube-prometheus-stack-values.yaml
2025-08-02 11:14:56 -05:00

150 lines
No EOL
2.9 KiB
YAML

# Optimized values for k3s deployment
prometheus:
prometheusSpec:
# Resource limits for edge deployment
resources:
requests:
memory: 400Mi
cpu: 100m
limits:
memory: 2Gi
cpu: 1000m
# Retention and storage
retention: 30d
retentionSize: "10GB"
# Storage configuration
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: ceph-rbd
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 200Gi
# Scrape configs
additionalScrapeConfigs:
- job_name: 'postgres-exporter'
static_configs:
- targets: ['postgres-exporter.aprs:9187']
- job_name: 'pgbouncer-exporter'
static_configs:
- targets: ['pgbouncer-exporter.aprs:9127']
alertmanager:
enabled: true
alertmanagerSpec:
resources:
requests:
memory: 100Mi
cpu: 50m
limits:
memory: 200Mi
cpu: 100m
storage:
volumeClaimTemplate:
spec:
storageClassName: ceph-rbd
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
grafana:
enabled: true
adminPassword: "changeme" # Change this!
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 200Mi
cpu: 200m
persistence:
enabled: true
size: 1Gi
storageClassName: ceph-rbd
# Pre-install dashboards
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/default
dashboards:
default:
postgresql:
gnetId: 9628
revision: 7
datasource: Prometheus
pgbouncer:
gnetId: 15984
revision: 1
datasource: Prometheus
kubernetes-cluster:
gnetId: 7249
revision: 1
datasource: Prometheus
aprs-application:
file: dashboards/aprs-dashboard.json
datasource: Prometheus
# Reduce resource usage for k3s
kubeStateMetrics:
resources:
requests:
memory: 50Mi
cpu: 10m
limits:
memory: 150Mi
cpu: 100m
nodeExporter:
resources:
requests:
memory: 30Mi
cpu: 10m
limits:
memory: 100Mi
cpu: 100m
prometheusOperator:
resources:
requests:
memory: 100Mi
cpu: 50m
limits:
memory: 200Mi
cpu: 200m
# Disable components not needed for k3s
kubeApiServer:
enabled: false
kubeControllerManager:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
kubeEtcd:
enabled: false
# Enable ServiceMonitor for k3s components
kubelet:
enabled: true
serviceMonitor:
https: true