values.yaml 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825
  1. rbac:
  2. create: true
  3. podSecurityPolicy:
  4. enabled: false
  5. imagePullSecrets:
  6. # - name: "image-pull-secret"
  7. ## Define serviceAccount names for components. Defaults to component's fully qualified name.
  8. ##
  9. serviceAccounts:
  10. alertmanager:
  11. create: true
  12. name:
  13. annotations: {}
  14. nodeExporter:
  15. create: true
  16. name:
  17. annotations: {}
  18. pushgateway:
  19. create: true
  20. name:
  21. annotations: {}
  22. server:
  23. create: true
  24. name:
  25. annotations: {}
  26. alertmanager:
  27. ## If false, alertmanager will not be installed
  28. ##
  29. enabled: true
  30. ## Use a ClusterRole (and ClusterRoleBinding)
  31. ## - If set to false - we define a Role and RoleBinding in the defined namespaces ONLY
  32. ## This makes alertmanager work - for users who do not have ClusterAdmin privs, but wants alertmanager to operate on their own namespaces, instead of clusterwide.
  33. useClusterRole: true
  34. ## Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to the rolename set here.
  35. useExistingRole: false
  36. ## alertmanager container name
  37. ##
  38. name: alertmanager
  39. ## alertmanager container image
  40. ##
  41. image:
  42. repository: quay.io/prometheus/alertmanager
  43. tag: v0.23.0
  44. pullPolicy: IfNotPresent
  45. ## alertmanager priorityClassName
  46. ##
  47. priorityClassName: ""
  48. ## Custom HTTP headers for Readiness Probe
  49. ##
  50. ## Useful for providing HTTP Basic Auth to healthchecks
  51. probeHeaders: []
  52. ## Additional alertmanager container arguments
  53. ##
  54. extraArgs: {}
  55. ## Additional InitContainers to initialize the pod
  56. ##
  57. extraInitContainers: []
  58. ## The URL prefix at which the container can be accessed. Useful in the case the '-web.external-url' includes a slug
  59. ## so that the various internal URLs are still able to access as they are in the default case.
  60. ## (Optional)
  61. prefixURL: ""
  62. ## External URL which can access alertmanager
  63. baseURL: "http://localhost:9093"
  64. ## Additional alertmanager container environment variable
  65. ## For instance to add a http_proxy
  66. ##
  67. extraEnv: {}
  68. ## Additional alertmanager Secret mounts
  69. # Defines additional mounts with secrets. Secrets must be manually created in the namespace.
  70. extraSecretMounts: []
  71. # - name: secret-files
  72. # mountPath: /etc/secrets
  73. # subPath: ""
  74. # secretName: alertmanager-secret-files
  75. # readOnly: true
  76. ## Additional alertmanager Configmap mounts
  77. extraConfigmapMounts: []
  78. # - name: template-files
  79. # mountPath: /etc/config/templates.d
  80. # configMap: alertmanager-template-files
  81. # readOnly: true
  82. ## ConfigMap override where fullname is {{.Release.Name}}-{{.Values.alertmanager.configMapOverrideName}}
  83. ## Defining configMapOverrideName will cause templates/alertmanager-configmap.yaml
  84. ## to NOT generate a ConfigMap resource
  85. ##
  86. configMapOverrideName: ""
  87. ## The name of a secret in the same kubernetes namespace which contains the Alertmanager config
  88. ## Defining configFromSecret will cause templates/alertmanager-configmap.yaml
  89. ## to NOT generate a ConfigMap resource
  90. ##
  91. configFromSecret: ""
  92. ## The configuration file name to be loaded to alertmanager
  93. ## Must match the key within configuration loaded from ConfigMap/Secret
  94. ##
  95. configFileName: alertmanager.yml
  96. ingress:
  97. ## If true, alertmanager Ingress will be created
  98. ##
  99. enabled: false
  100. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  101. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  102. # ingressClassName: nginx
  103. ## alertmanager Ingress annotations
  104. ##
  105. annotations: {}
  106. # kubernetes.io/ingress.class: nginx
  107. # kubernetes.io/tls-acme: 'true'
  108. ## alertmanager Ingress additional labels
  109. ##
  110. extraLabels: {}
  111. ## alertmanager Ingress hostnames with optional path
  112. ## Must be provided if Ingress is enabled
  113. ##
  114. hosts: []
  115. # - alertmanager.domain.com
  116. # - domain.com/alertmanager
  117. path: /
  118. # pathType is only for k8s >= 1.18
  119. pathType: Prefix
  120. ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  121. extraPaths: []
  122. # - path: /*
  123. # backend:
  124. # serviceName: ssl-redirect
  125. # servicePort: use-annotation
  126. ## alertmanager Ingress TLS configuration
  127. ## Secrets must be manually created in the namespace
  128. ##
  129. tls: []
  130. # - secretName: prometheus-alerts-tls
  131. # hosts:
  132. # - alertmanager.domain.com
  133. ## Alertmanager Deployment Strategy type
  134. # strategy:
  135. # type: Recreate
  136. ## Node tolerations for alertmanager scheduling to nodes with taints
  137. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  138. ##
  139. tolerations: []
  140. # - key: "key"
  141. # operator: "Equal|Exists"
  142. # value: "value"
  143. # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
  144. ## Node labels for alertmanager pod assignment
  145. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  146. ##
  147. nodeSelector: {}
  148. ## Pod affinity
  149. ##
  150. affinity: {}
  151. ## PodDisruptionBudget settings
  152. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  153. ##
  154. podDisruptionBudget:
  155. enabled: false
  156. maxUnavailable: 1
  157. ## Use an alternate scheduler, e.g. "stork".
  158. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  159. ##
  160. # schedulerName:
  161. persistentVolume:
  162. ## If true, alertmanager will create/use a Persistent Volume Claim
  163. ## If false, use emptyDir
  164. ##
  165. enabled: true
  166. ## alertmanager data Persistent Volume access modes
  167. ## Must match those of existing PV or dynamic provisioner
  168. ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  169. ##
  170. accessModes:
  171. - ReadWriteOnce
  172. ## alertmanager data Persistent Volume Claim annotations
  173. ##
  174. annotations: {}
  175. ## alertmanager data Persistent Volume existing claim name
  176. ## Requires alertmanager.persistentVolume.enabled: true
  177. ## If defined, PVC must be created manually before volume will be bound
  178. existingClaim: ""
  179. ## alertmanager data Persistent Volume mount root path
  180. ##
  181. mountPath: /data
  182. ## alertmanager data Persistent Volume size
  183. ##
  184. size: 2Gi
  185. ## alertmanager data Persistent Volume Storage Class
  186. ## If defined, storageClassName: <storageClass>
  187. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  188. ## If undefined (the default) or set to null, no storageClassName spec is
  189. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  190. ## GKE, AWS & OpenStack)
  191. ##
  192. # storageClass: "-"
  193. ## alertmanager data Persistent Volume Binding Mode
  194. ## If defined, volumeBindingMode: <volumeBindingMode>
  195. ## If undefined (the default) or set to null, no volumeBindingMode spec is
  196. ## set, choosing the default mode.
  197. ##
  198. # volumeBindingMode: ""
  199. ## Subdirectory of alertmanager data Persistent Volume to mount
  200. ## Useful if the volume's root directory is not empty
  201. ##
  202. subPath: ""
  203. ## Persistent Volume Claim Selector
  204. ## Useful if Persistent Volumes have been provisioned in advance
  205. ## Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
  206. ##
  207. # selector:
  208. # matchLabels:
  209. # release: "stable"
  210. # matchExpressions:
  211. # - { key: environment, operator: In, values: [ dev ] }
  212. emptyDir:
  213. ## alertmanager emptyDir volume size limit
  214. ##
  215. sizeLimit: ""
  216. ## Annotations to be added to alertmanager pods
  217. ##
  218. podAnnotations: {}
  219. ## Tell prometheus to use a specific set of alertmanager pods
  220. ## instead of all alertmanager pods found in the same namespace
  221. ## Useful if you deploy multiple releases within the same namespace
  222. ##
  223. ## prometheus.io/probe: alertmanager-teamA
  224. ## Labels to be added to Prometheus AlertManager pods
  225. ##
  226. podLabels: {}
  227. ## Specify if a Pod Security Policy for node-exporter must be created
  228. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  229. ##
  230. podSecurityPolicy:
  231. annotations: {}
  232. ## Specify pod annotations
  233. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  234. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  235. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  236. ##
  237. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  238. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  239. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  240. ## Use a StatefulSet if replicaCount needs to be greater than 1 (see below)
  241. ##
  242. replicaCount: 1
  243. ## Annotations to be added to deployment
  244. ##
  245. deploymentAnnotations: {}
  246. statefulSet:
  247. ## If true, use a statefulset instead of a deployment for pod management.
  248. ## This allows to scale replicas to more than 1 pod
  249. ##
  250. enabled: false
  251. annotations: {}
  252. labels: {}
  253. podManagementPolicy: OrderedReady
  254. ## Alertmanager headless service to use for the statefulset
  255. ##
  256. headless:
  257. annotations: {}
  258. labels: {}
  259. ## Enabling peer mesh service end points for enabling the HA alert manager
  260. ## Ref: https://github.com/prometheus/alertmanager/blob/master/README.md
  261. enableMeshPeer: false
  262. servicePort: 80
  263. ## alertmanager resource requests and limits
  264. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  265. ##
  266. resources: {}
  267. # limits:
  268. # cpu: 10m
  269. # memory: 32Mi
  270. # requests:
  271. # cpu: 10m
  272. # memory: 32Mi
  273. # Custom DNS configuration to be added to alertmanager pods
  274. dnsConfig: {}
  275. # nameservers:
  276. # - 1.2.3.4
  277. # searches:
  278. # - ns1.svc.cluster-domain.example
  279. # - my.dns.search.suffix
  280. # options:
  281. # - name: ndots
  282. # value: "2"
  283. # - name: edns0
  284. ## Security context to be added to alertmanager pods
  285. ##
  286. securityContext:
  287. runAsUser: 65534
  288. runAsNonRoot: true
  289. runAsGroup: 65534
  290. fsGroup: 65534
  291. service:
  292. annotations: {}
  293. labels: {}
  294. clusterIP: ""
  295. ## Enabling peer mesh service end points for enabling the HA alert manager
  296. ## Ref: https://github.com/prometheus/alertmanager/blob/master/README.md
  297. # enableMeshPeer : true
  298. ## List of IP addresses at which the alertmanager service is available
  299. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  300. ##
  301. externalIPs: []
  302. loadBalancerIP: ""
  303. loadBalancerSourceRanges: []
  304. servicePort: 80
  305. # nodePort: 30000
  306. sessionAffinity: None
  307. type: ClusterIP
  308. ## List of initial peers
  309. ## Ref: https://github.com/prometheus/alertmanager/blob/main/README.md#high-availability
  310. clusterPeers: []
  311. ## Monitors ConfigMap changes and POSTs to a URL
  312. ## Ref: https://github.com/jimmidyson/configmap-reload
  313. ##
  314. configmapReload:
  315. prometheus:
  316. ## If false, the configmap-reload container will not be deployed
  317. ##
  318. enabled: true
  319. ## configmap-reload container name
  320. ##
  321. name: configmap-reload
  322. ## configmap-reload container image
  323. ##
  324. image:
  325. repository: jimmidyson/configmap-reload
  326. tag: v0.5.0
  327. pullPolicy: IfNotPresent
  328. ## Additional configmap-reload container arguments
  329. ##
  330. extraArgs: {}
  331. ## Additional configmap-reload volume directories
  332. ##
  333. extraVolumeDirs: []
  334. ## Additional configmap-reload mounts
  335. ##
  336. extraConfigmapMounts: []
  337. # - name: prometheus-alerts
  338. # mountPath: /etc/alerts.d
  339. # subPath: ""
  340. # configMap: prometheus-alerts
  341. # readOnly: true
  342. ## configmap-reload resource requests and limits
  343. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  344. ##
  345. resources: {}
  346. alertmanager:
  347. ## If false, the configmap-reload container will not be deployed
  348. ##
  349. enabled: true
  350. ## configmap-reload container name
  351. ##
  352. name: configmap-reload
  353. ## configmap-reload container image
  354. ##
  355. image:
  356. repository: jimmidyson/configmap-reload
  357. tag: v0.5.0
  358. pullPolicy: IfNotPresent
  359. ## Additional configmap-reload container arguments
  360. ##
  361. extraArgs: {}
  362. ## Additional configmap-reload volume directories
  363. ##
  364. extraVolumeDirs: []
  365. ## Additional configmap-reload mounts
  366. ##
  367. extraConfigmapMounts: []
  368. # - name: prometheus-alerts
  369. # mountPath: /etc/alerts.d
  370. # subPath: ""
  371. # configMap: prometheus-alerts
  372. # readOnly: true
  373. ## configmap-reload resource requests and limits
  374. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  375. ##
  376. resources: {}
  377. kubeStateMetrics:
  378. ## If false, kube-state-metrics sub-chart will not be installed
  379. ##
  380. enabled: true
  381. ## kube-state-metrics sub-chart configurable values
  382. ## Please see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics
  383. ##
  384. # kube-state-metrics:
  385. nodeExporter:
  386. ## If false, node-exporter will not be installed
  387. ##
  388. enabled: true
  389. ## If true, node-exporter pods share the host network namespace
  390. ##
  391. hostNetwork: true
  392. ## If true, node-exporter pods share the host PID namespace
  393. ##
  394. hostPID: true
  395. ## If true, node-exporter pods mounts host / at /host/root
  396. ##
  397. hostRootfs: true
  398. ## node-exporter container name
  399. ##
  400. name: node-exporter
  401. ## node-exporter container image
  402. ##
  403. image:
  404. repository: quay.io/prometheus/node-exporter
  405. tag: v1.3.0
  406. pullPolicy: IfNotPresent
  407. ## Specify if a Pod Security Policy for node-exporter must be created
  408. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  409. ##
  410. podSecurityPolicy:
  411. annotations: {}
  412. ## Specify pod annotations
  413. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  414. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  415. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  416. ##
  417. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  418. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  419. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  420. ## node-exporter priorityClassName
  421. ##
  422. priorityClassName: ""
  423. ## Custom Update Strategy
  424. ##
  425. updateStrategy:
  426. type: RollingUpdate
  427. ## Additional node-exporter container arguments
  428. ##
  429. extraArgs: {}
  430. ## Additional InitContainers to initialize the pod
  431. ##
  432. extraInitContainers: []
  433. ## Additional node-exporter hostPath mounts
  434. ##
  435. extraHostPathMounts: []
  436. # - name: textfile-dir
  437. # mountPath: /srv/txt_collector
  438. # hostPath: /var/lib/node-exporter
  439. # readOnly: true
  440. # mountPropagation: HostToContainer
  441. extraConfigmapMounts: []
  442. # - name: certs-configmap
  443. # mountPath: /prometheus
  444. # configMap: certs-configmap
  445. # readOnly: true
  446. ## Node tolerations for node-exporter scheduling to nodes with taints
  447. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  448. ##
  449. tolerations: []
  450. # - key: "key"
  451. # operator: "Equal|Exists"
  452. # value: "value"
  453. # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
  454. ## Node labels for node-exporter pod assignment
  455. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  456. ##
  457. nodeSelector: {}
  458. ## Annotations to be added to node-exporter pods
  459. ##
  460. podAnnotations: {}
  461. ## Labels to be added to node-exporter pods
  462. ##
  463. pod:
  464. labels: {}
  465. ## PodDisruptionBudget settings
  466. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  467. ##
  468. podDisruptionBudget:
  469. enabled: false
  470. maxUnavailable: 1
  471. ## node-exporter resource limits & requests
  472. ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
  473. ##
  474. resources: {}
  475. # limits:
  476. # cpu: 200m
  477. # memory: 50Mi
  478. # requests:
  479. # cpu: 100m
  480. # memory: 30Mi
  481. # Custom DNS configuration to be added to node-exporter pods
  482. dnsConfig: {}
  483. # nameservers:
  484. # - 1.2.3.4
  485. # searches:
  486. # - ns1.svc.cluster-domain.example
  487. # - my.dns.search.suffix
  488. # options:
  489. # - name: ndots
  490. # value: "2"
  491. # - name: edns0
  492. ## Security context to be added to node-exporter pods
  493. ##
  494. securityContext:
  495. fsGroup: 65534
  496. runAsGroup: 65534
  497. runAsNonRoot: true
  498. runAsUser: 65534
  499. service:
  500. annotations:
  501. prometheus.io/scrape: "true"
  502. labels: {}
  503. # Exposed as a headless service:
  504. # https://kubernetes.io/docs/concepts/services-networking/service/#headless-services
  505. clusterIP: None
  506. ## List of IP addresses at which the node-exporter service is available
  507. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  508. ##
  509. externalIPs: []
  510. hostPort: 9100
  511. loadBalancerIP: ""
  512. loadBalancerSourceRanges: []
  513. servicePort: 9100
  514. type: ClusterIP
  515. server:
  516. ## Prometheus server container name
  517. ##
  518. enabled: true
  519. ## Use a ClusterRole (and ClusterRoleBinding)
  520. ## - If set to false - we define a RoleBinding in the defined namespaces ONLY
  521. ##
  522. ## NB: because we need a Role with nonResourceURL's ("/metrics") - you must get someone with Cluster-admin privileges to define this role for you, before running with this setting enabled.
  523. ## This makes prometheus work - for users who do not have ClusterAdmin privs, but wants prometheus to operate on their own namespaces, instead of clusterwide.
  524. ##
  525. ## You MUST also set namespaces to the ones you have access to and want monitored by Prometheus.
  526. ##
  527. # useExistingClusterRoleName: nameofclusterrole
  528. ## namespaces to monitor (instead of monitoring all - clusterwide). Needed if you want to run without Cluster-admin privileges.
  529. # namespaces:
  530. # - yournamespace
  531. name: server
  532. # sidecarContainers - add more containers to prometheus server
  533. # Key/Value where Key is the sidecar `- name: <Key>`
  534. # Example:
  535. # sidecarContainers:
  536. # webserver:
  537. # image: nginx
  538. sidecarContainers: {}
  539. # sidecarTemplateValues - context to be used in template for sidecarContainers
  540. # Example:
  541. # sidecarTemplateValues: *your-custom-globals
  542. # sidecarContainers:
  543. # webserver: |-
  544. # {{ include "webserver-container-template" . }}
  545. # Template for `webserver-container-template` might looks like this:
  546. # image: "{{ .Values.server.sidecarTemplateValues.repository }}:{{ .Values.server.sidecarTemplateValues.tag }}"
  547. # ...
  548. #
  549. sidecarTemplateValues: {}
  550. ## Prometheus server container image
  551. ##
  552. image:
  553. repository: quay.io/prometheus/prometheus
  554. tag: v2.34.0
  555. pullPolicy: IfNotPresent
  556. ## prometheus server priorityClassName
  557. ##
  558. priorityClassName: ""
  559. ## EnableServiceLinks indicates whether information about services should be injected
  560. ## into pod's environment variables, matching the syntax of Docker links.
  561. ## WARNING: the field is unsupported and will be skipped in K8s prior to v1.13.0.
  562. ##
  563. enableServiceLinks: true
  564. ## The URL prefix at which the container can be accessed. Useful in the case the '-web.external-url' includes a slug
  565. ## so that the various internal URLs are still able to access as they are in the default case.
  566. ## (Optional)
  567. prefixURL: ""
  568. ## External URL which can access prometheus
  569. ## Maybe same with Ingress host name
  570. baseURL: ""
  571. ## Additional server container environment variables
  572. ##
  573. ## You specify this manually like you would a raw deployment manifest.
  574. ## This means you can bind in environment variables from secrets.
  575. ##
  576. ## e.g. static environment variable:
  577. ## - name: DEMO_GREETING
  578. ## value: "Hello from the environment"
  579. ##
  580. ## e.g. secret environment variable:
  581. ## - name: USERNAME
  582. ## valueFrom:
  583. ## secretKeyRef:
  584. ## name: mysecret
  585. ## key: username
  586. env: []
  587. # List of flags to override default parameters, e.g:
  588. # - --enable-feature=agent
  589. # - --storage.agent.retention.max-time=30m
  590. defaultFlagsOverride: []
  591. extraFlags:
  592. - web.enable-lifecycle
  593. ## web.enable-admin-api flag controls access to the administrative HTTP API which includes functionality such as
  594. ## deleting time series. This is disabled by default.
  595. # - web.enable-admin-api
  596. ##
  597. ## storage.tsdb.no-lockfile flag controls BD locking
  598. # - storage.tsdb.no-lockfile
  599. ##
  600. ## storage.tsdb.wal-compression flag enables compression of the write-ahead log (WAL)
  601. # - storage.tsdb.wal-compression
  602. ## Path to a configuration file on prometheus server container FS
  603. configPath: /etc/config/prometheus.yml
  604. ### The data directory used by prometheus to set --storage.tsdb.path
  605. ### When empty server.persistentVolume.mountPath is used instead
  606. storagePath: ""
  607. global:
  608. ## How frequently to scrape targets by default
  609. ##
  610. scrape_interval: 1m
  611. ## How long until a scrape request times out
  612. ##
  613. scrape_timeout: 10s
  614. ## How frequently to evaluate rules
  615. ##
  616. evaluation_interval: 1m
  617. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write
  618. ##
  619. remoteWrite: []
  620. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read
  621. ##
  622. remoteRead: []
  623. ## Custom HTTP headers for Liveness/Readiness/Startup Probe
  624. ##
  625. ## Useful for providing HTTP Basic Auth to healthchecks
  626. probeHeaders: []
  627. ## Additional Prometheus server container arguments
  628. ##
  629. extraArgs: {}
  630. ## Additional InitContainers to initialize the pod
  631. ##
  632. extraInitContainers: []
  633. ## Additional Prometheus server Volume mounts
  634. ##
  635. extraVolumeMounts: []
  636. ## Additional Prometheus server Volumes
  637. ##
  638. extraVolumes: []
  639. ## Additional Prometheus server hostPath mounts
  640. ##
  641. extraHostPathMounts: []
  642. # - name: certs-dir
  643. # mountPath: /etc/kubernetes/certs
  644. # subPath: ""
  645. # hostPath: /etc/kubernetes/certs
  646. # readOnly: true
  647. extraConfigmapMounts: []
  648. # - name: certs-configmap
  649. # mountPath: /prometheus
  650. # subPath: ""
  651. # configMap: certs-configmap
  652. # readOnly: true
  653. ## Additional Prometheus server Secret mounts
  654. # Defines additional mounts with secrets. Secrets must be manually created in the namespace.
  655. extraSecretMounts: []
  656. # - name: secret-files
  657. # mountPath: /etc/secrets
  658. # subPath: ""
  659. # secretName: prom-secret-files
  660. # readOnly: true
  661. ## ConfigMap override where fullname is {{.Release.Name}}-{{.Values.server.configMapOverrideName}}
  662. ## Defining configMapOverrideName will cause templates/server-configmap.yaml
  663. ## to NOT generate a ConfigMap resource
  664. ##
  665. configMapOverrideName: ""
  666. ingress:
  667. ## If true, Prometheus server Ingress will be created
  668. ##
  669. enabled: false
  670. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  671. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  672. # ingressClassName: nginx
  673. ## Prometheus server Ingress annotations
  674. ##
  675. annotations: {}
  676. # kubernetes.io/ingress.class: nginx
  677. # kubernetes.io/tls-acme: 'true'
  678. ## Prometheus server Ingress additional labels
  679. ##
  680. extraLabels: {}
  681. ## Prometheus server Ingress hostnames with optional path
  682. ## Must be provided if Ingress is enabled
  683. ##
  684. hosts: []
  685. # - prometheus.domain.com
  686. # - domain.com/prometheus
  687. path: /
  688. # pathType is only for k8s >= 1.18
  689. pathType: Prefix
  690. ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  691. extraPaths: []
  692. # - path: /*
  693. # backend:
  694. # serviceName: ssl-redirect
  695. # servicePort: use-annotation
  696. ## Prometheus server Ingress TLS configuration
  697. ## Secrets must be manually created in the namespace
  698. ##
  699. tls: []
  700. # - secretName: prometheus-server-tls
  701. # hosts:
  702. # - prometheus.domain.com
  703. ## Server Deployment Strategy type
  704. # strategy:
  705. # type: Recreate
  706. ## hostAliases allows adding entries to /etc/hosts inside the containers
  707. hostAliases: []
  708. # - ip: "127.0.0.1"
  709. # hostnames:
  710. # - "example.com"
  711. ## Node tolerations for server scheduling to nodes with taints
  712. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  713. ##
  714. tolerations: []
  715. # - key: "key"
  716. # operator: "Equal|Exists"
  717. # value: "value"
  718. # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
  719. ## Node labels for Prometheus server pod assignment
  720. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  721. ##
  722. nodeSelector: {}
  723. ## Pod affinity
  724. ##
  725. affinity: {}
  726. ## PodDisruptionBudget settings
  727. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  728. ##
  729. podDisruptionBudget:
  730. enabled: false
  731. maxUnavailable: 1
  732. ## Use an alternate scheduler, e.g. "stork".
  733. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  734. ##
  735. # schedulerName:
  736. persistentVolume:
  737. ## If true, Prometheus server will create/use a Persistent Volume Claim
  738. ## If false, use emptyDir
  739. ##
  740. enabled: true
  741. ## Prometheus server data Persistent Volume access modes
  742. ## Must match those of existing PV or dynamic provisioner
  743. ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  744. ##
  745. accessModes:
  746. - ReadWriteOnce
  747. ## Prometheus server data Persistent Volume annotations
  748. ##
  749. annotations: {}
  750. ## Prometheus server data Persistent Volume existing claim name
  751. ## Requires server.persistentVolume.enabled: true
  752. ## If defined, PVC must be created manually before volume will be bound
  753. existingClaim: ""
  754. ## Prometheus server data Persistent Volume mount root path
  755. ##
  756. mountPath: /data
  757. ## Prometheus server data Persistent Volume size
  758. ##
  759. size: 8Gi
  760. ## Prometheus server data Persistent Volume Storage Class
  761. ## If defined, storageClassName: <storageClass>
  762. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  763. ## If undefined (the default) or set to null, no storageClassName spec is
  764. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  765. ## GKE, AWS & OpenStack)
  766. ##
  767. # storageClass: "-"
  768. ## Prometheus server data Persistent Volume Binding Mode
  769. ## If defined, volumeBindingMode: <volumeBindingMode>
  770. ## If undefined (the default) or set to null, no volumeBindingMode spec is
  771. ## set, choosing the default mode.
  772. ##
  773. # volumeBindingMode: ""
  774. ## Subdirectory of Prometheus server data Persistent Volume to mount
  775. ## Useful if the volume's root directory is not empty
  776. ##
  777. subPath: ""
  778. ## Persistent Volume Claim Selector
  779. ## Useful if Persistent Volumes have been provisioned in advance
  780. ## Ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
  781. ##
  782. # selector:
  783. # matchLabels:
  784. # release: "stable"
  785. # matchExpressions:
  786. # - { key: environment, operator: In, values: [ dev ] }
  787. emptyDir:
  788. ## Prometheus server emptyDir volume size limit
  789. ##
  790. sizeLimit: ""
  791. ## Annotations to be added to Prometheus server pods
  792. ##
  793. podAnnotations: {}
  794. # iam.amazonaws.com/role: prometheus
  795. ## Labels to be added to Prometheus server pods
  796. ##
  797. podLabels: {}
  798. ## Prometheus AlertManager configuration
  799. ##
  800. alertmanagers: []
  801. ## Specify if a Pod Security Policy for node-exporter must be created
  802. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  803. ##
  804. podSecurityPolicy:
  805. annotations: {}
  806. ## Specify pod annotations
  807. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  808. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  809. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  810. ##
  811. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  812. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  813. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  814. ## Use a StatefulSet if replicaCount needs to be greater than 1 (see below)
  815. ##
  816. replicaCount: 1
  817. ## Annotations to be added to deployment
  818. ##
  819. deploymentAnnotations: {}
  820. statefulSet:
  821. ## If true, use a statefulset instead of a deployment for pod management.
  822. ## This allows to scale replicas to more than 1 pod
  823. ##
  824. enabled: false
  825. annotations: {}
  826. labels: {}
  827. podManagementPolicy: OrderedReady
  828. ## Alertmanager headless service to use for the statefulset
  829. ##
  830. headless:
  831. annotations: {}
  832. labels: {}
  833. servicePort: 80
  834. ## Enable gRPC port on service to allow auto discovery with thanos-querier
  835. gRPC:
  836. enabled: false
  837. servicePort: 10901
  838. # nodePort: 10901
  839. ## Prometheus server readiness and liveness probe initial delay and timeout
  840. ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
  841. ##
  842. tcpSocketProbeEnabled: false
  843. probeScheme: HTTP
  844. readinessProbeInitialDelay: 30
  845. readinessProbePeriodSeconds: 5
  846. readinessProbeTimeout: 4
  847. readinessProbeFailureThreshold: 3
  848. readinessProbeSuccessThreshold: 1
  849. livenessProbeInitialDelay: 30
  850. livenessProbePeriodSeconds: 15
  851. livenessProbeTimeout: 10
  852. livenessProbeFailureThreshold: 3
  853. livenessProbeSuccessThreshold: 1
  854. startupProbe:
  855. enabled: false
  856. periodSeconds: 5
  857. failureThreshold: 30
  858. timeoutSeconds: 10
  859. ## Prometheus server resource requests and limits
  860. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  861. ##
  862. resources: {}
  863. # limits:
  864. # cpu: 500m
  865. # memory: 512Mi
  866. # requests:
  867. # cpu: 500m
  868. # memory: 512Mi
  869. # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
  870. # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
  871. ##
  872. hostNetwork: false
  873. # When hostNetwork is enabled, you probably want to set this to ClusterFirstWithHostNet
  874. dnsPolicy: ClusterFirst
  875. # Use hostPort
  876. # hostPort: 9090
  877. ## Vertical Pod Autoscaler config
  878. ## Ref: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
  879. verticalAutoscaler:
  880. ## If true a VPA object will be created for the controller (either StatefulSet or Deployemnt, based on above configs)
  881. enabled: false
  882. # updateMode: "Auto"
  883. # containerPolicies:
  884. # - containerName: 'prometheus-server'
  885. # Custom DNS configuration to be added to prometheus server pods
  886. dnsConfig: {}
  887. # nameservers:
  888. # - 1.2.3.4
  889. # searches:
  890. # - ns1.svc.cluster-domain.example
  891. # - my.dns.search.suffix
  892. # options:
  893. # - name: ndots
  894. # value: "2"
  895. # - name: edns0
  896. ## Security context to be added to server pods
  897. ##
  898. securityContext:
  899. runAsUser: 65534
  900. runAsNonRoot: true
  901. runAsGroup: 65534
  902. fsGroup: 65534
  903. service:
  904. annotations: {}
  905. labels: {}
  906. clusterIP: ""
  907. ## List of IP addresses at which the Prometheus server service is available
  908. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  909. ##
  910. externalIPs: []
  911. loadBalancerIP: ""
  912. loadBalancerSourceRanges: []
  913. servicePort: 80
  914. sessionAffinity: None
  915. type: ClusterIP
  916. ## Enable gRPC port on service to allow auto discovery with thanos-querier
  917. gRPC:
  918. enabled: false
  919. servicePort: 10901
  920. # nodePort: 10901
  921. ## If using a statefulSet (statefulSet.enabled=true), configure the
  922. ## service to connect to a specific replica to have a consistent view
  923. ## of the data.
  924. statefulsetReplica:
  925. enabled: false
  926. replica: 0
  927. ## Prometheus server pod termination grace period
  928. ##
  929. terminationGracePeriodSeconds: 300
  930. ## Prometheus data retention period (default if not specified is 15 days)
  931. ##
  932. retention: "15d"
  933. pushgateway:
  934. ## If false, pushgateway will not be installed
  935. ##
  936. enabled: true
  937. ## Use an alternate scheduler, e.g. "stork".
  938. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  939. ##
  940. # schedulerName:
  941. ## pushgateway container name
  942. ##
  943. name: pushgateway
  944. ## pushgateway container image
  945. ##
  946. image:
  947. repository: prom/pushgateway
  948. tag: v1.4.2
  949. pullPolicy: IfNotPresent
  950. ## pushgateway priorityClassName
  951. ##
  952. priorityClassName: ""
  953. ## Additional pushgateway container arguments
  954. ##
  955. ## for example: persistence.file: /data/pushgateway.data
  956. extraArgs: {}
  957. ## Additional InitContainers to initialize the pod
  958. ##
  959. extraInitContainers: []
  960. ingress:
  961. ## If true, pushgateway Ingress will be created
  962. ##
  963. enabled: false
  964. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  965. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  966. # ingressClassName: nginx
  967. ## pushgateway Ingress annotations
  968. ##
  969. annotations: {}
  970. # kubernetes.io/ingress.class: nginx
  971. # kubernetes.io/tls-acme: 'true'
  972. ## pushgateway Ingress hostnames with optional path
  973. ## Must be provided if Ingress is enabled
  974. ##
  975. hosts: []
  976. # - pushgateway.domain.com
  977. # - domain.com/pushgateway
  978. path: /
  979. # pathType is only for k8s >= 1.18
  980. pathType: Prefix
  981. ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  982. extraPaths: []
  983. # - path: /*
  984. # backend:
  985. # serviceName: ssl-redirect
  986. # servicePort: use-annotation
  987. ## pushgateway Ingress TLS configuration
  988. ## Secrets must be manually created in the namespace
  989. ##
  990. tls: []
  991. # - secretName: prometheus-alerts-tls
  992. # hosts:
  993. # - pushgateway.domain.com
  994. ## Node tolerations for pushgateway scheduling to nodes with taints
  995. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  996. ##
  997. tolerations: []
  998. # - key: "key"
  999. # operator: "Equal|Exists"
  1000. # value: "value"
  1001. # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
  1002. ## Node labels for pushgateway pod assignment
  1003. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  1004. ##
  1005. nodeSelector: {}
  1006. ## Annotations to be added to pushgateway pods
  1007. ##
  1008. podAnnotations: {}
  1009. ## Labels to be added to pushgateway pods
  1010. ##
  1011. podLabels: {}
  1012. ## Specify if a Pod Security Policy for node-exporter must be created
  1013. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  1014. ##
  1015. podSecurityPolicy:
  1016. annotations: {}
  1017. ## Specify pod annotations
  1018. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  1019. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  1020. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  1021. ##
  1022. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  1023. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  1024. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  1025. replicaCount: 1
  1026. ## Annotations to be added to deployment
  1027. ##
  1028. deploymentAnnotations: {}
  1029. ## PodDisruptionBudget settings
  1030. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  1031. ##
  1032. podDisruptionBudget:
  1033. enabled: false
  1034. maxUnavailable: 1
  1035. ## pushgateway resource requests and limits
  1036. ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
  1037. ##
  1038. resources: {}
  1039. # limits:
  1040. # cpu: 10m
  1041. # memory: 32Mi
  1042. # requests:
  1043. # cpu: 10m
  1044. # memory: 32Mi
  1045. ## Vertical Pod Autoscaler config
  1046. ## Ref: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
  1047. verticalAutoscaler:
  1048. ## If true a VPA object will be created for the controller
  1049. enabled: false
  1050. # updateMode: "Auto"
  1051. # containerPolicies:
  1052. # - containerName: 'prometheus-pushgateway'
  1053. # Custom DNS configuration to be added to push-gateway pods
  1054. dnsConfig: {}
  1055. # nameservers:
  1056. # - 1.2.3.4
  1057. # searches:
  1058. # - ns1.svc.cluster-domain.example
  1059. # - my.dns.search.suffix
  1060. # options:
  1061. # - name: ndots
  1062. # value: "2"
  1063. # - name: edns0
  1064. ## Security context to be added to push-gateway pods
  1065. ##
  1066. securityContext:
  1067. runAsUser: 65534
  1068. runAsNonRoot: true
  1069. service:
  1070. annotations:
  1071. prometheus.io/probe: pushgateway
  1072. labels: {}
  1073. clusterIP: ""
  1074. ## List of IP addresses at which the pushgateway service is available
  1075. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  1076. ##
  1077. externalIPs: []
  1078. loadBalancerIP: ""
  1079. loadBalancerSourceRanges: []
  1080. servicePort: 9091
  1081. type: ClusterIP
  1082. ## pushgateway Deployment Strategy type
  1083. # strategy:
  1084. # type: Recreate
  1085. persistentVolume:
  1086. ## If true, pushgateway will create/use a Persistent Volume Claim
  1087. ##
  1088. enabled: false
  1089. ## pushgateway data Persistent Volume access modes
  1090. ## Must match those of existing PV or dynamic provisioner
  1091. ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
  1092. ##
  1093. accessModes:
  1094. - ReadWriteOnce
  1095. ## pushgateway data Persistent Volume Claim annotations
  1096. ##
  1097. annotations: {}
  1098. ## pushgateway data Persistent Volume existing claim name
  1099. ## Requires pushgateway.persistentVolume.enabled: true
  1100. ## If defined, PVC must be created manually before volume will be bound
  1101. existingClaim: ""
  1102. ## pushgateway data Persistent Volume mount root path
  1103. ##
  1104. mountPath: /data
  1105. ## pushgateway data Persistent Volume size
  1106. ##
  1107. size: 2Gi
  1108. ## pushgateway data Persistent Volume Storage Class
  1109. ## If defined, storageClassName: <storageClass>
  1110. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  1111. ## If undefined (the default) or set to null, no storageClassName spec is
  1112. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  1113. ## GKE, AWS & OpenStack)
  1114. ##
  1115. # storageClass: "-"
  1116. ## pushgateway data Persistent Volume Binding Mode
  1117. ## If defined, volumeBindingMode: <volumeBindingMode>
  1118. ## If undefined (the default) or set to null, no volumeBindingMode spec is
  1119. ## set, choosing the default mode.
  1120. ##
  1121. # volumeBindingMode: ""
  1122. ## Subdirectory of pushgateway data Persistent Volume to mount
  1123. ## Useful if the volume's root directory is not empty
  1124. ##
  1125. subPath: ""
  1126. ## alertmanager ConfigMap entries
  1127. ##
  1128. alertmanagerFiles:
  1129. alertmanager.yml:
  1130. global: {}
  1131. # slack_api_url: ''
  1132. receivers:
  1133. - name: default-receiver
  1134. # slack_configs:
  1135. # - channel: '@you'
  1136. # send_resolved: true
  1137. route:
  1138. group_wait: 10s
  1139. group_interval: 5m
  1140. receiver: default-receiver
  1141. repeat_interval: 3h
  1142. ## Prometheus server ConfigMap entries for rule files (allow prometheus labels interpolation)
  1143. ruleFiles: {}
  1144. ## Prometheus server ConfigMap entries
  1145. ##
  1146. serverFiles:
  1147. ## Alerts configuration
  1148. ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  1149. alerting_rules.yml: {}
  1150. # groups:
  1151. # - name: Instances
  1152. # rules:
  1153. # - alert: InstanceDown
  1154. # expr: up == 0
  1155. # for: 5m
  1156. # labels:
  1157. # severity: page
  1158. # annotations:
  1159. # description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.'
  1160. # summary: 'Instance {{ $labels.instance }} down'
  1161. ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use alerting_rules.yml
  1162. alerts: {}
  1163. ## Records configuration
  1164. ## Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
  1165. recording_rules.yml: {}
  1166. ## DEPRECATED DEFAULT VALUE, unless explicitly naming your files, please use recording_rules.yml
  1167. rules: {}
  1168. prometheus.yml:
  1169. rule_files:
  1170. - /etc/config/recording_rules.yml
  1171. - /etc/config/alerting_rules.yml
  1172. ## Below two files are DEPRECATED will be removed from this default values file
  1173. - /etc/config/rules
  1174. - /etc/config/alerts
  1175. scrape_configs:
  1176. - job_name: prometheus
  1177. static_configs:
  1178. - targets:
  1179. - localhost:9090
  1180. # A scrape configuration for running Prometheus on a Kubernetes cluster.
  1181. # This uses separate scrape configs for cluster components (i.e. API server, node)
  1182. # and services to allow each to use different authentication configs.
  1183. #
  1184. # Kubernetes labels will be added as Prometheus labels on metrics via the
  1185. # `labelmap` relabeling action.
  1186. # Scrape config for API servers.
  1187. #
  1188. # Kubernetes exposes API servers as endpoints to the default/kubernetes
  1189. # service so this uses `endpoints` role and uses relabelling to only keep
  1190. # the endpoints associated with the default/kubernetes service using the
  1191. # default named port `https`. This works for single API server deployments as
  1192. # well as HA API server deployments.
  1193. - job_name: 'kubernetes-apiservers'
  1194. kubernetes_sd_configs:
  1195. - role: endpoints
  1196. # Default to scraping over https. If required, just disable this or change to
  1197. # `http`.
  1198. scheme: https
  1199. # This TLS & bearer token file config is used to connect to the actual scrape
  1200. # endpoints for cluster components. This is separate to discovery auth
  1201. # configuration because discovery & scraping are two separate concerns in
  1202. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  1203. # the cluster. Otherwise, more config options have to be provided within the
  1204. # <kubernetes_sd_config>.
  1205. tls_config:
  1206. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  1207. # If your node certificates are self-signed or use a different CA to the
  1208. # master CA, then disable certificate verification below. Note that
  1209. # certificate verification is an integral part of a secure infrastructure
  1210. # so this should only be disabled in a controlled environment. You can
  1211. # disable certificate verification by uncommenting the line below.
  1212. #
  1213. insecure_skip_verify: true
  1214. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  1215. # Keep only the default/kubernetes service endpoints for the https port. This
  1216. # will add targets for each API server which Kubernetes adds an endpoint to
  1217. # the default/kubernetes service.
  1218. relabel_configs:
  1219. - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
  1220. action: keep
  1221. regex: default;kubernetes;https
  1222. - job_name: 'kubernetes-nodes'
  1223. # Default to scraping over https. If required, just disable this or change to
  1224. # `http`.
  1225. scheme: https
  1226. # This TLS & bearer token file config is used to connect to the actual scrape
  1227. # endpoints for cluster components. This is separate to discovery auth
  1228. # configuration because discovery & scraping are two separate concerns in
  1229. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  1230. # the cluster. Otherwise, more config options have to be provided within the
  1231. # <kubernetes_sd_config>.
  1232. tls_config:
  1233. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  1234. # If your node certificates are self-signed or use a different CA to the
  1235. # master CA, then disable certificate verification below. Note that
  1236. # certificate verification is an integral part of a secure infrastructure
  1237. # so this should only be disabled in a controlled environment. You can
  1238. # disable certificate verification by uncommenting the line below.
  1239. #
  1240. insecure_skip_verify: true
  1241. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  1242. kubernetes_sd_configs:
  1243. - role: node
  1244. relabel_configs:
  1245. - action: labelmap
  1246. regex: __meta_kubernetes_node_label_(.+)
  1247. - target_label: __address__
  1248. replacement: kubernetes.default.svc:443
  1249. - source_labels: [__meta_kubernetes_node_name]
  1250. regex: (.+)
  1251. target_label: __metrics_path__
  1252. replacement: /api/v1/nodes/$1/proxy/metrics
  1253. - job_name: 'kubernetes-nodes-cadvisor'
  1254. # Default to scraping over https. If required, just disable this or change to
  1255. # `http`.
  1256. scheme: https
  1257. # This TLS & bearer token file config is used to connect to the actual scrape
  1258. # endpoints for cluster components. This is separate to discovery auth
  1259. # configuration because discovery & scraping are two separate concerns in
  1260. # Prometheus. The discovery auth config is automatic if Prometheus runs inside
  1261. # the cluster. Otherwise, more config options have to be provided within the
  1262. # <kubernetes_sd_config>.
  1263. tls_config:
  1264. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  1265. # If your node certificates are self-signed or use a different CA to the
  1266. # master CA, then disable certificate verification below. Note that
  1267. # certificate verification is an integral part of a secure infrastructure
  1268. # so this should only be disabled in a controlled environment. You can
  1269. # disable certificate verification by uncommenting the line below.
  1270. #
  1271. insecure_skip_verify: true
  1272. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  1273. kubernetes_sd_configs:
  1274. - role: node
  1275. # This configuration will work only on kubelet 1.7.3+
  1276. # As the scrape endpoints for cAdvisor have changed
  1277. # if you are using older version you need to change the replacement to
  1278. # replacement: /api/v1/nodes/$1:4194/proxy/metrics
  1279. # more info here https://github.com/coreos/prometheus-operator/issues/633
  1280. relabel_configs:
  1281. - action: labelmap
  1282. regex: __meta_kubernetes_node_label_(.+)
  1283. - target_label: __address__
  1284. replacement: kubernetes.default.svc:443
  1285. - source_labels: [__meta_kubernetes_node_name]
  1286. regex: (.+)
  1287. target_label: __metrics_path__
  1288. replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
  1289. # Scrape config for service endpoints.
  1290. #
  1291. # The relabeling allows the actual service scrape endpoint to be configured
  1292. # via the following annotations:
  1293. #
  1294. # * `prometheus.io/scrape`: Only scrape services that have a value of
  1295. # `true`, except if `prometheus.io/scrape-slow` is set to `true` as well.
  1296. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  1297. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  1298. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  1299. # * `prometheus.io/port`: If the metrics are exposed on a different port to the
  1300. # service then set this appropriately.
  1301. # * `prometheus.io/param_<parameter>`: If the metrics endpoint uses parameters
  1302. # then you can set any parameter
  1303. - job_name: 'kubernetes-service-endpoints'
  1304. kubernetes_sd_configs:
  1305. - role: endpoints
  1306. relabel_configs:
  1307. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
  1308. action: keep
  1309. regex: true
  1310. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
  1311. action: drop
  1312. regex: true
  1313. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
  1314. action: replace
  1315. target_label: __scheme__
  1316. regex: (https?)
  1317. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
  1318. action: replace
  1319. target_label: __metrics_path__
  1320. regex: (.+)
  1321. - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
  1322. action: replace
  1323. target_label: __address__
  1324. regex: ([^:]+)(?::\d+)?;(\d+)
  1325. replacement: $1:$2
  1326. - action: labelmap
  1327. regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
  1328. replacement: __param_$1
  1329. - action: labelmap
  1330. regex: __meta_kubernetes_service_label_(.+)
  1331. - source_labels: [__meta_kubernetes_namespace]
  1332. action: replace
  1333. target_label: namespace
  1334. - source_labels: [__meta_kubernetes_service_name]
  1335. action: replace
  1336. target_label: service
  1337. - source_labels: [__meta_kubernetes_pod_node_name]
  1338. action: replace
  1339. target_label: node
  1340. # Scrape config for slow service endpoints; same as above, but with a larger
  1341. # timeout and a larger interval
  1342. #
  1343. # The relabeling allows the actual service scrape endpoint to be configured
  1344. # via the following annotations:
  1345. #
  1346. # * `prometheus.io/scrape-slow`: Only scrape services that have a value of `true`
  1347. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  1348. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  1349. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  1350. # * `prometheus.io/port`: If the metrics are exposed on a different port to the
  1351. # service then set this appropriately.
  1352. # * `prometheus.io/param_<parameter>`: If the metrics endpoint uses parameters
  1353. # then you can set any parameter
  1354. - job_name: 'kubernetes-service-endpoints-slow'
  1355. scrape_interval: 5m
  1356. scrape_timeout: 30s
  1357. kubernetes_sd_configs:
  1358. - role: endpoints
  1359. relabel_configs:
  1360. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
  1361. action: keep
  1362. regex: true
  1363. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
  1364. action: replace
  1365. target_label: __scheme__
  1366. regex: (https?)
  1367. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
  1368. action: replace
  1369. target_label: __metrics_path__
  1370. regex: (.+)
  1371. - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
  1372. action: replace
  1373. target_label: __address__
  1374. regex: ([^:]+)(?::\d+)?;(\d+)
  1375. replacement: $1:$2
  1376. - action: labelmap
  1377. regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
  1378. replacement: __param_$1
  1379. - action: labelmap
  1380. regex: __meta_kubernetes_service_label_(.+)
  1381. - source_labels: [__meta_kubernetes_namespace]
  1382. action: replace
  1383. target_label: namespace
  1384. - source_labels: [__meta_kubernetes_service_name]
  1385. action: replace
  1386. target_label: service
  1387. - source_labels: [__meta_kubernetes_pod_node_name]
  1388. action: replace
  1389. target_label: node
  1390. - job_name: 'prometheus-pushgateway'
  1391. honor_labels: true
  1392. kubernetes_sd_configs:
  1393. - role: service
  1394. relabel_configs:
  1395. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
  1396. action: keep
  1397. regex: pushgateway
  1398. # Example scrape config for probing services via the Blackbox Exporter.
  1399. #
  1400. # The relabeling allows the actual service scrape endpoint to be configured
  1401. # via the following annotations:
  1402. #
  1403. # * `prometheus.io/probe`: Only probe services that have a value of `true`
  1404. - job_name: 'kubernetes-services'
  1405. metrics_path: /probe
  1406. params:
  1407. module: [http_2xx]
  1408. kubernetes_sd_configs:
  1409. - role: service
  1410. relabel_configs:
  1411. - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
  1412. action: keep
  1413. regex: true
  1414. - source_labels: [__address__]
  1415. target_label: __param_target
  1416. - target_label: __address__
  1417. replacement: blackbox
  1418. - source_labels: [__param_target]
  1419. target_label: instance
  1420. - action: labelmap
  1421. regex: __meta_kubernetes_service_label_(.+)
  1422. - source_labels: [__meta_kubernetes_namespace]
  1423. target_label: namespace
  1424. - source_labels: [__meta_kubernetes_service_name]
  1425. target_label: service
  1426. # Example scrape config for pods
  1427. #
  1428. # The relabeling allows the actual pod scrape endpoint to be configured via the
  1429. # following annotations:
  1430. #
  1431. # * `prometheus.io/scrape`: Only scrape pods that have a value of `true`,
  1432. # except if `prometheus.io/scrape-slow` is set to `true` as well.
  1433. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  1434. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  1435. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  1436. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
  1437. - job_name: 'kubernetes-pods'
  1438. kubernetes_sd_configs:
  1439. - role: pod
  1440. relabel_configs:
  1441. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
  1442. action: keep
  1443. regex: true
  1444. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow]
  1445. action: drop
  1446. regex: true
  1447. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
  1448. action: replace
  1449. regex: (https?)
  1450. target_label: __scheme__
  1451. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
  1452. action: replace
  1453. target_label: __metrics_path__
  1454. regex: (.+)
  1455. - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
  1456. action: replace
  1457. regex: ([^:]+)(?::\d+)?;(\d+)
  1458. replacement: $1:$2
  1459. target_label: __address__
  1460. - action: labelmap
  1461. regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
  1462. replacement: __param_$1
  1463. - action: labelmap
  1464. regex: __meta_kubernetes_pod_label_(.+)
  1465. - source_labels: [__meta_kubernetes_namespace]
  1466. action: replace
  1467. target_label: namespace
  1468. - source_labels: [__meta_kubernetes_pod_name]
  1469. action: replace
  1470. target_label: pod
  1471. - source_labels: [__meta_kubernetes_pod_phase]
  1472. regex: Pending|Succeeded|Failed|Completed
  1473. action: drop
  1474. # Example Scrape config for pods which should be scraped slower. An useful example
  1475. # would be stackriver-exporter which queries an API on every scrape of the pod
  1476. #
  1477. # The relabeling allows the actual pod scrape endpoint to be configured via the
  1478. # following annotations:
  1479. #
  1480. # * `prometheus.io/scrape-slow`: Only scrape pods that have a value of `true`
  1481. # * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
  1482. # to set this to `https` & most likely set the `tls_config` of the scrape config.
  1483. # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
  1484. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
  1485. - job_name: 'kubernetes-pods-slow'
  1486. scrape_interval: 5m
  1487. scrape_timeout: 30s
  1488. kubernetes_sd_configs:
  1489. - role: pod
  1490. relabel_configs:
  1491. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow]
  1492. action: keep
  1493. regex: true
  1494. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
  1495. action: replace
  1496. regex: (https?)
  1497. target_label: __scheme__
  1498. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
  1499. action: replace
  1500. target_label: __metrics_path__
  1501. regex: (.+)
  1502. - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
  1503. action: replace
  1504. regex: ([^:]+)(?::\d+)?;(\d+)
  1505. replacement: $1:$2
  1506. target_label: __address__
  1507. - action: labelmap
  1508. regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
  1509. replacement: __param_$1
  1510. - action: labelmap
  1511. regex: __meta_kubernetes_pod_label_(.+)
  1512. - source_labels: [__meta_kubernetes_namespace]
  1513. action: replace
  1514. target_label: namespace
  1515. - source_labels: [__meta_kubernetes_pod_name]
  1516. action: replace
  1517. target_label: pod
  1518. - source_labels: [__meta_kubernetes_pod_phase]
  1519. regex: Pending|Succeeded|Failed|Completed
  1520. action: drop
  1521. # adds additional scrape configs to prometheus.yml
  1522. # must be a string so you have to add a | after extraScrapeConfigs:
  1523. # example adds prometheus-blackbox-exporter scrape config
  1524. extraScrapeConfigs:
  1525. # - job_name: 'prometheus-blackbox-exporter'
  1526. # metrics_path: /probe
  1527. # params:
  1528. # module: [http_2xx]
  1529. # static_configs:
  1530. # - targets:
  1531. # - https://example.com
  1532. # relabel_configs:
  1533. # - source_labels: [__address__]
  1534. # target_label: __param_target
  1535. # - source_labels: [__param_target]
  1536. # target_label: instance
  1537. # - target_label: __address__
  1538. # replacement: prometheus-blackbox-exporter:9115
  1539. # Adds option to add alert_relabel_configs to avoid duplicate alerts in alertmanager
  1540. # useful in H/A prometheus with different external labels but the same alerts
  1541. alertRelabelConfigs:
  1542. # alert_relabel_configs:
  1543. # - source_labels: [dc]
  1544. # regex: (.+)\d+
  1545. # target_label: dc
  1546. networkPolicy:
  1547. ## Enable creation of NetworkPolicy resources.
  1548. ##
  1549. enabled: false
  1550. # Force namespace of namespaced resources
  1551. forceNamespace: null