kubeEtcd: enabled: true endpoints: - 192.168.2.120 - 192.168.2.121 - 192.168.2.122 service: enabled: true port: 2381 targetPort: 2381 kubeControllerManager: enabled: true endpoints: - 192.168.2.120 - 192.168.2.121 - 192.168.2.122 service: enabled: true port: 10257 targetPort: 10257 serviceMonitor: enabled: true https: true insecureSkipVerify: true prometheus: prometheusSpec: # Enable remote write receiver for accepting historic data with custom timestamps # Pass as additional argument to Prometheus binary additionalArgs: - --web.enable-remote-write-receiver additionalScrapeConfigsSecret: enabled: true name: additional-scrape-configs key: additional-scrape-configs.yaml storageSpec: volumeClaimTemplate: spec: storageClassName: "" accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi selector: matchLabels: type: local app: prometheus grafana: persistence: enabled: true type: pvc existingClaim: "grafana-data-pvc" initChownData: enabled: false podSecurityContext: fsGroup: 911 runAsUser: 911 runAsGroup: 911 # Disable sidecar-based datasource provisioning # Use direct ConfigMap mounting instead (following x-rag pattern) sidecar: datasources: enabled: false # Mount datasources ConfigMap directly to provisioning directory # This ensures Grafana reads datasources on startup without sidecar complexity extraVolumes: - name: datasources-volume configMap: name: grafana-datasources-all extraVolumeMounts: - name: datasources-volume mountPath: /etc/grafana/provisioning/datasources readOnly: true