values.yaml 115 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462
  1. # Default values for kube-prometheus-stack.
  2. # This is a YAML-formatted file.
  3. # Declare variables to be passed into your templates.
  4. ## Provide a name in place of kube-prometheus-stack for `app:` labels
  5. ##
  6. nameOverride: ""
  7. ## Override the deployment namespace
  8. ##
  9. namespaceOverride: ""
  10. ## Provide a k8s version to auto dashboard import script example: kubeTargetVersionOverride: 1.16.6
  11. ##
  12. kubeTargetVersionOverride: ""
  13. ## Allow kubeVersion to be overridden while creating the ingress
  14. ##
  15. kubeVersionOverride: ""
  16. ## Provide a name to substitute for the full names of resources
  17. ##
  18. fullnameOverride: ""
  19. ## Labels to apply to all resources
  20. ##
  21. commonLabels: {}
  22. # scmhash: abc123
  23. # myLabel: aakkmd
  24. ## Create default rules for monitoring the cluster
  25. ##
  26. defaultRules:
  27. create: true
  28. rules:
  29. alertmanager: true
  30. etcd: true
  31. configReloaders: true
  32. general: true
  33. k8s: true
  34. kubeApiserverAvailability: true
  35. kubeApiserverBurnrate: true
  36. kubeApiserverHistogram: true
  37. kubeApiserverSlos: true
  38. kubeControllerManager: true
  39. kubelet: true
  40. kubeProxy: true
  41. kubePrometheusGeneral: true
  42. kubePrometheusNodeRecording: true
  43. kubernetesApps: true
  44. kubernetesResources: true
  45. kubernetesStorage: true
  46. kubernetesSystem: true
  47. kubeSchedulerAlerting: true
  48. kubeSchedulerRecording: true
  49. kubeStateMetrics: true
  50. network: true
  51. node: true
  52. nodeExporterAlerting: true
  53. nodeExporterRecording: true
  54. prometheus: true
  55. prometheusOperator: true
  56. ## Reduce app namespace alert scope
  57. appNamespacesTarget: ".*"
  58. ## Labels for default rules
  59. labels: {}
  60. ## Annotations for default rules
  61. annotations: {}
  62. ## Additional labels for PrometheusRule alerts
  63. additionalRuleLabels: {}
  64. ## Additional annotations for PrometheusRule alerts
  65. additionalRuleAnnotations: {}
  66. ## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
  67. runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
  68. ## Disabled PrometheusRule alerts
  69. disabled: {}
  70. # KubeAPIDown: true
  71. # NodeRAIDDegraded: true
  72. ## Deprecated way to provide custom recording or alerting rules to be deployed into the cluster.
  73. ##
  74. # additionalPrometheusRules: []
  75. # - name: my-rule-file
  76. # groups:
  77. # - name: my_group
  78. # rules:
  79. # - record: my_record
  80. # expr: 100 * my_record
  81. ## Provide custom recording or alerting rules to be deployed into the cluster.
  82. ##
  83. additionalPrometheusRulesMap: {}
  84. # rule-name:
  85. # groups:
  86. # - name: my_group
  87. # rules:
  88. # - record: my_record
  89. # expr: 100 * my_record
  90. ##
  91. global:
  92. rbac:
  93. create: true
  94. ## Create ClusterRoles that extend the existing view, edit and admin ClusterRoles to interact with prometheus-operator CRDs
  95. ## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
  96. createAggregateClusterRoles: false
  97. pspEnabled: false
  98. pspAnnotations: {}
  99. ## Specify pod annotations
  100. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
  101. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
  102. ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
  103. ##
  104. # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
  105. # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
  106. # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
  107. ## Global image registry to use if it needs to be overriden for some specific use cases (e.g local registries, custom images, ...)
  108. ##
  109. imageRegistry: ""
  110. ## Reference to one or more secrets to be used when pulling images
  111. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  112. ##
  113. imagePullSecrets: []
  114. # - name: "image-pull-secret"
  115. # or
  116. # - "image-pull-secret"
  117. ## Configuration for alertmanager
  118. ## ref: https://prometheus.io/docs/alerting/alertmanager/
  119. ##
  120. alertmanager:
  121. ## Deploy alertmanager
  122. ##
  123. enabled: true
  124. ## Annotations for Alertmanager
  125. ##
  126. annotations: {}
  127. ## Api that prometheus will use to communicate with alertmanager. Possible values are v1, v2
  128. ##
  129. apiVersion: v2
  130. ## Service account for Alertmanager to use.
  131. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  132. ##
  133. serviceAccount:
  134. create: true
  135. name: ""
  136. annotations: {}
  137. ## Configure pod disruption budgets for Alertmanager
  138. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
  139. ## This configuration is immutable once created and will require the PDB to be deleted to be changed
  140. ## https://github.com/kubernetes/kubernetes/issues/45398
  141. ##
  142. podDisruptionBudget:
  143. enabled: false
  144. minAvailable: 1
  145. maxUnavailable: ""
  146. ## Alertmanager configuration directives
  147. ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
  148. ## https://prometheus.io/webtools/alerting/routing-tree-editor/
  149. ##
  150. config:
  151. global:
  152. resolve_timeout: 5m
  153. inhibit_rules:
  154. - source_matchers:
  155. - 'severity = critical'
  156. target_matchers:
  157. - 'severity =~ warning|info'
  158. equal:
  159. - 'namespace'
  160. - 'alertname'
  161. - source_matchers:
  162. - 'severity = warning'
  163. target_matchers:
  164. - 'severity = info'
  165. equal:
  166. - 'namespace'
  167. - 'alertname'
  168. - source_matchers:
  169. - 'alertname = InfoInhibitor'
  170. target_matchers:
  171. - 'severity = info'
  172. equal:
  173. - 'namespace'
  174. route:
  175. group_by: ['namespace']
  176. group_wait: 30s
  177. group_interval: 5m
  178. repeat_interval: 12h
  179. receiver: 'null'
  180. routes:
  181. - receiver: 'null'
  182. matchers:
  183. - alertname =~ "InfoInhibitor|Watchdog"
  184. receivers:
  185. - name: 'null'
  186. templates:
  187. - '/etc/alertmanager/config/*.tmpl'
  188. ## Pass the Alertmanager configuration directives through Helm's templating
  189. ## engine. If the Alertmanager configuration contains Alertmanager templates,
  190. ## they'll need to be properly escaped so that they are not interpreted by
  191. ## Helm
  192. ## ref: https://helm.sh/docs/developing_charts/#using-the-tpl-function
  193. ## https://prometheus.io/docs/alerting/configuration/#tmpl_string
  194. ## https://prometheus.io/docs/alerting/notifications/
  195. ## https://prometheus.io/docs/alerting/notification_examples/
  196. tplConfig: false
  197. ## Alertmanager template files to format alerts
  198. ## By default, templateFiles are placed in /etc/alertmanager/config/ and if
  199. ## they have a .tmpl file suffix will be loaded. See config.templates above
  200. ## to change, add other suffixes. If adding other suffixes, be sure to update
  201. ## config.templates above to include those suffixes.
  202. ## ref: https://prometheus.io/docs/alerting/notifications/
  203. ## https://prometheus.io/docs/alerting/notification_examples/
  204. ##
  205. templateFiles: {}
  206. #
  207. ## An example template:
  208. # template_1.tmpl: |-
  209. # {{ define "cluster" }}{{ .ExternalURL | reReplaceAll ".*alertmanager\\.(.*)" "$1" }}{{ end }}
  210. #
  211. # {{ define "slack.myorg.text" }}
  212. # {{- $root := . -}}
  213. # {{ range .Alerts }}
  214. # *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
  215. # *Cluster:* {{ template "cluster" $root }}
  216. # *Description:* {{ .Annotations.description }}
  217. # *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:>
  218. # *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
  219. # *Details:*
  220. # {{ range .Labels.SortedPairs }} - *{{ .Name }}:* `{{ .Value }}`
  221. # {{ end }}
  222. # {{ end }}
  223. # {{ end }}
  224. ingress:
  225. enabled: false
  226. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  227. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  228. # ingressClassName: nginx
  229. annotations: {}
  230. labels: {}
  231. ## Redirect ingress to an additional defined port on the service
  232. # servicePort: 8081
  233. ## Hosts must be provided if Ingress is enabled.
  234. ##
  235. hosts: []
  236. # - alertmanager.domain.com
  237. ## Paths to use for ingress rules - one path should match the alertmanagerSpec.routePrefix
  238. ##
  239. paths: []
  240. # - /
  241. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  242. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  243. # pathType: ImplementationSpecific
  244. ## TLS configuration for Alertmanager Ingress
  245. ## Secret must be manually created in the namespace
  246. ##
  247. tls: []
  248. # - secretName: alertmanager-general-tls
  249. # hosts:
  250. # - alertmanager.example.com
  251. ## Configuration for Alertmanager secret
  252. ##
  253. secret:
  254. annotations: {}
  255. ## Configuration for creating an Ingress that will map to each Alertmanager replica service
  256. ## alertmanager.servicePerReplica must be enabled
  257. ##
  258. ingressPerReplica:
  259. enabled: false
  260. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  261. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  262. # ingressClassName: nginx
  263. annotations: {}
  264. labels: {}
  265. ## Final form of the hostname for each per replica ingress is
  266. ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
  267. ##
  268. ## Prefix for the per replica ingress that will have `-$replicaNumber`
  269. ## appended to the end
  270. hostPrefix: ""
  271. ## Domain that will be used for the per replica ingress
  272. hostDomain: ""
  273. ## Paths to use for ingress rules
  274. ##
  275. paths: []
  276. # - /
  277. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  278. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  279. # pathType: ImplementationSpecific
  280. ## Secret name containing the TLS certificate for alertmanager per replica ingress
  281. ## Secret must be manually created in the namespace
  282. tlsSecretName: ""
  283. ## Separated secret for each per replica Ingress. Can be used together with cert-manager
  284. ##
  285. tlsSecretPerReplica:
  286. enabled: false
  287. ## Final form of the secret for each per replica ingress is
  288. ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
  289. ##
  290. prefix: "alertmanager"
  291. ## Configuration for Alertmanager service
  292. ##
  293. service:
  294. annotations: {}
  295. labels: {}
  296. clusterIP: ""
  297. ## Port for Alertmanager Service to listen on
  298. ##
  299. port: 9093
  300. ## To be used with a proxy extraContainer port
  301. ##
  302. targetPort: 9093
  303. ## Port to expose on each node
  304. ## Only used if service.type is 'NodePort'
  305. ##
  306. nodePort: 30903
  307. ## List of IP addresses at which the Prometheus server service is available
  308. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  309. ##
  310. ## Additional ports to open for Alertmanager service
  311. additionalPorts: []
  312. # additionalPorts:
  313. # - name: authenticated
  314. # port: 8081
  315. # targetPort: 8081
  316. externalIPs: []
  317. loadBalancerIP: ""
  318. loadBalancerSourceRanges: []
  319. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  320. ##
  321. externalTrafficPolicy: Cluster
  322. ## Service type
  323. ##
  324. type: ClusterIP
  325. ## Configuration for creating a separate Service for each statefulset Alertmanager replica
  326. ##
  327. servicePerReplica:
  328. enabled: false
  329. annotations: {}
  330. ## Port for Alertmanager Service per replica to listen on
  331. ##
  332. port: 9093
  333. ## To be used with a proxy extraContainer port
  334. targetPort: 9093
  335. ## Port to expose on each node
  336. ## Only used if servicePerReplica.type is 'NodePort'
  337. ##
  338. nodePort: 30904
  339. ## Loadbalancer source IP ranges
  340. ## Only used if servicePerReplica.type is "LoadBalancer"
  341. loadBalancerSourceRanges: []
  342. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  343. ##
  344. externalTrafficPolicy: Cluster
  345. ## Service type
  346. ##
  347. type: ClusterIP
  348. ## If true, create a serviceMonitor for alertmanager
  349. ##
  350. serviceMonitor:
  351. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  352. ##
  353. interval: ""
  354. selfMonitor: true
  355. ## proxyUrl: URL of a proxy that should be used for scraping.
  356. ##
  357. proxyUrl: ""
  358. ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
  359. scheme: ""
  360. ## enableHttp2: Whether to enable HTTP2.
  361. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
  362. enableHttp2: true
  363. ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
  364. ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
  365. tlsConfig: {}
  366. bearerTokenFile:
  367. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  368. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  369. ##
  370. metricRelabelings: []
  371. # - action: keep
  372. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  373. # sourceLabels: [__name__]
  374. ## RelabelConfigs to apply to samples before scraping
  375. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  376. ##
  377. relabelings: []
  378. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  379. # separator: ;
  380. # regex: ^(.*)$
  381. # targetLabel: nodename
  382. # replacement: $1
  383. # action: replace
  384. ## Settings affecting alertmanagerSpec
  385. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerspec
  386. ##
  387. alertmanagerSpec:
  388. ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
  389. ## Metadata Labels and Annotations gets propagated to the Alertmanager pods.
  390. ##
  391. podMetadata: {}
  392. ## Image of Alertmanager
  393. ##
  394. image:
  395. registry: quay.io
  396. repository: prometheus/alertmanager
  397. tag: v0.24.0
  398. sha: ""
  399. ## If true then the user will be responsible to provide a secret with alertmanager configuration
  400. ## So when true the config part will be ignored (including templateFiles) and the one in the secret will be used
  401. ##
  402. useExistingSecret: false
  403. ## Secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the
  404. ## Alertmanager Pods. The Secrets are mounted into /etc/alertmanager/secrets/.
  405. ##
  406. secrets: []
  407. ## ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods.
  408. ## The ConfigMaps are mounted into /etc/alertmanager/configmaps/.
  409. ##
  410. configMaps: []
  411. ## ConfigSecret is the name of a Kubernetes Secret in the same namespace as the Alertmanager object, which contains configuration for
  412. ## this Alertmanager instance. Defaults to 'alertmanager-' The secret is mounted into /etc/alertmanager/config.
  413. ##
  414. # configSecret:
  415. ## WebTLSConfig defines the TLS parameters for HTTPS
  416. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerwebspec
  417. web: {}
  418. ## AlertmanagerConfigs to be selected to merge and configure Alertmanager with.
  419. ##
  420. alertmanagerConfigSelector: {}
  421. ## Example which selects all alertmanagerConfig resources
  422. ## with label "alertconfig" with values any of "example-config" or "example-config-2"
  423. # alertmanagerConfigSelector:
  424. # matchExpressions:
  425. # - key: alertconfig
  426. # operator: In
  427. # values:
  428. # - example-config
  429. # - example-config-2
  430. #
  431. ## Example which selects all alertmanagerConfig resources with label "role" set to "example-config"
  432. # alertmanagerConfigSelector:
  433. # matchLabels:
  434. # role: example-config
  435. ## Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace.
  436. ##
  437. alertmanagerConfigNamespaceSelector: {}
  438. ## Example which selects all namespaces
  439. ## with label "alertmanagerconfig" with values any of "example-namespace" or "example-namespace-2"
  440. # alertmanagerConfigNamespaceSelector:
  441. # matchExpressions:
  442. # - key: alertmanagerconfig
  443. # operator: In
  444. # values:
  445. # - example-namespace
  446. # - example-namespace-2
  447. ## Example which selects all namespaces with label "alertmanagerconfig" set to "enabled"
  448. # alertmanagerConfigNamespaceSelector:
  449. # matchLabels:
  450. # alertmanagerconfig: enabled
  451. ## AlermanagerConfig to be used as top level configuration
  452. ##
  453. alertmanagerConfiguration: {}
  454. ## Example with select a global alertmanagerconfig
  455. # alertmanagerConfiguration:
  456. # name: global-alertmanager-Configuration
  457. ## Define Log Format
  458. # Use logfmt (default) or json logging
  459. logFormat: logfmt
  460. ## Log level for Alertmanager to be configured with.
  461. ##
  462. logLevel: info
  463. ## Size is the expected size of the alertmanager cluster. The controller will eventually make the size of the
  464. ## running cluster equal to the expected size.
  465. replicas: 1
  466. ## Time duration Alertmanager shall retain data for. Default is '120h', and must match the regular expression
  467. ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
  468. ##
  469. retention: 120h
  470. ## Storage is the definition of how storage will be used by the Alertmanager instances.
  471. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
  472. ##
  473. storage: {}
  474. # volumeClaimTemplate:
  475. # spec:
  476. # storageClassName: gluster
  477. # accessModes: ["ReadWriteOnce"]
  478. # resources:
  479. # requests:
  480. # storage: 50Gi
  481. # selector: {}
  482. ## The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. string false
  483. ##
  484. externalUrl:
  485. ## The route prefix Alertmanager registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true,
  486. ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
  487. ##
  488. routePrefix: /
  489. ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
  490. ##
  491. paused: false
  492. ## Define which Nodes the Pods are scheduled on.
  493. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  494. ##
  495. nodeSelector: {}
  496. ## Define resources requests and limits for single Pods.
  497. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  498. ##
  499. resources: {}
  500. # requests:
  501. # memory: 400Mi
  502. ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
  503. ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
  504. ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
  505. ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
  506. ##
  507. podAntiAffinity: ""
  508. ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
  509. ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
  510. ##
  511. podAntiAffinityTopologyKey: kubernetes.io/hostname
  512. ## Assign custom affinity rules to the alertmanager instance
  513. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  514. ##
  515. affinity: {}
  516. # nodeAffinity:
  517. # requiredDuringSchedulingIgnoredDuringExecution:
  518. # nodeSelectorTerms:
  519. # - matchExpressions:
  520. # - key: kubernetes.io/e2e-az-name
  521. # operator: In
  522. # values:
  523. # - e2e-az1
  524. # - e2e-az2
  525. ## If specified, the pod's tolerations.
  526. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  527. ##
  528. tolerations: []
  529. # - key: "key"
  530. # operator: "Equal"
  531. # value: "value"
  532. # effect: "NoSchedule"
  533. ## If specified, the pod's topology spread constraints.
  534. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  535. ##
  536. topologySpreadConstraints: []
  537. # - maxSkew: 1
  538. # topologyKey: topology.kubernetes.io/zone
  539. # whenUnsatisfiable: DoNotSchedule
  540. # labelSelector:
  541. # matchLabels:
  542. # app: alertmanager
  543. ## SecurityContext holds pod-level security attributes and common container settings.
  544. ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
  545. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  546. ##
  547. securityContext:
  548. runAsGroup: 2000
  549. runAsNonRoot: true
  550. runAsUser: 1000
  551. fsGroup: 2000
  552. ## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
  553. ## Note this is only for the Alertmanager UI, not the gossip communication.
  554. ##
  555. listenLocal: false
  556. ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod.
  557. ##
  558. containers: []
  559. # containers:
  560. # - name: oauth-proxy
  561. # image: quay.io/oauth2-proxy/oauth2-proxy:v7.3.0
  562. # args:
  563. # - --upstream=http://127.0.0.1:9093
  564. # - --http-address=0.0.0.0:8081
  565. # - ...
  566. # ports:
  567. # - containerPort: 8081
  568. # name: oauth-proxy
  569. # protocol: TCP
  570. # resources: {}
  571. # Additional volumes on the output StatefulSet definition.
  572. volumes: []
  573. # Additional VolumeMounts on the output StatefulSet definition.
  574. volumeMounts: []
  575. ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
  576. ## (permissions, dir tree) on mounted volumes before starting prometheus
  577. initContainers: []
  578. ## Priority class assigned to the Pods
  579. ##
  580. priorityClassName: ""
  581. ## AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster.
  582. ##
  583. additionalPeers: []
  584. ## PortName to use for Alert Manager.
  585. ##
  586. portName: "http-web"
  587. ## ClusterAdvertiseAddress is the explicit address to advertise in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. [1] RFC1918: https://tools.ietf.org/html/rfc1918
  588. ##
  589. clusterAdvertiseAddress: false
  590. ## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
  591. ## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
  592. forceEnableClusterMode: false
  593. ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
  594. ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
  595. minReadySeconds: 0
  596. ## ExtraSecret can be used to store various data in an extra secret
  597. ## (use it for example to store hashed basic auth credentials)
  598. extraSecret:
  599. ## if not set, name will be auto generated
  600. # name: ""
  601. annotations: {}
  602. data: {}
  603. # auth: |
  604. # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
  605. # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
  606. ## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
  607. ##
  608. grafana:
  609. enabled: true
  610. namespaceOverride: ""
  611. ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled
  612. ##
  613. forceDeployDatasources: false
  614. ## ForceDeployDashboard Create dashboard configmap even if grafana deployment has been disabled
  615. ##
  616. forceDeployDashboards: false
  617. ## Deploy default dashboards
  618. ##
  619. defaultDashboardsEnabled: true
  620. ## Timezone for the default dashboards
  621. ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg
  622. ##
  623. defaultDashboardsTimezone: utc
  624. adminPassword: prom-operator
  625. rbac:
  626. ## If true, Grafana PSPs will be created
  627. ##
  628. pspEnabled: false
  629. ingress:
  630. ## If true, Grafana Ingress will be created
  631. ##
  632. enabled: false
  633. ## IngressClassName for Grafana Ingress.
  634. ## Should be provided if Ingress is enable.
  635. ##
  636. # ingressClassName: nginx
  637. ## Annotations for Grafana Ingress
  638. ##
  639. annotations: {}
  640. # kubernetes.io/ingress.class: nginx
  641. # kubernetes.io/tls-acme: "true"
  642. ## Labels to be added to the Ingress
  643. ##
  644. labels: {}
  645. ## Hostnames.
  646. ## Must be provided if Ingress is enable.
  647. ##
  648. # hosts:
  649. # - grafana.domain.com
  650. hosts: []
  651. ## Path for grafana ingress
  652. path: /
  653. ## TLS configuration for grafana Ingress
  654. ## Secret must be manually created in the namespace
  655. ##
  656. tls: []
  657. # - secretName: grafana-general-tls
  658. # hosts:
  659. # - grafana.example.com
  660. sidecar:
  661. dashboards:
  662. enabled: true
  663. label: grafana_dashboard
  664. labelValue: "1"
  665. ## Annotations for Grafana dashboard configmaps
  666. ##
  667. annotations: {}
  668. multicluster:
  669. global:
  670. enabled: false
  671. etcd:
  672. enabled: false
  673. provider:
  674. allowUiUpdates: false
  675. datasources:
  676. enabled: true
  677. defaultDatasourceEnabled: true
  678. uid: prometheus
  679. ## URL of prometheus datasource
  680. ##
  681. # url: http://prometheus-stack-prometheus:9090/
  682. # If not defined, will use prometheus.prometheusSpec.scrapeInterval or its default
  683. # defaultDatasourceScrapeInterval: 15s
  684. ## Annotations for Grafana datasource configmaps
  685. ##
  686. annotations: {}
  687. ## Create datasource for each Pod of Prometheus StatefulSet;
  688. ## this uses headless service `prometheus-operated` which is
  689. ## created by Prometheus Operator
  690. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/0fee93e12dc7c2ea1218f19ae25ec6b893460590/pkg/prometheus/statefulset.go#L255-L286
  691. createPrometheusReplicasDatasources: false
  692. label: grafana_datasource
  693. labelValue: "1"
  694. ## Field with internal link pointing to existing data source in Grafana.
  695. ## Can be provisioned via additionalDataSources
  696. exemplarTraceIdDestinations: {}
  697. # datasourceUid: Jaeger
  698. # traceIdLabelName: trace_id
  699. extraConfigmapMounts: []
  700. # - name: certs-configmap
  701. # mountPath: /etc/grafana/ssl/
  702. # configMap: certs-configmap
  703. # readOnly: true
  704. deleteDatasources: []
  705. # - name: example-datasource
  706. # orgId: 1
  707. ## Configure additional grafana datasources (passed through tpl)
  708. ## ref: http://docs.grafana.org/administration/provisioning/#datasources
  709. additionalDataSources: []
  710. # - name: prometheus-sample
  711. # access: proxy
  712. # basicAuth: true
  713. # basicAuthPassword: pass
  714. # basicAuthUser: daco
  715. # editable: false
  716. # jsonData:
  717. # tlsSkipVerify: true
  718. # orgId: 1
  719. # type: prometheus
  720. # url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090
  721. # version: 1
  722. ## Passed to grafana subchart and used by servicemonitor below
  723. ##
  724. service:
  725. portName: http-web
  726. serviceMonitor:
  727. # If true, a ServiceMonitor CRD is created for a prometheus operator
  728. # https://github.com/coreos/prometheus-operator
  729. #
  730. enabled: true
  731. # Path to use for scraping metrics. Might be different if server.root_url is set
  732. # in grafana.ini
  733. path: "/metrics"
  734. # namespace: monitoring (defaults to use the namespace this chart is deployed to)
  735. # labels for the ServiceMonitor
  736. labels: {}
  737. # Scrape interval. If not set, the Prometheus default scrape interval is used.
  738. #
  739. interval: ""
  740. scheme: http
  741. tlsConfig: {}
  742. scrapeTimeout: 30s
  743. ## RelabelConfigs to apply to samples before scraping
  744. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  745. ##
  746. relabelings: []
  747. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  748. # separator: ;
  749. # regex: ^(.*)$
  750. # targetLabel: nodename
  751. # replacement: $1
  752. # action: replace
  753. ## Component scraping the kube api server
  754. ##
  755. kubeApiServer:
  756. enabled: true
  757. tlsConfig:
  758. serverName: kubernetes
  759. insecureSkipVerify: false
  760. serviceMonitor:
  761. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  762. ##
  763. interval: ""
  764. ## proxyUrl: URL of a proxy that should be used for scraping.
  765. ##
  766. proxyUrl: ""
  767. jobLabel: component
  768. selector:
  769. matchLabels:
  770. component: apiserver
  771. provider: kubernetes
  772. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  773. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  774. ##
  775. metricRelabelings:
  776. # Drop excessively noisy apiserver buckets.
  777. - action: drop
  778. regex: apiserver_request_duration_seconds_bucket;(0.15|0.2|0.3|0.35|0.4|0.45|0.6|0.7|0.8|0.9|1.25|1.5|1.75|2|3|3.5|4|4.5|6|7|8|9|15|25|40|50)
  779. sourceLabels:
  780. - __name__
  781. - le
  782. # - action: keep
  783. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  784. # sourceLabels: [__name__]
  785. ## RelabelConfigs to apply to samples before scraping
  786. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  787. ##
  788. relabelings: []
  789. # - sourceLabels:
  790. # - __meta_kubernetes_namespace
  791. # - __meta_kubernetes_service_name
  792. # - __meta_kubernetes_endpoint_port_name
  793. # action: keep
  794. # regex: default;kubernetes;https
  795. # - targetLabel: __address__
  796. # replacement: kubernetes.default.svc:443
  797. ## Additional labels
  798. ##
  799. additionalLabels: {}
  800. # foo: bar
  801. ## Component scraping the kubelet and kubelet-hosted cAdvisor
  802. ##
  803. kubelet:
  804. enabled: true
  805. namespace: kube-system
  806. serviceMonitor:
  807. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  808. ##
  809. interval: ""
  810. ## proxyUrl: URL of a proxy that should be used for scraping.
  811. ##
  812. proxyUrl: ""
  813. ## Enable scraping the kubelet over https. For requirements to enable this see
  814. ## https://github.com/prometheus-operator/prometheus-operator/issues/926
  815. ##
  816. https: true
  817. ## Enable scraping /metrics/cadvisor from kubelet's service
  818. ##
  819. cAdvisor: true
  820. ## Enable scraping /metrics/probes from kubelet's service
  821. ##
  822. probes: true
  823. ## Enable scraping /metrics/resource from kubelet's service
  824. ## This is disabled by default because container metrics are already exposed by cAdvisor
  825. ##
  826. resource: false
  827. # From kubernetes 1.18, /metrics/resource/v1alpha1 renamed to /metrics/resource
  828. resourcePath: "/metrics/resource/v1alpha1"
  829. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  830. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  831. ##
  832. cAdvisorMetricRelabelings:
  833. # Drop less useful container CPU metrics.
  834. - sourceLabels: [__name__]
  835. action: drop
  836. regex: 'container_cpu_(cfs_throttled_seconds_total|load_average_10s|system_seconds_total|user_seconds_total)'
  837. # Drop less useful container / always zero filesystem metrics.
  838. - sourceLabels: [__name__]
  839. action: drop
  840. regex: 'container_fs_(io_current|io_time_seconds_total|io_time_weighted_seconds_total|reads_merged_total|sector_reads_total|sector_writes_total|writes_merged_total)'
  841. # Drop less useful / always zero container memory metrics.
  842. - sourceLabels: [__name__]
  843. action: drop
  844. regex: 'container_memory_(mapped_file|swap)'
  845. # Drop less useful container process metrics.
  846. - sourceLabels: [__name__]
  847. action: drop
  848. regex: 'container_(file_descriptors|tasks_state|threads_max)'
  849. # Drop container spec metrics that overlap with kube-state-metrics.
  850. - sourceLabels: [__name__]
  851. action: drop
  852. regex: 'container_spec.*'
  853. # Drop cgroup metrics with no pod.
  854. - sourceLabels: [id, pod]
  855. action: drop
  856. regex: '.+;'
  857. # - sourceLabels: [__name__, image]
  858. # separator: ;
  859. # regex: container_([a-z_]+);
  860. # replacement: $1
  861. # action: drop
  862. # - sourceLabels: [__name__]
  863. # separator: ;
  864. # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
  865. # replacement: $1
  866. # action: drop
  867. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  868. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  869. ##
  870. probesMetricRelabelings: []
  871. # - sourceLabels: [__name__, image]
  872. # separator: ;
  873. # regex: container_([a-z_]+);
  874. # replacement: $1
  875. # action: drop
  876. # - sourceLabels: [__name__]
  877. # separator: ;
  878. # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
  879. # replacement: $1
  880. # action: drop
  881. ## RelabelConfigs to apply to samples before scraping
  882. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  883. ##
  884. ## metrics_path is required to match upstream rules and charts
  885. cAdvisorRelabelings:
  886. - action: replace
  887. sourceLabels: [__metrics_path__]
  888. targetLabel: metrics_path
  889. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  890. # separator: ;
  891. # regex: ^(.*)$
  892. # targetLabel: nodename
  893. # replacement: $1
  894. # action: replace
  895. ## RelabelConfigs to apply to samples before scraping
  896. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  897. ##
  898. probesRelabelings:
  899. - action: replace
  900. sourceLabels: [__metrics_path__]
  901. targetLabel: metrics_path
  902. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  903. # separator: ;
  904. # regex: ^(.*)$
  905. # targetLabel: nodename
  906. # replacement: $1
  907. # action: replace
  908. ## RelabelConfigs to apply to samples before scraping
  909. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  910. ##
  911. resourceRelabelings:
  912. - action: replace
  913. sourceLabels: [__metrics_path__]
  914. targetLabel: metrics_path
  915. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  916. # separator: ;
  917. # regex: ^(.*)$
  918. # targetLabel: nodename
  919. # replacement: $1
  920. # action: replace
  921. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  922. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  923. ##
  924. metricRelabelings: []
  925. # - sourceLabels: [__name__, image]
  926. # separator: ;
  927. # regex: container_([a-z_]+);
  928. # replacement: $1
  929. # action: drop
  930. # - sourceLabels: [__name__]
  931. # separator: ;
  932. # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
  933. # replacement: $1
  934. # action: drop
  935. ## RelabelConfigs to apply to samples before scraping
  936. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  937. ##
  938. ## metrics_path is required to match upstream rules and charts
  939. relabelings:
  940. - action: replace
  941. sourceLabels: [__metrics_path__]
  942. targetLabel: metrics_path
  943. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  944. # separator: ;
  945. # regex: ^(.*)$
  946. # targetLabel: nodename
  947. # replacement: $1
  948. # action: replace
  949. ## Additional labels
  950. ##
  951. additionalLabels: {}
  952. # foo: bar
  953. ## Component scraping the kube controller manager
  954. ##
  955. kubeControllerManager:
  956. enabled: true
  957. ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
  958. ##
  959. endpoints: []
  960. # - 10.141.4.22
  961. # - 10.141.4.23
  962. # - 10.141.4.24
  963. ## If using kubeControllerManager.endpoints only the port and targetPort are used
  964. ##
  965. service:
  966. enabled: true
  967. ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
  968. ## of default port in Kubernetes 1.22.
  969. ##
  970. port: null
  971. targetPort: null
  972. # selector:
  973. # component: kube-controller-manager
  974. serviceMonitor:
  975. enabled: true
  976. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  977. ##
  978. interval: ""
  979. ## proxyUrl: URL of a proxy that should be used for scraping.
  980. ##
  981. proxyUrl: ""
  982. ## Enable scraping kube-controller-manager over https.
  983. ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
  984. ## If null or unset, the value is determined dynamically based on target Kubernetes version.
  985. ##
  986. https: null
  987. # Skip TLS certificate validation when scraping
  988. insecureSkipVerify: null
  989. # Name of the server to use when validating TLS certificate
  990. serverName: null
  991. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  992. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  993. ##
  994. metricRelabelings: []
  995. # - action: keep
  996. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  997. # sourceLabels: [__name__]
  998. ## RelabelConfigs to apply to samples before scraping
  999. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1000. ##
  1001. relabelings: []
  1002. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1003. # separator: ;
  1004. # regex: ^(.*)$
  1005. # targetLabel: nodename
  1006. # replacement: $1
  1007. # action: replace
  1008. ## Additional labels
  1009. ##
  1010. additionalLabels: {}
  1011. # foo: bar
  1012. ## Component scraping coreDns. Use either this or kubeDns
  1013. ##
  1014. coreDns:
  1015. enabled: true
  1016. service:
  1017. port: 9153
  1018. targetPort: 9153
  1019. # selector:
  1020. # k8s-app: kube-dns
  1021. serviceMonitor:
  1022. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1023. ##
  1024. interval: ""
  1025. ## proxyUrl: URL of a proxy that should be used for scraping.
  1026. ##
  1027. proxyUrl: ""
  1028. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1029. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1030. ##
  1031. metricRelabelings: []
  1032. # - action: keep
  1033. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1034. # sourceLabels: [__name__]
  1035. ## RelabelConfigs to apply to samples before scraping
  1036. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1037. ##
  1038. relabelings: []
  1039. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1040. # separator: ;
  1041. # regex: ^(.*)$
  1042. # targetLabel: nodename
  1043. # replacement: $1
  1044. # action: replace
  1045. ## Additional labels
  1046. ##
  1047. additionalLabels: {}
  1048. # foo: bar
  1049. ## Component scraping kubeDns. Use either this or coreDns
  1050. ##
  1051. kubeDns:
  1052. enabled: false
  1053. service:
  1054. dnsmasq:
  1055. port: 10054
  1056. targetPort: 10054
  1057. skydns:
  1058. port: 10055
  1059. targetPort: 10055
  1060. # selector:
  1061. # k8s-app: kube-dns
  1062. serviceMonitor:
  1063. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1064. ##
  1065. interval: ""
  1066. ## proxyUrl: URL of a proxy that should be used for scraping.
  1067. ##
  1068. proxyUrl: ""
  1069. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1070. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1071. ##
  1072. metricRelabelings: []
  1073. # - action: keep
  1074. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1075. # sourceLabels: [__name__]
  1076. ## RelabelConfigs to apply to samples before scraping
  1077. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1078. ##
  1079. relabelings: []
  1080. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1081. # separator: ;
  1082. # regex: ^(.*)$
  1083. # targetLabel: nodename
  1084. # replacement: $1
  1085. # action: replace
  1086. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1087. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1088. ##
  1089. dnsmasqMetricRelabelings: []
  1090. # - action: keep
  1091. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1092. # sourceLabels: [__name__]
  1093. ## RelabelConfigs to apply to samples before scraping
  1094. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1095. ##
  1096. dnsmasqRelabelings: []
  1097. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1098. # separator: ;
  1099. # regex: ^(.*)$
  1100. # targetLabel: nodename
  1101. # replacement: $1
  1102. # action: replace
  1103. ## Additional labels
  1104. ##
  1105. additionalLabels: {}
  1106. # foo: bar
  1107. ## Component scraping etcd
  1108. ##
  1109. kubeEtcd:
  1110. enabled: true
  1111. ## If your etcd is not deployed as a pod, specify IPs it can be found on
  1112. ##
  1113. endpoints: []
  1114. # - 10.141.4.22
  1115. # - 10.141.4.23
  1116. # - 10.141.4.24
  1117. ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used
  1118. ##
  1119. service:
  1120. enabled: true
  1121. port: 2381
  1122. targetPort: 2381
  1123. # selector:
  1124. # component: etcd
  1125. ## Configure secure access to the etcd cluster by loading a secret into prometheus and
  1126. ## specifying security configuration below. For example, with a secret named etcd-client-cert
  1127. ##
  1128. ## serviceMonitor:
  1129. ## scheme: https
  1130. ## insecureSkipVerify: false
  1131. ## serverName: localhost
  1132. ## caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
  1133. ## certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
  1134. ## keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
  1135. ##
  1136. serviceMonitor:
  1137. enabled: true
  1138. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1139. ##
  1140. interval: ""
  1141. ## proxyUrl: URL of a proxy that should be used for scraping.
  1142. ##
  1143. proxyUrl: ""
  1144. scheme: http
  1145. insecureSkipVerify: false
  1146. serverName: ""
  1147. caFile: ""
  1148. certFile: ""
  1149. keyFile: ""
  1150. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1151. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1152. ##
  1153. metricRelabelings: []
  1154. # - action: keep
  1155. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1156. # sourceLabels: [__name__]
  1157. ## RelabelConfigs to apply to samples before scraping
  1158. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1159. ##
  1160. relabelings: []
  1161. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1162. # separator: ;
  1163. # regex: ^(.*)$
  1164. # targetLabel: nodename
  1165. # replacement: $1
  1166. # action: replace
  1167. ## Additional labels
  1168. ##
  1169. additionalLabels: {}
  1170. # foo: bar
  1171. ## Component scraping kube scheduler
  1172. ##
  1173. kubeScheduler:
  1174. enabled: true
  1175. ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
  1176. ##
  1177. endpoints: []
  1178. # - 10.141.4.22
  1179. # - 10.141.4.23
  1180. # - 10.141.4.24
  1181. ## If using kubeScheduler.endpoints only the port and targetPort are used
  1182. ##
  1183. service:
  1184. enabled: true
  1185. ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
  1186. ## of default port in Kubernetes 1.23.
  1187. ##
  1188. port: null
  1189. targetPort: null
  1190. # selector:
  1191. # component: kube-scheduler
  1192. serviceMonitor:
  1193. enabled: true
  1194. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1195. ##
  1196. interval: ""
  1197. ## proxyUrl: URL of a proxy that should be used for scraping.
  1198. ##
  1199. proxyUrl: ""
  1200. ## Enable scraping kube-scheduler over https.
  1201. ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
  1202. ## If null or unset, the value is determined dynamically based on target Kubernetes version.
  1203. ##
  1204. https: null
  1205. ## Skip TLS certificate validation when scraping
  1206. insecureSkipVerify: null
  1207. ## Name of the server to use when validating TLS certificate
  1208. serverName: null
  1209. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1210. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1211. ##
  1212. metricRelabelings: []
  1213. # - action: keep
  1214. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1215. # sourceLabels: [__name__]
  1216. ## RelabelConfigs to apply to samples before scraping
  1217. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1218. ##
  1219. relabelings: []
  1220. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1221. # separator: ;
  1222. # regex: ^(.*)$
  1223. # targetLabel: nodename
  1224. # replacement: $1
  1225. # action: replace
  1226. ## Additional labels
  1227. ##
  1228. additionalLabels: {}
  1229. # foo: bar
  1230. ## Component scraping kube proxy
  1231. ##
  1232. kubeProxy:
  1233. enabled: true
  1234. ## If your kube proxy is not deployed as a pod, specify IPs it can be found on
  1235. ##
  1236. endpoints: []
  1237. # - 10.141.4.22
  1238. # - 10.141.4.23
  1239. # - 10.141.4.24
  1240. service:
  1241. enabled: true
  1242. port: 10249
  1243. targetPort: 10249
  1244. # selector:
  1245. # k8s-app: kube-proxy
  1246. serviceMonitor:
  1247. enabled: true
  1248. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1249. ##
  1250. interval: ""
  1251. ## proxyUrl: URL of a proxy that should be used for scraping.
  1252. ##
  1253. proxyUrl: ""
  1254. ## Enable scraping kube-proxy over https.
  1255. ## Requires proper certs (not self-signed) and delegated authentication/authorization checks
  1256. ##
  1257. https: false
  1258. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1259. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1260. ##
  1261. metricRelabelings: []
  1262. # - action: keep
  1263. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1264. # sourceLabels: [__name__]
  1265. ## RelabelConfigs to apply to samples before scraping
  1266. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1267. ##
  1268. relabelings: []
  1269. # - action: keep
  1270. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1271. # sourceLabels: [__name__]
  1272. ## Additional labels
  1273. ##
  1274. additionalLabels: {}
  1275. # foo: bar
  1276. ## Component scraping kube state metrics
  1277. ##
  1278. kubeStateMetrics:
  1279. enabled: true
  1280. ## Configuration for kube-state-metrics subchart
  1281. ##
  1282. kube-state-metrics:
  1283. namespaceOverride: ""
  1284. rbac:
  1285. create: true
  1286. releaseLabel: true
  1287. prometheus:
  1288. monitor:
  1289. enabled: true
  1290. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1291. ##
  1292. interval: ""
  1293. ## Scrape Timeout. If not set, the Prometheus default scrape timeout is used.
  1294. ##
  1295. scrapeTimeout: ""
  1296. ## proxyUrl: URL of a proxy that should be used for scraping.
  1297. ##
  1298. proxyUrl: ""
  1299. # Keep labels from scraped data, overriding server-side labels
  1300. ##
  1301. honorLabels: true
  1302. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1303. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1304. ##
  1305. metricRelabelings: []
  1306. # - action: keep
  1307. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1308. # sourceLabels: [__name__]
  1309. ## RelabelConfigs to apply to samples before scraping
  1310. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1311. ##
  1312. relabelings: []
  1313. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1314. # separator: ;
  1315. # regex: ^(.*)$
  1316. # targetLabel: nodename
  1317. # replacement: $1
  1318. # action: replace
  1319. selfMonitor:
  1320. enabled: false
  1321. ## Deploy node exporter as a daemonset to all nodes
  1322. ##
  1323. nodeExporter:
  1324. enabled: true
  1325. ## Configuration for prometheus-node-exporter subchart
  1326. ##
  1327. prometheus-node-exporter:
  1328. namespaceOverride: ""
  1329. podLabels:
  1330. ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards
  1331. ##
  1332. jobLabel: node-exporter
  1333. releaseLabel: true
  1334. extraArgs:
  1335. - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
  1336. - --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
  1337. service:
  1338. portName: http-metrics
  1339. prometheus:
  1340. monitor:
  1341. enabled: true
  1342. jobLabel: jobLabel
  1343. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1344. ##
  1345. interval: ""
  1346. ## How long until a scrape request times out. If not set, the Prometheus default scape timeout is used.
  1347. ##
  1348. scrapeTimeout: ""
  1349. ## proxyUrl: URL of a proxy that should be used for scraping.
  1350. ##
  1351. proxyUrl: ""
  1352. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  1353. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1354. ##
  1355. metricRelabelings: []
  1356. # - sourceLabels: [__name__]
  1357. # separator: ;
  1358. # regex: ^node_mountstats_nfs_(event|operations|transport)_.+
  1359. # replacement: $1
  1360. # action: drop
  1361. ## RelabelConfigs to apply to samples before scraping
  1362. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  1363. ##
  1364. relabelings: []
  1365. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1366. # separator: ;
  1367. # regex: ^(.*)$
  1368. # targetLabel: nodename
  1369. # replacement: $1
  1370. # action: replace
  1371. rbac:
  1372. ## If true, create PSPs for node-exporter
  1373. ##
  1374. pspEnabled: false
  1375. ## Manages Prometheus and Alertmanager components
  1376. ##
  1377. prometheusOperator:
  1378. enabled: true
  1379. ## Prometheus-Operator v0.39.0 and later support TLS natively.
  1380. ##
  1381. tls:
  1382. enabled: true
  1383. # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants
  1384. tlsMinVersion: VersionTLS13
  1385. # The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
  1386. internalPort: 10250
  1387. ## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
  1388. ## rules from making their way into prometheus and potentially preventing the container from starting
  1389. admissionWebhooks:
  1390. failurePolicy: Fail
  1391. ## The default timeoutSeconds is 10 and the maximum value is 30.
  1392. timeoutSeconds: 10
  1393. enabled: true
  1394. ## A PEM encoded CA bundle which will be used to validate the webhook's server certificate.
  1395. ## If unspecified, system trust roots on the apiserver are used.
  1396. caBundle: ""
  1397. ## If enabled, generate a self-signed certificate, then patch the webhook configurations with the generated data.
  1398. ## On chart upgrades (or if the secret exists) the cert will not be re-generated. You can use this to provide your own
  1399. ## certs ahead of time if you wish.
  1400. ##
  1401. annotations: {}
  1402. # argocd.argoproj.io/hook: PreSync
  1403. # argocd.argoproj.io/hook-delete-policy: HookSucceeded
  1404. patch:
  1405. enabled: true
  1406. image:
  1407. registry: k8s.gcr.io
  1408. repository: ingress-nginx/kube-webhook-certgen
  1409. tag: v1.3.0
  1410. sha: ""
  1411. pullPolicy: IfNotPresent
  1412. resources: {}
  1413. ## Provide a priority class name to the webhook patching job
  1414. ##
  1415. priorityClassName: ""
  1416. annotations: {}
  1417. # argocd.argoproj.io/hook: PreSync
  1418. # argocd.argoproj.io/hook-delete-policy: HookSucceeded
  1419. podAnnotations: {}
  1420. nodeSelector: {}
  1421. affinity: {}
  1422. tolerations: []
  1423. ## SecurityContext holds pod-level security attributes and common container settings.
  1424. ## This defaults to non root user with uid 2000 and gid 2000. *v1.PodSecurityContext false
  1425. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  1426. ##
  1427. securityContext:
  1428. runAsGroup: 2000
  1429. runAsNonRoot: true
  1430. runAsUser: 2000
  1431. # Security context for create job container
  1432. createSecretJob:
  1433. securityContext: {}
  1434. # Security context for patch job container
  1435. patchWebhookJob:
  1436. securityContext: {}
  1437. # Use certmanager to generate webhook certs
  1438. certManager:
  1439. enabled: false
  1440. # self-signed root certificate
  1441. rootCert:
  1442. duration: "" # default to be 5y
  1443. admissionCert:
  1444. duration: "" # default to be 1y
  1445. # issuerRef:
  1446. # name: "issuer"
  1447. # kind: "ClusterIssuer"
  1448. ## Namespaces to scope the interaction of the Prometheus Operator and the apiserver (allow list).
  1449. ## This is mutually exclusive with denyNamespaces. Setting this to an empty object will disable the configuration
  1450. ##
  1451. namespaces: {}
  1452. # releaseNamespace: true
  1453. # additional:
  1454. # - kube-system
  1455. ## Namespaces not to scope the interaction of the Prometheus Operator (deny list).
  1456. ##
  1457. denyNamespaces: []
  1458. ## Filter namespaces to look for prometheus-operator custom resources
  1459. ##
  1460. alertmanagerInstanceNamespaces: []
  1461. alertmanagerConfigNamespaces: []
  1462. prometheusInstanceNamespaces: []
  1463. thanosRulerInstanceNamespaces: []
  1464. ## The clusterDomain value will be added to the cluster.peer option of the alertmanager.
  1465. ## Without this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated:9094 (default value)
  1466. ## With this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated.namespace.svc.cluster-domain:9094
  1467. ##
  1468. # clusterDomain: "cluster.local"
  1469. networkPolicy:
  1470. ## Enable creation of NetworkPolicy resources.
  1471. ##
  1472. enabled: false
  1473. ## Service account for Alertmanager to use.
  1474. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  1475. ##
  1476. serviceAccount:
  1477. create: true
  1478. name: ""
  1479. ## Configuration for Prometheus operator service
  1480. ##
  1481. service:
  1482. annotations: {}
  1483. labels: {}
  1484. clusterIP: ""
  1485. ## Port to expose on each node
  1486. ## Only used if service.type is 'NodePort'
  1487. ##
  1488. nodePort: 30080
  1489. nodePortTls: 30443
  1490. ## Additional ports to open for Prometheus service
  1491. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
  1492. ##
  1493. additionalPorts: []
  1494. ## Loadbalancer IP
  1495. ## Only use if service.type is "LoadBalancer"
  1496. ##
  1497. loadBalancerIP: ""
  1498. loadBalancerSourceRanges: []
  1499. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  1500. ##
  1501. externalTrafficPolicy: Cluster
  1502. ## Service type
  1503. ## NodePort, ClusterIP, LoadBalancer
  1504. ##
  1505. type: ClusterIP
  1506. ## List of IP addresses at which the Prometheus server service is available
  1507. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  1508. ##
  1509. externalIPs: []
  1510. # ## Labels to add to the operator deployment
  1511. # ##
  1512. labels: {}
  1513. ## Annotations to add to the operator deployment
  1514. ##
  1515. annotations: {}
  1516. ## Labels to add to the operator pod
  1517. ##
  1518. podLabels: {}
  1519. ## Annotations to add to the operator pod
  1520. ##
  1521. podAnnotations: {}
  1522. ## Assign a PriorityClassName to pods if set
  1523. # priorityClassName: ""
  1524. ## Define Log Format
  1525. # Use logfmt (default) or json logging
  1526. # logFormat: logfmt
  1527. ## Decrease log verbosity to errors only
  1528. # logLevel: error
  1529. ## If true, the operator will create and maintain a service for scraping kubelets
  1530. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/helm/prometheus-operator/README.md
  1531. ##
  1532. kubeletService:
  1533. enabled: true
  1534. namespace: kube-system
  1535. ## Use '{{ template "kube-prometheus-stack.fullname" . }}-kubelet' by default
  1536. name: ""
  1537. ## Create a servicemonitor for the operator
  1538. ##
  1539. serviceMonitor:
  1540. ## Labels for ServiceMonitor
  1541. additionalLabels: {}
  1542. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1543. ##
  1544. interval: ""
  1545. ## Scrape timeout. If not set, the Prometheus default scrape timeout is used.
  1546. scrapeTimeout: ""
  1547. selfMonitor: true
  1548. ## Metric relabel configs to apply to samples before ingestion.
  1549. ##
  1550. metricRelabelings: []
  1551. # - action: keep
  1552. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1553. # sourceLabels: [__name__]
  1554. # relabel configs to apply to samples before ingestion.
  1555. ##
  1556. relabelings: []
  1557. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1558. # separator: ;
  1559. # regex: ^(.*)$
  1560. # targetLabel: nodename
  1561. # replacement: $1
  1562. # action: replace
  1563. ## Resource limits & requests
  1564. ##
  1565. resources: {}
  1566. # limits:
  1567. # cpu: 200m
  1568. # memory: 200Mi
  1569. # requests:
  1570. # cpu: 100m
  1571. # memory: 100Mi
  1572. # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
  1573. # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
  1574. ##
  1575. hostNetwork: false
  1576. ## Define which Nodes the Pods are scheduled on.
  1577. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  1578. ##
  1579. nodeSelector: {}
  1580. ## Tolerations for use with node taints
  1581. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  1582. ##
  1583. tolerations: []
  1584. # - key: "key"
  1585. # operator: "Equal"
  1586. # value: "value"
  1587. # effect: "NoSchedule"
  1588. ## Assign custom affinity rules to the prometheus operator
  1589. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  1590. ##
  1591. affinity: {}
  1592. # nodeAffinity:
  1593. # requiredDuringSchedulingIgnoredDuringExecution:
  1594. # nodeSelectorTerms:
  1595. # - matchExpressions:
  1596. # - key: kubernetes.io/e2e-az-name
  1597. # operator: In
  1598. # values:
  1599. # - e2e-az1
  1600. # - e2e-az2
  1601. dnsConfig: {}
  1602. # nameservers:
  1603. # - 1.2.3.4
  1604. # searches:
  1605. # - ns1.svc.cluster-domain.example
  1606. # - my.dns.search.suffix
  1607. # options:
  1608. # - name: ndots
  1609. # value: "2"
  1610. # - name: edns0
  1611. securityContext:
  1612. fsGroup: 65534
  1613. runAsGroup: 65534
  1614. runAsNonRoot: true
  1615. runAsUser: 65534
  1616. ## Container-specific security context configuration
  1617. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  1618. ##
  1619. containerSecurityContext:
  1620. allowPrivilegeEscalation: false
  1621. readOnlyRootFilesystem: true
  1622. # Enable vertical pod autoscaler support for prometheus-operator
  1623. verticalPodAutoscaler:
  1624. enabled: false
  1625. # List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
  1626. controlledResources: []
  1627. # Define the max allowed resources for the pod
  1628. maxAllowed: {}
  1629. # cpu: 200m
  1630. # memory: 100Mi
  1631. # Define the min allowed resources for the pod
  1632. minAllowed: {}
  1633. # cpu: 200m
  1634. # memory: 100Mi
  1635. updatePolicy:
  1636. # Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
  1637. # are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
  1638. updateMode: Auto
  1639. ## Prometheus-operator image
  1640. ##
  1641. image:
  1642. registry: quay.io
  1643. repository: prometheus-operator/prometheus-operator
  1644. tag: v0.61.1
  1645. sha: ""
  1646. pullPolicy: IfNotPresent
  1647. ## Prometheus image to use for prometheuses managed by the operator
  1648. ##
  1649. # prometheusDefaultBaseImage: prometheus/prometheus
  1650. ## Prometheus image registry to use for prometheuses managed by the operator
  1651. ##
  1652. # prometheusDefaultBaseImageRegistry: quay.io
  1653. ## Alertmanager image to use for alertmanagers managed by the operator
  1654. ##
  1655. # alertmanagerDefaultBaseImage: prometheus/alertmanager
  1656. ## Alertmanager image registry to use for alertmanagers managed by the operator
  1657. ##
  1658. # alertmanagerDefaultBaseImageRegistry: quay.io
  1659. ## Prometheus-config-reloader
  1660. ##
  1661. prometheusConfigReloader:
  1662. image:
  1663. registry: quay.io
  1664. repository: prometheus-operator/prometheus-config-reloader
  1665. tag: v0.61.1
  1666. sha: ""
  1667. # resource config for prometheusConfigReloader
  1668. resources:
  1669. requests:
  1670. cpu: 200m
  1671. memory: 50Mi
  1672. limits:
  1673. cpu: 200m
  1674. memory: 50Mi
  1675. ## Thanos side-car image when configured
  1676. ##
  1677. thanosImage:
  1678. registry: quay.io
  1679. repository: thanos/thanos
  1680. tag: v0.29.0
  1681. sha: ""
  1682. ## Set a Field Selector to filter watched secrets
  1683. ##
  1684. secretFieldSelector: ""
  1685. ## Deploy a Prometheus instance
  1686. ##
  1687. prometheus:
  1688. enabled: true
  1689. ## Annotations for Prometheus
  1690. ##
  1691. annotations: {}
  1692. ## Service account for Prometheuses to use.
  1693. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  1694. ##
  1695. serviceAccount:
  1696. create: true
  1697. name: ""
  1698. annotations: {}
  1699. # Service for thanos service discovery on sidecar
  1700. # Enable this can make Thanos Query can use
  1701. # `--store=dnssrv+_grpc._tcp.${kube-prometheus-stack.fullname}-thanos-discovery.${namespace}.svc.cluster.local` to discovery
  1702. # Thanos sidecar on prometheus nodes
  1703. # (Please remember to change ${kube-prometheus-stack.fullname} and ${namespace}. Not just copy and paste!)
  1704. thanosService:
  1705. enabled: false
  1706. annotations: {}
  1707. labels: {}
  1708. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  1709. ##
  1710. externalTrafficPolicy: Cluster
  1711. ## Service type
  1712. ##
  1713. type: ClusterIP
  1714. ## gRPC port config
  1715. portName: grpc
  1716. port: 10901
  1717. targetPort: "grpc"
  1718. ## HTTP port config (for metrics)
  1719. httpPortName: http
  1720. httpPort: 10902
  1721. targetHttpPort: "http"
  1722. ## ClusterIP to assign
  1723. # Default is to make this a headless service ("None")
  1724. clusterIP: "None"
  1725. ## Port to expose on each node, if service type is NodePort
  1726. ##
  1727. nodePort: 30901
  1728. httpNodePort: 30902
  1729. # ServiceMonitor to scrape Sidecar metrics
  1730. # Needs thanosService to be enabled as well
  1731. thanosServiceMonitor:
  1732. enabled: false
  1733. interval: ""
  1734. ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
  1735. scheme: ""
  1736. ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
  1737. ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
  1738. tlsConfig: {}
  1739. bearerTokenFile:
  1740. ## Metric relabel configs to apply to samples before ingestion.
  1741. metricRelabelings: []
  1742. ## relabel configs to apply to samples before ingestion.
  1743. relabelings: []
  1744. # Service for external access to sidecar
  1745. # Enabling this creates a service to expose thanos-sidecar outside the cluster.
  1746. thanosServiceExternal:
  1747. enabled: false
  1748. annotations: {}
  1749. labels: {}
  1750. loadBalancerIP: ""
  1751. loadBalancerSourceRanges: []
  1752. ## gRPC port config
  1753. portName: grpc
  1754. port: 10901
  1755. targetPort: "grpc"
  1756. ## HTTP port config (for metrics)
  1757. httpPortName: http
  1758. httpPort: 10902
  1759. targetHttpPort: "http"
  1760. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  1761. ##
  1762. externalTrafficPolicy: Cluster
  1763. ## Service type
  1764. ##
  1765. type: LoadBalancer
  1766. ## Port to expose on each node
  1767. ##
  1768. nodePort: 30901
  1769. httpNodePort: 30902
  1770. ## Configuration for Prometheus service
  1771. ##
  1772. service:
  1773. annotations: {}
  1774. labels: {}
  1775. clusterIP: ""
  1776. ## Port for Prometheus Service to listen on
  1777. ##
  1778. port: 9090
  1779. ## To be used with a proxy extraContainer port
  1780. targetPort: 9090
  1781. ## List of IP addresses at which the Prometheus server service is available
  1782. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  1783. ##
  1784. externalIPs: []
  1785. ## Port to expose on each node
  1786. ## Only used if service.type is 'NodePort'
  1787. ##
  1788. nodePort: 30090
  1789. ## Loadbalancer IP
  1790. ## Only use if service.type is "LoadBalancer"
  1791. loadBalancerIP: ""
  1792. loadBalancerSourceRanges: []
  1793. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  1794. ##
  1795. externalTrafficPolicy: Cluster
  1796. ## Service type
  1797. ##
  1798. type: ClusterIP
  1799. ## Additional port to define in the Service
  1800. additionalPorts: []
  1801. # additionalPorts:
  1802. # - name: authenticated
  1803. # port: 8081
  1804. # targetPort: 8081
  1805. ## Consider that all endpoints are considered "ready" even if the Pods themselves are not
  1806. ## Ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec
  1807. publishNotReadyAddresses: false
  1808. sessionAffinity: ""
  1809. ## Configuration for creating a separate Service for each statefulset Prometheus replica
  1810. ##
  1811. servicePerReplica:
  1812. enabled: false
  1813. annotations: {}
  1814. ## Port for Prometheus Service per replica to listen on
  1815. ##
  1816. port: 9090
  1817. ## To be used with a proxy extraContainer port
  1818. targetPort: 9090
  1819. ## Port to expose on each node
  1820. ## Only used if servicePerReplica.type is 'NodePort'
  1821. ##
  1822. nodePort: 30091
  1823. ## Loadbalancer source IP ranges
  1824. ## Only used if servicePerReplica.type is "LoadBalancer"
  1825. loadBalancerSourceRanges: []
  1826. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  1827. ##
  1828. externalTrafficPolicy: Cluster
  1829. ## Service type
  1830. ##
  1831. type: ClusterIP
  1832. ## Configure pod disruption budgets for Prometheus
  1833. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
  1834. ## This configuration is immutable once created and will require the PDB to be deleted to be changed
  1835. ## https://github.com/kubernetes/kubernetes/issues/45398
  1836. ##
  1837. podDisruptionBudget:
  1838. enabled: false
  1839. minAvailable: 1
  1840. maxUnavailable: ""
  1841. # Ingress exposes thanos sidecar outside the cluster
  1842. thanosIngress:
  1843. enabled: false
  1844. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  1845. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  1846. # ingressClassName: nginx
  1847. annotations: {}
  1848. labels: {}
  1849. servicePort: 10901
  1850. ## Port to expose on each node
  1851. ## Only used if service.type is 'NodePort'
  1852. ##
  1853. nodePort: 30901
  1854. ## Hosts must be provided if Ingress is enabled.
  1855. ##
  1856. hosts: []
  1857. # - thanos-gateway.domain.com
  1858. ## Paths to use for ingress rules
  1859. ##
  1860. paths: []
  1861. # - /
  1862. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  1863. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  1864. # pathType: ImplementationSpecific
  1865. ## TLS configuration for Thanos Ingress
  1866. ## Secret must be manually created in the namespace
  1867. ##
  1868. tls: []
  1869. # - secretName: thanos-gateway-tls
  1870. # hosts:
  1871. # - thanos-gateway.domain.com
  1872. #
  1873. ## ExtraSecret can be used to store various data in an extra secret
  1874. ## (use it for example to store hashed basic auth credentials)
  1875. extraSecret:
  1876. ## if not set, name will be auto generated
  1877. # name: ""
  1878. annotations: {}
  1879. data: {}
  1880. # auth: |
  1881. # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
  1882. # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
  1883. ingress:
  1884. enabled: false
  1885. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  1886. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  1887. # ingressClassName: nginx
  1888. annotations: {}
  1889. labels: {}
  1890. ## Redirect ingress to an additional defined port on the service
  1891. # servicePort: 8081
  1892. ## Hostnames.
  1893. ## Must be provided if Ingress is enabled.
  1894. ##
  1895. # hosts:
  1896. # - prometheus.domain.com
  1897. hosts: []
  1898. ## Paths to use for ingress rules - one path should match the prometheusSpec.routePrefix
  1899. ##
  1900. paths: []
  1901. # - /
  1902. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  1903. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  1904. # pathType: ImplementationSpecific
  1905. ## TLS configuration for Prometheus Ingress
  1906. ## Secret must be manually created in the namespace
  1907. ##
  1908. tls: []
  1909. # - secretName: prometheus-general-tls
  1910. # hosts:
  1911. # - prometheus.example.com
  1912. ## Configuration for creating an Ingress that will map to each Prometheus replica service
  1913. ## prometheus.servicePerReplica must be enabled
  1914. ##
  1915. ingressPerReplica:
  1916. enabled: false
  1917. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  1918. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  1919. # ingressClassName: nginx
  1920. annotations: {}
  1921. labels: {}
  1922. ## Final form of the hostname for each per replica ingress is
  1923. ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
  1924. ##
  1925. ## Prefix for the per replica ingress that will have `-$replicaNumber`
  1926. ## appended to the end
  1927. hostPrefix: ""
  1928. ## Domain that will be used for the per replica ingress
  1929. hostDomain: ""
  1930. ## Paths to use for ingress rules
  1931. ##
  1932. paths: []
  1933. # - /
  1934. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  1935. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  1936. # pathType: ImplementationSpecific
  1937. ## Secret name containing the TLS certificate for Prometheus per replica ingress
  1938. ## Secret must be manually created in the namespace
  1939. tlsSecretName: ""
  1940. ## Separated secret for each per replica Ingress. Can be used together with cert-manager
  1941. ##
  1942. tlsSecretPerReplica:
  1943. enabled: false
  1944. ## Final form of the secret for each per replica ingress is
  1945. ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
  1946. ##
  1947. prefix: "prometheus"
  1948. ## Configure additional options for default pod security policy for Prometheus
  1949. ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
  1950. podSecurityPolicy:
  1951. allowedCapabilities: []
  1952. allowedHostPaths: []
  1953. volumes: []
  1954. serviceMonitor:
  1955. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  1956. ##
  1957. interval: ""
  1958. selfMonitor: true
  1959. ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
  1960. scheme: ""
  1961. ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
  1962. ## Of type: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
  1963. tlsConfig: {}
  1964. bearerTokenFile:
  1965. ## Metric relabel configs to apply to samples before ingestion.
  1966. ##
  1967. metricRelabelings: []
  1968. # - action: keep
  1969. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  1970. # sourceLabels: [__name__]
  1971. # relabel configs to apply to samples before ingestion.
  1972. ##
  1973. relabelings: []
  1974. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  1975. # separator: ;
  1976. # regex: ^(.*)$
  1977. # targetLabel: nodename
  1978. # replacement: $1
  1979. # action: replace
  1980. ## Settings affecting prometheusSpec
  1981. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheusspec
  1982. ##
  1983. prometheusSpec:
  1984. ## If true, pass --storage.tsdb.max-block-duration=2h to prometheus. This is already done if using Thanos
  1985. ##
  1986. disableCompaction: false
  1987. ## APIServerConfig
  1988. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#apiserverconfig
  1989. ##
  1990. apiserverConfig: {}
  1991. ## Allows setting additional arguments for the Prometheus container
  1992. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.Prometheus
  1993. additionalArgs: []
  1994. ## Interval between consecutive scrapes.
  1995. ## Defaults to 30s.
  1996. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/release-0.44/pkg/prometheus/promcfg.go#L180-L183
  1997. ##
  1998. scrapeInterval: ""
  1999. ## Number of seconds to wait for target to respond before erroring
  2000. ##
  2001. scrapeTimeout: ""
  2002. ## Interval between consecutive evaluations.
  2003. ##
  2004. evaluationInterval: ""
  2005. ## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.
  2006. ##
  2007. listenLocal: false
  2008. ## EnableAdminAPI enables Prometheus the administrative HTTP API which includes functionality such as deleting time series.
  2009. ## This is disabled by default.
  2010. ## ref: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
  2011. ##
  2012. enableAdminAPI: false
  2013. ## WebTLSConfig defines the TLS parameters for HTTPS
  2014. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#webtlsconfig
  2015. web: {}
  2016. ## Exemplars related settings that are runtime reloadable.
  2017. ## It requires to enable the exemplar storage feature to be effective.
  2018. exemplars: ""
  2019. ## Maximum number of exemplars stored in memory for all series.
  2020. ## If not set, Prometheus uses its default value.
  2021. ## A value of zero or less than zero disables the storage.
  2022. # maxSize: 100000
  2023. # EnableFeatures API enables access to Prometheus disabled features.
  2024. # ref: https://prometheus.io/docs/prometheus/latest/disabled_features/
  2025. enableFeatures: []
  2026. # - exemplar-storage
  2027. ## Image of Prometheus.
  2028. ##
  2029. image:
  2030. registry: quay.io
  2031. repository: prometheus/prometheus
  2032. tag: v2.40.5
  2033. sha: ""
  2034. ## Tolerations for use with node taints
  2035. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  2036. ##
  2037. tolerations: []
  2038. # - key: "key"
  2039. # operator: "Equal"
  2040. # value: "value"
  2041. # effect: "NoSchedule"
  2042. ## If specified, the pod's topology spread constraints.
  2043. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  2044. ##
  2045. topologySpreadConstraints: []
  2046. # - maxSkew: 1
  2047. # topologyKey: topology.kubernetes.io/zone
  2048. # whenUnsatisfiable: DoNotSchedule
  2049. # labelSelector:
  2050. # matchLabels:
  2051. # app: prometheus
  2052. ## Alertmanagers to which alerts will be sent
  2053. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerendpoints
  2054. ##
  2055. ## Default configuration will connect to the alertmanager deployed as part of this release
  2056. ##
  2057. alertingEndpoints: []
  2058. # - name: ""
  2059. # namespace: ""
  2060. # port: http
  2061. # scheme: http
  2062. # pathPrefix: ""
  2063. # tlsConfig: {}
  2064. # bearerTokenFile: ""
  2065. # apiVersion: v2
  2066. ## External labels to add to any time series or alerts when communicating with external systems
  2067. ##
  2068. externalLabels: {}
  2069. ## enable --web.enable-remote-write-receiver flag on prometheus-server
  2070. ##
  2071. enableRemoteWriteReceiver: false
  2072. ## Name of the external label used to denote replica name
  2073. ##
  2074. replicaExternalLabelName: ""
  2075. ## If true, the Operator won't add the external label used to denote replica name
  2076. ##
  2077. replicaExternalLabelNameClear: false
  2078. ## Name of the external label used to denote Prometheus instance name
  2079. ##
  2080. prometheusExternalLabelName: ""
  2081. ## If true, the Operator won't add the external label used to denote Prometheus instance name
  2082. ##
  2083. prometheusExternalLabelNameClear: false
  2084. ## External URL at which Prometheus will be reachable.
  2085. ##
  2086. externalUrl: ""
  2087. ## Define which Nodes the Pods are scheduled on.
  2088. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  2089. ##
  2090. nodeSelector: {}
  2091. ## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
  2092. ## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not
  2093. ## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated
  2094. ## with the new list of secrets.
  2095. ##
  2096. secrets: []
  2097. ## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
  2098. ## The ConfigMaps are mounted into /etc/prometheus/configmaps/.
  2099. ##
  2100. configMaps: []
  2101. ## QuerySpec defines the query command line flags when starting Prometheus.
  2102. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#queryspec
  2103. ##
  2104. query: {}
  2105. ## Namespaces to be selected for PrometheusRules discovery.
  2106. ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
  2107. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
  2108. ##
  2109. ruleNamespaceSelector: {}
  2110. ## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the
  2111. ## prometheus resource to be created with selectors based on values in the helm deployment,
  2112. ## which will also match the PrometheusRule resources created
  2113. ##
  2114. ruleSelectorNilUsesHelmValues: true
  2115. ## PrometheusRules to be selected for target discovery.
  2116. ## If {}, select all PrometheusRules
  2117. ##
  2118. ruleSelector: {}
  2119. ## Example which select all PrometheusRules resources
  2120. ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
  2121. # ruleSelector:
  2122. # matchExpressions:
  2123. # - key: prometheus
  2124. # operator: In
  2125. # values:
  2126. # - example-rules
  2127. # - example-rules-2
  2128. #
  2129. ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
  2130. # ruleSelector:
  2131. # matchLabels:
  2132. # role: example-rules
  2133. ## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the
  2134. ## prometheus resource to be created with selectors based on values in the helm deployment,
  2135. ## which will also match the servicemonitors created
  2136. ##
  2137. serviceMonitorSelectorNilUsesHelmValues: true
  2138. ## ServiceMonitors to be selected for target discovery.
  2139. ## If {}, select all ServiceMonitors
  2140. ##
  2141. serviceMonitorSelector: {}
  2142. ## Example which selects ServiceMonitors with label "prometheus" set to "somelabel"
  2143. # serviceMonitorSelector:
  2144. # matchLabels:
  2145. # prometheus: somelabel
  2146. ## Namespaces to be selected for ServiceMonitor discovery.
  2147. ##
  2148. serviceMonitorNamespaceSelector: {}
  2149. ## Example which selects ServiceMonitors in namespaces with label "prometheus" set to "somelabel"
  2150. # serviceMonitorNamespaceSelector:
  2151. # matchLabels:
  2152. # prometheus: somelabel
  2153. ## If true, a nil or {} value for prometheus.prometheusSpec.podMonitorSelector will cause the
  2154. ## prometheus resource to be created with selectors based on values in the helm deployment,
  2155. ## which will also match the podmonitors created
  2156. ##
  2157. podMonitorSelectorNilUsesHelmValues: true
  2158. ## PodMonitors to be selected for target discovery.
  2159. ## If {}, select all PodMonitors
  2160. ##
  2161. podMonitorSelector: {}
  2162. ## Example which selects PodMonitors with label "prometheus" set to "somelabel"
  2163. # podMonitorSelector:
  2164. # matchLabels:
  2165. # prometheus: somelabel
  2166. ## Namespaces to be selected for PodMonitor discovery.
  2167. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
  2168. ##
  2169. podMonitorNamespaceSelector: {}
  2170. ## If true, a nil or {} value for prometheus.prometheusSpec.probeSelector will cause the
  2171. ## prometheus resource to be created with selectors based on values in the helm deployment,
  2172. ## which will also match the probes created
  2173. ##
  2174. probeSelectorNilUsesHelmValues: true
  2175. ## Probes to be selected for target discovery.
  2176. ## If {}, select all Probes
  2177. ##
  2178. probeSelector: {}
  2179. ## Example which selects Probes with label "prometheus" set to "somelabel"
  2180. # probeSelector:
  2181. # matchLabels:
  2182. # prometheus: somelabel
  2183. ## Namespaces to be selected for Probe discovery.
  2184. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
  2185. ##
  2186. probeNamespaceSelector: {}
  2187. ## How long to retain metrics
  2188. ##
  2189. retention: 10d
  2190. ## Maximum size of metrics
  2191. ##
  2192. retentionSize: ""
  2193. ## Enable compression of the write-ahead log using Snappy.
  2194. ##
  2195. walCompression: true
  2196. ## If true, the Operator won't process any Prometheus configuration changes
  2197. ##
  2198. paused: false
  2199. ## Number of replicas of each shard to deploy for a Prometheus deployment.
  2200. ## Number of replicas multiplied by shards is the total number of Pods created.
  2201. ##
  2202. replicas: 1
  2203. ## EXPERIMENTAL: Number of shards to distribute targets onto.
  2204. ## Number of replicas multiplied by shards is the total number of Pods created.
  2205. ## Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved.
  2206. ## Increasing shards will not reshard data either but it will continue to be available from the same instances.
  2207. ## To query globally use Thanos sidecar and Thanos querier or remote write data to a central location.
  2208. ## Sharding is done on the content of the `__address__` target meta-label.
  2209. ##
  2210. shards: 1
  2211. ## Log level for Prometheus be configured in
  2212. ##
  2213. logLevel: info
  2214. ## Log format for Prometheus be configured in
  2215. ##
  2216. logFormat: logfmt
  2217. ## Prefix used to register routes, overriding externalUrl route.
  2218. ## Useful for proxies that rewrite URLs.
  2219. ##
  2220. routePrefix: /
  2221. ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
  2222. ## Metadata Labels and Annotations gets propagated to the prometheus pods.
  2223. ##
  2224. podMetadata: {}
  2225. # labels:
  2226. # app: prometheus
  2227. # k8s-app: prometheus
  2228. ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
  2229. ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
  2230. ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
  2231. ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
  2232. podAntiAffinity: ""
  2233. ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
  2234. ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
  2235. ##
  2236. podAntiAffinityTopologyKey: kubernetes.io/hostname
  2237. ## Assign custom affinity rules to the prometheus instance
  2238. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  2239. ##
  2240. affinity: {}
  2241. # nodeAffinity:
  2242. # requiredDuringSchedulingIgnoredDuringExecution:
  2243. # nodeSelectorTerms:
  2244. # - matchExpressions:
  2245. # - key: kubernetes.io/e2e-az-name
  2246. # operator: In
  2247. # values:
  2248. # - e2e-az1
  2249. # - e2e-az2
  2250. ## The remote_read spec configuration for Prometheus.
  2251. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotereadspec
  2252. remoteRead: []
  2253. # - url: http://remote1/read
  2254. ## additionalRemoteRead is appended to remoteRead
  2255. additionalRemoteRead: []
  2256. ## The remote_write spec configuration for Prometheus.
  2257. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotewritespec
  2258. remoteWrite: []
  2259. # - url: http://remote1/push
  2260. ## additionalRemoteWrite is appended to remoteWrite
  2261. additionalRemoteWrite: []
  2262. ## Enable/Disable Grafana dashboards provisioning for prometheus remote write feature
  2263. remoteWriteDashboards: false
  2264. ## Resource limits & requests
  2265. ##
  2266. resources: {}
  2267. # requests:
  2268. # memory: 400Mi
  2269. ## Prometheus StorageSpec for persistent data
  2270. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
  2271. ##
  2272. storageSpec: {}
  2273. ## Using PersistentVolumeClaim
  2274. ##
  2275. # volumeClaimTemplate:
  2276. # spec:
  2277. # storageClassName: gluster
  2278. # accessModes: ["ReadWriteOnce"]
  2279. # resources:
  2280. # requests:
  2281. # storage: 50Gi
  2282. # selector: {}
  2283. ## Using tmpfs volume
  2284. ##
  2285. # emptyDir:
  2286. # medium: Memory
  2287. # Additional volumes on the output StatefulSet definition.
  2288. volumes: []
  2289. # Additional VolumeMounts on the output StatefulSet definition.
  2290. volumeMounts: []
  2291. ## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations
  2292. ## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form
  2293. ## as specified in the official Prometheus documentation:
  2294. ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are
  2295. ## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility
  2296. ## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible
  2297. ## scrape configs are going to break Prometheus after the upgrade.
  2298. ## AdditionalScrapeConfigs can be defined as a list or as a templated string.
  2299. ##
  2300. ## The scrape configuration example below will find master nodes, provided they have the name .*mst.*, relabel the
  2301. ## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes
  2302. ##
  2303. additionalScrapeConfigs: []
  2304. # - job_name: kube-etcd
  2305. # kubernetes_sd_configs:
  2306. # - role: node
  2307. # scheme: https
  2308. # tls_config:
  2309. # ca_file: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
  2310. # cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client
  2311. # key_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
  2312. # relabel_configs:
  2313. # - action: labelmap
  2314. # regex: __meta_kubernetes_node_label_(.+)
  2315. # - source_labels: [__address__]
  2316. # action: replace
  2317. # targetLabel: __address__
  2318. # regex: ([^:;]+):(\d+)
  2319. # replacement: ${1}:2379
  2320. # - source_labels: [__meta_kubernetes_node_name]
  2321. # action: keep
  2322. # regex: .*mst.*
  2323. # - source_labels: [__meta_kubernetes_node_name]
  2324. # action: replace
  2325. # targetLabel: node
  2326. # regex: (.*)
  2327. # replacement: ${1}
  2328. # metric_relabel_configs:
  2329. # - regex: (kubernetes_io_hostname|failure_domain_beta_kubernetes_io_region|beta_kubernetes_io_os|beta_kubernetes_io_arch|beta_kubernetes_io_instance_type|failure_domain_beta_kubernetes_io_zone)
  2330. # action: labeldrop
  2331. #
  2332. ## If scrape config contains a repetitive section, you may want to use a template.
  2333. ## In the following example, you can see how to define `gce_sd_configs` for multiple zones
  2334. # additionalScrapeConfigs: |
  2335. # - job_name: "node-exporter"
  2336. # gce_sd_configs:
  2337. # {{range $zone := .Values.gcp_zones}}
  2338. # - project: "project1"
  2339. # zone: "{{$zone}}"
  2340. # port: 9100
  2341. # {{end}}
  2342. # relabel_configs:
  2343. # ...
  2344. ## If additional scrape configurations are already deployed in a single secret file you can use this section.
  2345. ## Expected values are the secret name and key
  2346. ## Cannot be used with additionalScrapeConfigs
  2347. additionalScrapeConfigsSecret: {}
  2348. # enabled: false
  2349. # name:
  2350. # key:
  2351. ## additionalPrometheusSecretsAnnotations allows to add annotations to the kubernetes secret. This can be useful
  2352. ## when deploying via spinnaker to disable versioning on the secret, strategy.spinnaker.io/versioned: 'false'
  2353. additionalPrometheusSecretsAnnotations: {}
  2354. ## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified
  2355. ## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>.
  2356. ## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator.
  2357. ## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this
  2358. ## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release
  2359. ## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
  2360. ##
  2361. additionalAlertManagerConfigs: []
  2362. # - consul_sd_configs:
  2363. # - server: consul.dev.test:8500
  2364. # scheme: http
  2365. # datacenter: dev
  2366. # tag_separator: ','
  2367. # services:
  2368. # - metrics-prometheus-alertmanager
  2369. ## If additional alertmanager configurations are already deployed in a single secret, or you want to manage
  2370. ## them separately from the helm deployment, you can use this section.
  2371. ## Expected values are the secret name and key
  2372. ## Cannot be used with additionalAlertManagerConfigs
  2373. additionalAlertManagerConfigsSecret: {}
  2374. # name:
  2375. # key:
  2376. # optional: false
  2377. ## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended
  2378. ## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the
  2379. ## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
  2380. ## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the
  2381. ## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel
  2382. ## configs are going to break Prometheus after the upgrade.
  2383. ##
  2384. additionalAlertRelabelConfigs: []
  2385. # - separator: ;
  2386. # regex: prometheus_replica
  2387. # replacement: $1
  2388. # action: labeldrop
  2389. ## If additional alert relabel configurations are already deployed in a single secret, or you want to manage
  2390. ## them separately from the helm deployment, you can use this section.
  2391. ## Expected values are the secret name and key
  2392. ## Cannot be used with additionalAlertRelabelConfigs
  2393. additionalAlertRelabelConfigsSecret: {}
  2394. # name:
  2395. # key:
  2396. ## SecurityContext holds pod-level security attributes and common container settings.
  2397. ## This defaults to non root user with uid 1000 and gid 2000.
  2398. ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md
  2399. ##
  2400. securityContext:
  2401. runAsGroup: 2000
  2402. runAsNonRoot: true
  2403. runAsUser: 1000
  2404. fsGroup: 2000
  2405. ## Priority class assigned to the Pods
  2406. ##
  2407. priorityClassName: ""
  2408. ## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment.
  2409. ## This section is experimental, it may change significantly without deprecation notice in any release.
  2410. ## This is experimental and may change significantly without backward compatibility in any release.
  2411. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec
  2412. ##
  2413. thanos: {}
  2414. # secretProviderClass:
  2415. # provider: gcp
  2416. # parameters:
  2417. # secrets: |
  2418. # - resourceName: "projects/$PROJECT_ID/secrets/testsecret/versions/latest"
  2419. # fileName: "objstore.yaml"
  2420. # objectStorageConfigFile: /var/secrets/object-store.yaml
  2421. ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod.
  2422. ## if using proxy extraContainer update targetPort with proxy container port
  2423. containers: []
  2424. # containers:
  2425. # - name: oauth-proxy
  2426. # image: quay.io/oauth2-proxy/oauth2-proxy:v7.3.0
  2427. # args:
  2428. # - --upstream=http://127.0.0.1:9093
  2429. # - --http-address=0.0.0.0:8081
  2430. # - ...
  2431. # ports:
  2432. # - containerPort: 8081
  2433. # name: oauth-proxy
  2434. # protocol: TCP
  2435. # resources: {}
  2436. ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
  2437. ## (permissions, dir tree) on mounted volumes before starting prometheus
  2438. initContainers: []
  2439. ## PortName to use for Prometheus.
  2440. ##
  2441. portName: "http-web"
  2442. ## ArbitraryFSAccessThroughSMs configures whether configuration based on a service monitor can access arbitrary files
  2443. ## on the file system of the Prometheus container e.g. bearer token files.
  2444. arbitraryFSAccessThroughSMs: false
  2445. ## OverrideHonorLabels if set to true overrides all user configured honor_labels. If HonorLabels is set in ServiceMonitor
  2446. ## or PodMonitor to true, this overrides honor_labels to false.
  2447. overrideHonorLabels: false
  2448. ## OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs.
  2449. overrideHonorTimestamps: false
  2450. ## IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from the podmonitor and servicemonitor
  2451. ## configs, and they will only discover endpoints within their current namespace. Defaults to false.
  2452. ignoreNamespaceSelectors: false
  2453. ## EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created.
  2454. ## The label value will always be the namespace of the object that is being created.
  2455. ## Disabled by default
  2456. enforcedNamespaceLabel: ""
  2457. ## PrometheusRulesExcludedFromEnforce - list of prometheus rules to be excluded from enforcing of adding namespace labels.
  2458. ## Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair
  2459. ## Deprecated, use `excludedFromEnforcement` instead
  2460. prometheusRulesExcludedFromEnforce: []
  2461. ## ExcludedFromEnforcement - list of object references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
  2462. ## to be excluded from enforcing a namespace label of origin.
  2463. ## Works only if enforcedNamespaceLabel set to true.
  2464. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#objectreference
  2465. excludedFromEnforcement: []
  2466. ## QueryLogFile specifies the file to which PromQL queries are logged. Note that this location must be writable,
  2467. ## and can be persisted using an attached volume. Alternatively, the location can be set to a stdout location such
  2468. ## as /dev/stdout to log querie information to the default Prometheus log stream. This is only available in versions
  2469. ## of Prometheus >= 2.16.0. For more details, see the Prometheus docs (https://prometheus.io/docs/guides/query-log/)
  2470. queryLogFile: false
  2471. ## EnforcedSampleLimit defines global limit on number of scraped samples that will be accepted. This overrides any SampleLimit
  2472. ## set per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the SampleLimit to keep overall
  2473. ## number of samples/series under the desired limit. Note that if SampleLimit is lower that value will be taken instead.
  2474. enforcedSampleLimit: false
  2475. ## EnforcedTargetLimit defines a global limit on the number of scraped targets. This overrides any TargetLimit set
  2476. ## per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the TargetLimit to keep the overall
  2477. ## number of targets under the desired limit. Note that if TargetLimit is lower, that value will be taken instead, except
  2478. ## if either value is zero, in which case the non-zero value will be used. If both values are zero, no limit is enforced.
  2479. enforcedTargetLimit: false
  2480. ## Per-scrape limit on number of labels that will be accepted for a sample. If more than this number of labels are present
  2481. ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
  2482. ## 2.27.0 and newer.
  2483. enforcedLabelLimit: false
  2484. ## Per-scrape limit on length of labels name that will be accepted for a sample. If a label name is longer than this number
  2485. ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
  2486. ## 2.27.0 and newer.
  2487. enforcedLabelNameLengthLimit: false
  2488. ## Per-scrape limit on length of labels value that will be accepted for a sample. If a label value is longer than this
  2489. ## number post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus
  2490. ## versions 2.27.0 and newer.
  2491. enforcedLabelValueLengthLimit: false
  2492. ## AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. This is still experimental
  2493. ## in Prometheus so it may change in any upcoming release.
  2494. allowOverlappingBlocks: false
  2495. ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
  2496. ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
  2497. minReadySeconds: 0
  2498. # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
  2499. # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
  2500. # Use the host's network namespace if true. Make sure to understand the security implications if you want to enable it.
  2501. # When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet automatically.
  2502. hostNetwork: false
  2503. additionalRulesForClusterRole: []
  2504. # - apiGroups: [ "" ]
  2505. # resources:
  2506. # - nodes/proxy
  2507. # verbs: [ "get", "list", "watch" ]
  2508. additionalServiceMonitors: []
  2509. ## Name of the ServiceMonitor to create
  2510. ##
  2511. # - name: ""
  2512. ## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from
  2513. ## the chart
  2514. ##
  2515. # additionalLabels: {}
  2516. ## Service label for use in assembling a job name of the form <label value>-<port>
  2517. ## If no label is specified, the service name is used.
  2518. ##
  2519. # jobLabel: ""
  2520. ## labels to transfer from the kubernetes service to the target
  2521. ##
  2522. # targetLabels: []
  2523. ## labels to transfer from the kubernetes pods to the target
  2524. ##
  2525. # podTargetLabels: []
  2526. ## Label selector for services to which this ServiceMonitor applies
  2527. ##
  2528. # selector: {}
  2529. ## Namespaces from which services are selected
  2530. ##
  2531. # namespaceSelector:
  2532. ## Match any namespace
  2533. ##
  2534. # any: false
  2535. ## Explicit list of namespace names to select
  2536. ##
  2537. # matchNames: []
  2538. ## Endpoints of the selected service to be monitored
  2539. ##
  2540. # endpoints: []
  2541. ## Name of the endpoint's service port
  2542. ## Mutually exclusive with targetPort
  2543. # - port: ""
  2544. ## Name or number of the endpoint's target port
  2545. ## Mutually exclusive with port
  2546. # - targetPort: ""
  2547. ## File containing bearer token to be used when scraping targets
  2548. ##
  2549. # bearerTokenFile: ""
  2550. ## Interval at which metrics should be scraped
  2551. ##
  2552. # interval: 30s
  2553. ## HTTP path to scrape for metrics
  2554. ##
  2555. # path: /metrics
  2556. ## HTTP scheme to use for scraping
  2557. ##
  2558. # scheme: http
  2559. ## TLS configuration to use when scraping the endpoint
  2560. ##
  2561. # tlsConfig:
  2562. ## Path to the CA file
  2563. ##
  2564. # caFile: ""
  2565. ## Path to client certificate file
  2566. ##
  2567. # certFile: ""
  2568. ## Skip certificate verification
  2569. ##
  2570. # insecureSkipVerify: false
  2571. ## Path to client key file
  2572. ##
  2573. # keyFile: ""
  2574. ## Server name used to verify host name
  2575. ##
  2576. # serverName: ""
  2577. additionalPodMonitors: []
  2578. ## Name of the PodMonitor to create
  2579. ##
  2580. # - name: ""
  2581. ## Additional labels to set used for the PodMonitorSelector. Together with standard labels from
  2582. ## the chart
  2583. ##
  2584. # additionalLabels: {}
  2585. ## Pod label for use in assembling a job name of the form <label value>-<port>
  2586. ## If no label is specified, the pod endpoint name is used.
  2587. ##
  2588. # jobLabel: ""
  2589. ## Label selector for pods to which this PodMonitor applies
  2590. ##
  2591. # selector: {}
  2592. ## PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
  2593. ##
  2594. # podTargetLabels: {}
  2595. ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
  2596. ##
  2597. # sampleLimit: 0
  2598. ## Namespaces from which pods are selected
  2599. ##
  2600. # namespaceSelector:
  2601. ## Match any namespace
  2602. ##
  2603. # any: false
  2604. ## Explicit list of namespace names to select
  2605. ##
  2606. # matchNames: []
  2607. ## Endpoints of the selected pods to be monitored
  2608. ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#podmetricsendpoint
  2609. ##
  2610. # podMetricsEndpoints: []
  2611. ## Configuration for thanosRuler
  2612. ## ref: https://thanos.io/tip/components/rule.md/
  2613. ##
  2614. thanosRuler:
  2615. ## Deploy thanosRuler
  2616. ##
  2617. enabled: false
  2618. ## Annotations for ThanosRuler
  2619. ##
  2620. annotations: {}
  2621. ## Service account for ThanosRuler to use.
  2622. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  2623. ##
  2624. serviceAccount:
  2625. create: true
  2626. name: ""
  2627. annotations: {}
  2628. ## Configure pod disruption budgets for ThanosRuler
  2629. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
  2630. ## This configuration is immutable once created and will require the PDB to be deleted to be changed
  2631. ## https://github.com/kubernetes/kubernetes/issues/45398
  2632. ##
  2633. podDisruptionBudget:
  2634. enabled: false
  2635. minAvailable: 1
  2636. maxUnavailable: ""
  2637. ingress:
  2638. enabled: false
  2639. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  2640. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  2641. # ingressClassName: nginx
  2642. annotations: {}
  2643. labels: {}
  2644. ## Hosts must be provided if Ingress is enabled.
  2645. ##
  2646. hosts: []
  2647. # - thanosruler.domain.com
  2648. ## Paths to use for ingress rules - one path should match the thanosruler.routePrefix
  2649. ##
  2650. paths: []
  2651. # - /
  2652. ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
  2653. ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
  2654. # pathType: ImplementationSpecific
  2655. ## TLS configuration for ThanosRuler Ingress
  2656. ## Secret must be manually created in the namespace
  2657. ##
  2658. tls: []
  2659. # - secretName: thanosruler-general-tls
  2660. # hosts:
  2661. # - thanosruler.example.com
  2662. ## Configuration for ThanosRuler service
  2663. ##
  2664. service:
  2665. annotations: {}
  2666. labels: {}
  2667. clusterIP: ""
  2668. ## Port for ThanosRuler Service to listen on
  2669. ##
  2670. port: 10902
  2671. ## To be used with a proxy extraContainer port
  2672. ##
  2673. targetPort: 10902
  2674. ## Port to expose on each node
  2675. ## Only used if service.type is 'NodePort'
  2676. ##
  2677. nodePort: 30905
  2678. ## List of IP addresses at which the Prometheus server service is available
  2679. ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
  2680. ##
  2681. ## Additional ports to open for ThanosRuler service
  2682. additionalPorts: []
  2683. externalIPs: []
  2684. loadBalancerIP: ""
  2685. loadBalancerSourceRanges: []
  2686. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  2687. ##
  2688. externalTrafficPolicy: Cluster
  2689. ## Service type
  2690. ##
  2691. type: ClusterIP
  2692. ## If true, create a serviceMonitor for thanosRuler
  2693. ##
  2694. serviceMonitor:
  2695. ## Scrape interval. If not set, the Prometheus default scrape interval is used.
  2696. ##
  2697. interval: ""
  2698. selfMonitor: true
  2699. ## proxyUrl: URL of a proxy that should be used for scraping.
  2700. ##
  2701. proxyUrl: ""
  2702. ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
  2703. scheme: ""
  2704. ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
  2705. ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
  2706. tlsConfig: {}
  2707. bearerTokenFile:
  2708. ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
  2709. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  2710. ##
  2711. metricRelabelings: []
  2712. # - action: keep
  2713. # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
  2714. # sourceLabels: [__name__]
  2715. ## RelabelConfigs to apply to samples before scraping
  2716. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
  2717. ##
  2718. relabelings: []
  2719. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  2720. # separator: ;
  2721. # regex: ^(.*)$
  2722. # targetLabel: nodename
  2723. # replacement: $1
  2724. # action: replace
  2725. ## Settings affecting thanosRulerpec
  2726. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosrulerspec
  2727. ##
  2728. thanosRulerSpec:
  2729. ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
  2730. ## Metadata Labels and Annotations gets propagated to the ThanosRuler pods.
  2731. ##
  2732. podMetadata: {}
  2733. ## Image of ThanosRuler
  2734. ##
  2735. image:
  2736. registry: quay.io
  2737. repository: thanos/thanos
  2738. tag: v0.29.0
  2739. sha: ""
  2740. ## Namespaces to be selected for PrometheusRules discovery.
  2741. ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
  2742. ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
  2743. ##
  2744. ruleNamespaceSelector: {}
  2745. ## If true, a nil or {} value for thanosRuler.thanosRulerSpec.ruleSelector will cause the
  2746. ## prometheus resource to be created with selectors based on values in the helm deployment,
  2747. ## which will also match the PrometheusRule resources created
  2748. ##
  2749. ruleSelectorNilUsesHelmValues: true
  2750. ## PrometheusRules to be selected for target discovery.
  2751. ## If {}, select all PrometheusRules
  2752. ##
  2753. ruleSelector: {}
  2754. ## Example which select all PrometheusRules resources
  2755. ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
  2756. # ruleSelector:
  2757. # matchExpressions:
  2758. # - key: prometheus
  2759. # operator: In
  2760. # values:
  2761. # - example-rules
  2762. # - example-rules-2
  2763. #
  2764. ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
  2765. # ruleSelector:
  2766. # matchLabels:
  2767. # role: example-rules
  2768. ## Define Log Format
  2769. # Use logfmt (default) or json logging
  2770. logFormat: logfmt
  2771. ## Log level for ThanosRuler to be configured with.
  2772. ##
  2773. logLevel: info
  2774. ## Size is the expected size of the thanosRuler cluster. The controller will eventually make the size of the
  2775. ## running cluster equal to the expected size.
  2776. replicas: 1
  2777. ## Time duration ThanosRuler shall retain data for. Default is '24h', and must match the regular expression
  2778. ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
  2779. ##
  2780. retention: 24h
  2781. ## Interval between consecutive evaluations.
  2782. ##
  2783. evaluationInterval: ""
  2784. ## Storage is the definition of how storage will be used by the ThanosRuler instances.
  2785. ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
  2786. ##
  2787. storage: {}
  2788. # volumeClaimTemplate:
  2789. # spec:
  2790. # storageClassName: gluster
  2791. # accessModes: ["ReadWriteOnce"]
  2792. # resources:
  2793. # requests:
  2794. # storage: 50Gi
  2795. # selector: {}
  2796. ## AlertmanagerConfig define configuration for connecting to alertmanager.
  2797. ## Only available with Thanos v0.10.0 and higher. Maps to the alertmanagers.config Thanos Ruler arg.
  2798. alertmanagersConfig: {}
  2799. # - api_version: v2
  2800. # http_config:
  2801. # basic_auth:
  2802. # username: some_user
  2803. # password: some_pass
  2804. # static_configs:
  2805. # - alertmanager.thanos.io
  2806. # scheme: http
  2807. # timeout: 10s
  2808. ## DEPRECATED. Define URLs to send alerts to Alertmanager. For Thanos v0.10.0 and higher, alertmanagersConfig should be used instead.
  2809. ## Note: this field will be ignored if alertmanagersConfig is specified. Maps to the alertmanagers.url Thanos Ruler arg.
  2810. # alertmanagersUrl:
  2811. ## The external URL the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name. string false
  2812. ##
  2813. externalPrefix:
  2814. ## The route prefix ThanosRuler registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true,
  2815. ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
  2816. ##
  2817. routePrefix: /
  2818. ## ObjectStorageConfig configures object storage in Thanos. Alternative to
  2819. ## ObjectStorageConfigFile, and lower order priority.
  2820. objectStorageConfig: {}
  2821. ## ObjectStorageConfigFile specifies the path of the object storage configuration file.
  2822. ## When used alongside with ObjectStorageConfig, ObjectStorageConfigFile takes precedence.
  2823. objectStorageConfigFile: ""
  2824. ## QueryEndpoints defines Thanos querier endpoints from which to query metrics.
  2825. ## Maps to the --query flag of thanos ruler.
  2826. queryEndpoints: []
  2827. ## Define configuration for connecting to thanos query instances. If this is defined, the queryEndpoints field will be ignored.
  2828. ## Maps to the query.config CLI argument. Only available with thanos v0.11.0 and higher.
  2829. queryConfig: {}
  2830. ## Labels configure the external label pairs to ThanosRuler. A default replica
  2831. ## label `thanos_ruler_replica` will be always added as a label with the value
  2832. ## of the pod's name and it will be dropped in the alerts.
  2833. labels: {}
  2834. ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
  2835. ##
  2836. paused: false
  2837. ## Define which Nodes the Pods are scheduled on.
  2838. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  2839. ##
  2840. nodeSelector: {}
  2841. ## Define resources requests and limits for single Pods.
  2842. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  2843. ##
  2844. resources: {}
  2845. # requests:
  2846. # memory: 400Mi
  2847. ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
  2848. ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
  2849. ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
  2850. ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
  2851. ##
  2852. podAntiAffinity: ""
  2853. ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
  2854. ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
  2855. ##
  2856. podAntiAffinityTopologyKey: kubernetes.io/hostname
  2857. ## Assign custom affinity rules to the thanosRuler instance
  2858. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
  2859. ##
  2860. affinity: {}
  2861. # nodeAffinity:
  2862. # requiredDuringSchedulingIgnoredDuringExecution:
  2863. # nodeSelectorTerms:
  2864. # - matchExpressions:
  2865. # - key: kubernetes.io/e2e-az-name
  2866. # operator: In
  2867. # values:
  2868. # - e2e-az1
  2869. # - e2e-az2
  2870. ## If specified, the pod's tolerations.
  2871. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  2872. ##
  2873. tolerations: []
  2874. # - key: "key"
  2875. # operator: "Equal"
  2876. # value: "value"
  2877. # effect: "NoSchedule"
  2878. ## If specified, the pod's topology spread constraints.
  2879. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
  2880. ##
  2881. topologySpreadConstraints: []
  2882. # - maxSkew: 1
  2883. # topologyKey: topology.kubernetes.io/zone
  2884. # whenUnsatisfiable: DoNotSchedule
  2885. # labelSelector:
  2886. # matchLabels:
  2887. # app: thanos-ruler
  2888. ## SecurityContext holds pod-level security attributes and common container settings.
  2889. ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
  2890. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  2891. ##
  2892. securityContext:
  2893. runAsGroup: 2000
  2894. runAsNonRoot: true
  2895. runAsUser: 1000
  2896. fsGroup: 2000
  2897. ## ListenLocal makes the ThanosRuler server listen on loopback, so that it does not bind against the Pod IP.
  2898. ## Note this is only for the ThanosRuler UI, not the gossip communication.
  2899. ##
  2900. listenLocal: false
  2901. ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an ThanosRuler pod.
  2902. ##
  2903. containers: []
  2904. # Additional volumes on the output StatefulSet definition.
  2905. volumes: []
  2906. # Additional VolumeMounts on the output StatefulSet definition.
  2907. volumeMounts: []
  2908. ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
  2909. ## (permissions, dir tree) on mounted volumes before starting prometheus
  2910. initContainers: []
  2911. ## Priority class assigned to the Pods
  2912. ##
  2913. priorityClassName: ""
  2914. ## PortName to use for ThanosRuler.
  2915. ##
  2916. portName: "web"
  2917. ## ExtraSecret can be used to store various data in an extra secret
  2918. ## (use it for example to store hashed basic auth credentials)
  2919. extraSecret:
  2920. ## if not set, name will be auto generated
  2921. # name: ""
  2922. annotations: {}
  2923. data: {}
  2924. # auth: |
  2925. # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
  2926. # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
  2927. ## Setting to true produces cleaner resource names, but requires a data migration because the name of the persistent volume changes. Therefore this should only be set once on initial installation.
  2928. ##
  2929. cleanPrometheusOperatorObjectNames: false