mirror of
				https://github.com/carlosedp/cluster-monitoring.git
				synced 2025-10-26 10:23:04 +01:00 
			
		
		
		
	Bump images and libs. Add params to vars.jsonnet
This commit is contained in:
		
							parent
							
								
									357a39a627
								
							
						
					
					
						commit
						2ffe9ea31f
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@ -27,7 +27,7 @@ vendor: $(JB_BINARY) jsonnetfile.json jsonnetfile.lock.json       ## Download ve
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
fmt:       ## Formats all jsonnet and libsonnet files (except on vendor dir)
 | 
					fmt:       ## Formats all jsonnet and libsonnet files (except on vendor dir)
 | 
				
			||||||
	@echo "Formatting jsonnet files"
 | 
						@echo "Formatting jsonnet files"
 | 
				
			||||||
	@find . -name 'vendor' -prune -o -name '*.libsonnet' -o -name '*.jsonnet' -print | xargs -n 1 -- $(JSONNET_FMT) -i
 | 
						@find . -type f \( -iname "*.libsonnet" -or -iname "*.jsonnet" \) -print -or -name "vendor" -prune | xargs -n 1 -- $(JSONNET_FMT) -i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
deploy:       		## Deploy current manifests to configured cluster
 | 
					deploy:       		## Deploy current manifests to configured cluster
 | 
				
			||||||
	echo "Deploying stack setup manifests..."
 | 
						echo "Deploying stack setup manifests..."
 | 
				
			||||||
 | 
				
			|||||||
@ -71,7 +71,9 @@ local vars = import 'vars.jsonnet';
 | 
				
			|||||||
      spec+: {
 | 
					      spec+: {
 | 
				
			||||||
               // Here one can use parameters from https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec
 | 
					               // Here one can use parameters from https://coreos.com/operators/prometheus/docs/latest/api.html#prometheusspec
 | 
				
			||||||
               replicas: $._config.prometheus.replicas,
 | 
					               replicas: $._config.prometheus.replicas,
 | 
				
			||||||
               retention: '15d',
 | 
					               retention: vars.prometheus.retention,
 | 
				
			||||||
 | 
					               scrapeInterval: vars.prometheus.scrapeInterval,
 | 
				
			||||||
 | 
					               scrapeTimeout: vars.prometheus.scrapeTimeout,
 | 
				
			||||||
               externalUrl: 'http://' + $._config.urls.prom_ingress,
 | 
					               externalUrl: 'http://' + $._config.urls.prom_ingress,
 | 
				
			||||||
             }
 | 
					             }
 | 
				
			||||||
             + (if vars.enablePersistence.prometheus then {
 | 
					             + (if vars.enablePersistence.prometheus then {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,17 +1,17 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  _config+:: {
 | 
					  _config+:: {
 | 
				
			||||||
    versions+:: {
 | 
					    versions+:: {
 | 
				
			||||||
      prometheus: 'v2.18.1',
 | 
					      prometheus: 'v2.19.1',
 | 
				
			||||||
      alertmanager: 'v0.20.0',
 | 
					      alertmanager: 'v0.21.0',
 | 
				
			||||||
      kubeStateMetrics: '1.9.6',
 | 
					      kubeStateMetrics: '1.9.6',
 | 
				
			||||||
      kubeRbacProxy: 'v0.5.0',
 | 
					      kubeRbacProxy: 'v0.5.0',
 | 
				
			||||||
      addonResizer: '2.3',
 | 
					      addonResizer: '2.3',
 | 
				
			||||||
      nodeExporter: 'v0.18.1',
 | 
					      nodeExporter: 'v0.18.1',
 | 
				
			||||||
      prometheusOperator: 'v0.39.0',
 | 
					      prometheusOperator: 'v0.40.0',
 | 
				
			||||||
      prometheusAdapter: 'v0.7.0',
 | 
					      prometheusAdapter: 'v0.7.0',
 | 
				
			||||||
      grafana: '7.0.0',
 | 
					      grafana: '7.0.3',
 | 
				
			||||||
      configmapReloader: 'latest',
 | 
					      configmapReloader: 'latest',
 | 
				
			||||||
      prometheusConfigReloader: 'v0.39.0',
 | 
					      prometheusConfigReloader: 'v0.40.0',
 | 
				
			||||||
      armExporter: 'latest',
 | 
					      armExporter: 'latest',
 | 
				
			||||||
      smtpRelay: 'v1.0.1',
 | 
					      smtpRelay: 'v1.0.1',
 | 
				
			||||||
      elasticExporter: '1.0.4rc1',
 | 
					      elasticExporter: '1.0.4rc1',
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@
 | 
				
			|||||||
          "subdir": "Documentation/etcd-mixin"
 | 
					          "subdir": "Documentation/etcd-mixin"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "747ff75c96df87530bcd8b6b02d1160c5500bf4e",
 | 
					      "version": "d8c8f903eee10b8391abaef7758c38b2cd393c55",
 | 
				
			||||||
      "sum": "pk7mLpdUrHuJKkj2vhD6LGMU7P+oYYooBXAeZyZa398="
 | 
					      "sum": "pk7mLpdUrHuJKkj2vhD6LGMU7P+oYYooBXAeZyZa398="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -28,8 +28,8 @@
 | 
				
			|||||||
          "subdir": "jsonnet/kube-prometheus"
 | 
					          "subdir": "jsonnet/kube-prometheus"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "5a84ac52c7517a420b3bdf3cd251e8abce59a300",
 | 
					      "version": "17989b42aa10b1c6afa07043cb05bcd5ae492284",
 | 
				
			||||||
      "sum": "cEMmJvhn8dLnLqUVR0ql/XnwY8Jy3HH0YWIQQRaDD0o="
 | 
					      "sum": "2FR289B1LGUf5tTN4PXBj5TjRX7okSFxE8uHkSslzDQ="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "source": {
 | 
					      "source": {
 | 
				
			||||||
@ -38,8 +38,8 @@
 | 
				
			|||||||
          "subdir": "jsonnet/prometheus-operator"
 | 
					          "subdir": "jsonnet/prometheus-operator"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "d0a871b710de7b764c05ced98dbd1eb32a681790",
 | 
					      "version": "e31c69f9b5c6555e0f4a5c1f39d0f03182dd6b41",
 | 
				
			||||||
      "sum": "cIOKRTNBUOl3a+QsaA/NjClmZAhyVJHlDFReKlXJBAs="
 | 
					      "sum": "WggWVWZ+CBEUThQCztSaRELbtqdXf9s3OFzf06HbYNA="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "source": {
 | 
					      "source": {
 | 
				
			||||||
@ -48,8 +48,8 @@
 | 
				
			|||||||
          "subdir": "grafonnet"
 | 
					          "subdir": "grafonnet"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "5736b62831d779e28a8344646aee1f72b1fa1d90",
 | 
					      "version": "8fb95bd89990e493a8534205ee636bfcb8db67bd",
 | 
				
			||||||
      "sum": "ch97Uqauz7z+9mkOwzRz6JErxgWcQlfuJEEg+XHEadg="
 | 
					      "sum": "tDuuSKE9f4Ew2bjBM33Rs6behLEAzkmKkShSt+jpAak="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "source": {
 | 
					      "source": {
 | 
				
			||||||
@ -58,7 +58,7 @@
 | 
				
			|||||||
          "subdir": "grafana-builder"
 | 
					          "subdir": "grafana-builder"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "b9cc0f3529833096c043084c04bc7b3562a134c4",
 | 
					      "version": "881db2241f0c5007c3e831caf34b0c645202b4ab",
 | 
				
			||||||
      "sum": "slxrtftVDiTlQK22ertdfrg4Epnq97gdrLI63ftUfaE="
 | 
					      "sum": "slxrtftVDiTlQK22ertdfrg4Epnq97gdrLI63ftUfaE="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -79,8 +79,8 @@
 | 
				
			|||||||
          "subdir": ""
 | 
					          "subdir": ""
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "2beabb38d3241eb5da5080cbeb648a0cd1e3cbc2",
 | 
					      "version": "b61c5a34051f8f57284a08fe78ad8a45b430252b",
 | 
				
			||||||
      "sum": "s6t8ntlUHAjnifWx5V1jnBukTLPya7fX7YZVxJ0GcTk="
 | 
					      "sum": "7Hx/5eNm7ubLTsdrpk3b2+e/FLR3XOa4HCukmbRUCAY="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "source": {
 | 
					      "source": {
 | 
				
			||||||
@ -89,7 +89,7 @@
 | 
				
			|||||||
          "subdir": "lib/promgrafonnet"
 | 
					          "subdir": "lib/promgrafonnet"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "2beabb38d3241eb5da5080cbeb648a0cd1e3cbc2",
 | 
					      "version": "b61c5a34051f8f57284a08fe78ad8a45b430252b",
 | 
				
			||||||
      "sum": "VhgBM39yv0f4bKv8VfGg4FXkg573evGDRalip9ypKbc="
 | 
					      "sum": "VhgBM39yv0f4bKv8VfGg4FXkg573evGDRalip9ypKbc="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -99,7 +99,7 @@
 | 
				
			|||||||
          "subdir": "jsonnet/kube-state-metrics"
 | 
					          "subdir": "jsonnet/kube-state-metrics"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "cce1e3309ab2f42953933e441cbb20b54d986551",
 | 
					      "version": "d667979ed55ad1c4db44d331b51d646f5b903aa7",
 | 
				
			||||||
      "sum": "cJjGZaLBjcIGrLHZLjRPU9c3KL+ep9rZTb9dbALSKqA="
 | 
					      "sum": "cJjGZaLBjcIGrLHZLjRPU9c3KL+ep9rZTb9dbALSKqA="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -109,7 +109,7 @@
 | 
				
			|||||||
          "subdir": "jsonnet/kube-state-metrics-mixin"
 | 
					          "subdir": "jsonnet/kube-state-metrics-mixin"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "cce1e3309ab2f42953933e441cbb20b54d986551",
 | 
					      "version": "d667979ed55ad1c4db44d331b51d646f5b903aa7",
 | 
				
			||||||
      "sum": "o5avaguRsfFwYFNen00ZEsub1x4i8Z/ZZ2QoEjFMff8="
 | 
					      "sum": "o5avaguRsfFwYFNen00ZEsub1x4i8Z/ZZ2QoEjFMff8="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -119,7 +119,7 @@
 | 
				
			|||||||
          "subdir": "docs/node-mixin"
 | 
					          "subdir": "docs/node-mixin"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "b9c96706a7425383902b6143d097cf6d7cfd1960",
 | 
					      "version": "08ce3c6dd430deb51798826701a395e460620d60",
 | 
				
			||||||
      "sum": "3jFV2qsc/GZe2GADswTYqxxP2zGOiANTj73W/VNFGqc="
 | 
					      "sum": "3jFV2qsc/GZe2GADswTYqxxP2zGOiANTj73W/VNFGqc="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -129,8 +129,8 @@
 | 
				
			|||||||
          "subdir": "documentation/prometheus-mixin"
 | 
					          "subdir": "documentation/prometheus-mixin"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "version": "c9565f08aa4dbd53164ec1b75ea401a70feb1506",
 | 
					      "version": "74207c04655e1fd93eea0e9a5d2f31b1cbc4d3d0",
 | 
				
			||||||
      "sum": "kRb3XBTe/AALDcaTFfyuiKqzhxtLvihBkVkvJ5cUd/I=",
 | 
					      "sum": "lEzhZ8gllSfAO4kmXeTwl4W0anapIeFd5GCaCNuDe18=",
 | 
				
			||||||
      "name": "prometheus"
 | 
					      "name": "prometheus"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
 | 
				
			|||||||
@ -20,7 +20,7 @@ spec:
 | 
				
			|||||||
          - monitoring
 | 
					          - monitoring
 | 
				
			||||||
          topologyKey: kubernetes.io/hostname
 | 
					          topologyKey: kubernetes.io/hostname
 | 
				
			||||||
        weight: 100
 | 
					        weight: 100
 | 
				
			||||||
  image: prom/alertmanager:v0.20.0
 | 
					  image: prom/alertmanager:v0.21.0
 | 
				
			||||||
  nodeSelector:
 | 
					  nodeSelector:
 | 
				
			||||||
    kubernetes.io/os: linux
 | 
					    kubernetes.io/os: linux
 | 
				
			||||||
  replicas: 1
 | 
					  replicas: 1
 | 
				
			||||||
@ -29,4 +29,4 @@ spec:
 | 
				
			|||||||
    runAsNonRoot: true
 | 
					    runAsNonRoot: true
 | 
				
			||||||
    runAsUser: 1000
 | 
					    runAsUser: 1000
 | 
				
			||||||
  serviceAccountName: alertmanager-main
 | 
					  serviceAccountName: alertmanager-main
 | 
				
			||||||
  version: v0.20.0
 | 
					  version: v0.21.0
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,24 @@ items:
 | 
				
			|||||||
          "id": null,
 | 
					          "id": null,
 | 
				
			||||||
          "links": [
 | 
					          "links": [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "panels": [
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                  "content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.",
 | 
				
			||||||
 | 
					                  "datasource": null,
 | 
				
			||||||
 | 
					                  "description": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.",
 | 
				
			||||||
 | 
					                  "gridPos": {
 | 
				
			||||||
 | 
					                      "h": 2,
 | 
				
			||||||
 | 
					                      "w": 24,
 | 
				
			||||||
 | 
					                      "x": 0,
 | 
				
			||||||
 | 
					                      "y": 0
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  "id": 2,
 | 
				
			||||||
 | 
					                  "mode": "markdown",
 | 
				
			||||||
 | 
					                  "span": 12,
 | 
				
			||||||
 | 
					                  "title": "Notice",
 | 
				
			||||||
 | 
					                  "type": "text"
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
          ],
 | 
					          ],
 | 
				
			||||||
          "refresh": "10s",
 | 
					          "refresh": "10s",
 | 
				
			||||||
          "rows": [
 | 
					          "rows": [
 | 
				
			||||||
@ -52,7 +70,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 2,
 | 
					                          "id": 3,
 | 
				
			||||||
                          "interval": null,
 | 
					                          "interval": null,
 | 
				
			||||||
                          "links": [
 | 
					                          "links": [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -129,7 +147,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 3,
 | 
					                          "id": 4,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -247,7 +265,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 4,
 | 
					                          "id": 5,
 | 
				
			||||||
                          "interval": null,
 | 
					                          "interval": null,
 | 
				
			||||||
                          "links": [
 | 
					                          "links": [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -323,7 +341,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 5,
 | 
					                          "id": 6,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -431,7 +449,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 6,
 | 
					                          "id": 7,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -524,7 +542,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 7,
 | 
					                          "id": 8,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -640,7 +658,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 8,
 | 
					                          "id": 9,
 | 
				
			||||||
                          "interval": null,
 | 
					                          "interval": null,
 | 
				
			||||||
                          "links": [
 | 
					                          "links": [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -716,7 +734,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 9,
 | 
					                          "id": 10,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -824,7 +842,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 10,
 | 
					                          "id": 11,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -917,7 +935,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 11,
 | 
					                          "id": 12,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1022,7 +1040,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 12,
 | 
					                          "id": 13,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1114,7 +1132,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 13,
 | 
					                          "id": 14,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1206,7 +1224,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 14,
 | 
					                          "id": 15,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": true,
 | 
					                              "alignAsTable": true,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1311,7 +1329,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 15,
 | 
					                          "id": 16,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1403,7 +1421,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 16,
 | 
					                          "id": 17,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1502,7 +1520,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 17,
 | 
					                          "id": 18,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1614,7 +1632,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 18,
 | 
					                          "id": 19,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1706,7 +1724,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 19,
 | 
					                          "id": 20,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1798,7 +1816,7 @@ items:
 | 
				
			|||||||
                          "gridPos": {
 | 
					                          "gridPos": {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                          },
 | 
					                          },
 | 
				
			||||||
                          "id": 20,
 | 
					                          "id": 21,
 | 
				
			||||||
                          "legend": {
 | 
					                          "legend": {
 | 
				
			||||||
                              "alignAsTable": false,
 | 
					                              "alignAsTable": false,
 | 
				
			||||||
                              "avg": false,
 | 
					                              "avg": false,
 | 
				
			||||||
@ -1995,7 +2013,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / API server",
 | 
					          "title": "Kubernetes / API server",
 | 
				
			||||||
          "uid": "09ec8aa1e996d6ffcd6817bbaff4db1b",
 | 
					          "uid": "09ec8aa1e996d6ffcd6817bbaff4db1b",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -3820,7 +3838,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Networking / Cluster",
 | 
					          "title": "Kubernetes / Networking / Cluster",
 | 
				
			||||||
          "uid": "ff635a025bcfea7bc3dd4f508990a3e9",
 | 
					          "uid": "ff635a025bcfea7bc3dd4f508990a3e9",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -4946,7 +4964,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Controller Manager",
 | 
					          "title": "Kubernetes / Controller Manager",
 | 
				
			||||||
          "uid": "72e0e05bef5099e5f049b05fdc429ed4",
 | 
					          "uid": "72e0e05bef5099e5f049b05fdc429ed4",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -8968,7 +8986,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Cluster",
 | 
					          "title": "Kubernetes / Compute Resources / Cluster",
 | 
				
			||||||
          "uid": "efa86fd1d0c121a26444b636a3f509a8",
 | 
					          "uid": "efa86fd1d0c121a26444b636a3f509a8",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -11216,7 +11234,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Namespace (Pods)",
 | 
					          "title": "Kubernetes / Compute Resources / Namespace (Pods)",
 | 
				
			||||||
          "uid": "85a562078cdf77779eaa1add43ccec1e",
 | 
					          "uid": "85a562078cdf77779eaa1add43ccec1e",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -12163,7 +12181,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Node (Pods)",
 | 
					          "title": "Kubernetes / Compute Resources / Node (Pods)",
 | 
				
			||||||
          "uid": "200ac8fdbfbb74b39aff88118e4d1c2c",
 | 
					          "uid": "200ac8fdbfbb74b39aff88118e4d1c2c",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -13904,7 +13922,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Pod",
 | 
					          "title": "Kubernetes / Compute Resources / Pod",
 | 
				
			||||||
          "uid": "6581e46e4e5c7ba40a07646395ef7b23",
 | 
					          "uid": "6581e46e4e5c7ba40a07646395ef7b23",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -15903,7 +15921,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Workload",
 | 
					          "title": "Kubernetes / Compute Resources / Workload",
 | 
				
			||||||
          "uid": "a164a7f0339f99e89cea5cb47e9be617",
 | 
					          "uid": "a164a7f0339f99e89cea5cb47e9be617",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -18058,7 +18076,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Compute Resources / Namespace (Workloads)",
 | 
					          "title": "Kubernetes / Compute Resources / Namespace (Workloads)",
 | 
				
			||||||
          "uid": "a87fb0d919ec0ea5f6543124e16c42a5",
 | 
					          "uid": "a87fb0d919ec0ea5f6543124e16c42a5",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -20557,7 +20575,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Kubelet",
 | 
					          "title": "Kubernetes / Kubelet",
 | 
				
			||||||
          "uid": "3138fa155d5915769fbded898ac09fd9",
 | 
					          "uid": "3138fa155d5915769fbded898ac09fd9",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -21014,7 +21032,7 @@ items:
 | 
				
			|||||||
                          {
 | 
					                          {
 | 
				
			||||||
                              "evaluator": {
 | 
					                              "evaluator": {
 | 
				
			||||||
                                  "params": [
 | 
					                                  "params": [
 | 
				
			||||||
                                      0.84999999999999998
 | 
					                                      0.85
 | 
				
			||||||
                                  ],
 | 
					                                  ],
 | 
				
			||||||
                                  "type": "gt"
 | 
					                                  "type": "gt"
 | 
				
			||||||
                              },
 | 
					                              },
 | 
				
			||||||
@ -21126,7 +21144,7 @@ items:
 | 
				
			|||||||
                          "fill": true,
 | 
					                          "fill": true,
 | 
				
			||||||
                          "line": true,
 | 
					                          "line": true,
 | 
				
			||||||
                          "op": "gt",
 | 
					                          "op": "gt",
 | 
				
			||||||
                          "value": 0.84999999999999998
 | 
					                          "value": 0.85
 | 
				
			||||||
                      }
 | 
					                      }
 | 
				
			||||||
                  ],
 | 
					                  ],
 | 
				
			||||||
                  "timeFrom": null,
 | 
					                  "timeFrom": null,
 | 
				
			||||||
@ -24059,7 +24077,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Networking / Namespace (Pods)",
 | 
					          "title": "Kubernetes / Networking / Namespace (Pods)",
 | 
				
			||||||
          "uid": "8b7a8b326d7a6f1f04244066368c67af",
 | 
					          "uid": "8b7a8b326d7a6f1f04244066368c67af",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -25740,7 +25758,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Networking / Namespace (Workload)",
 | 
					          "title": "Kubernetes / Networking / Namespace (Workload)",
 | 
				
			||||||
          "uid": "bbb2a765a623ae38130206c7d94a160f",
 | 
					          "uid": "bbb2a765a623ae38130206c7d94a160f",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -26688,7 +26706,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "USE Method / Cluster",
 | 
					          "title": "USE Method / Cluster",
 | 
				
			||||||
          "uid": "3e97d1d02672cdd0861f4c97c64f89b2",
 | 
					          "uid": "3e97d1d02672cdd0861f4c97c64f89b2",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -27663,7 +27681,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "USE Method / Node",
 | 
					          "title": "USE Method / Node",
 | 
				
			||||||
          "uid": "fac67cfbe174d3ef53eb473d73d9212f",
 | 
					          "uid": "fac67cfbe174d3ef53eb473d73d9212f",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -28641,7 +28659,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Nodes",
 | 
					          "title": "Nodes",
 | 
				
			||||||
          "uid": "fa49a4706d07a042595b664c87fb33ea",
 | 
					          "uid": "fa49a4706d07a042595b664c87fb33ea",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -29200,7 +29218,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Persistent Volumes",
 | 
					          "title": "Kubernetes / Persistent Volumes",
 | 
				
			||||||
          "uid": "919b92a8e8041bd567af9edab12c840c",
 | 
					          "uid": "919b92a8e8041bd567af9edab12c840c",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -30380,7 +30398,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Networking / Pod",
 | 
					          "title": "Kubernetes / Networking / Pod",
 | 
				
			||||||
          "uid": "7a18067ce943a40ae25454675c19ff5c",
 | 
					          "uid": "7a18067ce943a40ae25454675c19ff5c",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -40172,7 +40190,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Proxy",
 | 
					          "title": "Kubernetes / Proxy",
 | 
				
			||||||
          "uid": "632e265de029684c40b21cb76bca4f94",
 | 
					          "uid": "632e265de029684c40b21cb76bca4f94",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -41222,7 +41240,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Scheduler",
 | 
					          "title": "Kubernetes / Scheduler",
 | 
				
			||||||
          "uid": "2e6b6a3b4bddf1427b3a55aa1311c656",
 | 
					          "uid": "2e6b6a3b4bddf1427b3a55aa1311c656",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -42133,7 +42151,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / StatefulSets",
 | 
					          "title": "Kubernetes / StatefulSets",
 | 
				
			||||||
          "uid": "a31c1f46e6f727cb37c0d731a7245005",
 | 
					          "uid": "a31c1f46e6f727cb37c0d731a7245005",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
@ -43519,7 +43537,7 @@ items:
 | 
				
			|||||||
                  "30d"
 | 
					                  "30d"
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "timezone": "",
 | 
					          "timezone": "UTC",
 | 
				
			||||||
          "title": "Kubernetes / Networking / Workload",
 | 
					          "title": "Kubernetes / Networking / Workload",
 | 
				
			||||||
          "uid": "728bf77cc1166d2f3133bf25846876cc",
 | 
					          "uid": "728bf77cc1166d2f3133bf25846876cc",
 | 
				
			||||||
          "version": 0
 | 
					          "version": 0
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,7 @@ spec:
 | 
				
			|||||||
    spec:
 | 
					    spec:
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
      - env: []
 | 
					      - env: []
 | 
				
			||||||
        image: grafana/grafana:7.0.0
 | 
					        image: grafana/grafana:7.0.3
 | 
				
			||||||
        name: grafana
 | 
					        name: grafana
 | 
				
			||||||
        ports:
 | 
					        ports:
 | 
				
			||||||
        - containerPort: 3000
 | 
					        - containerPort: 3000
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ metadata:
 | 
				
			|||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  rules:
 | 
					  rules:
 | 
				
			||||||
  - host: alertmanager.192.168.15.15.nip.io
 | 
					  - host: alertmanager.192.168.1.15.nip.io
 | 
				
			||||||
    http:
 | 
					    http:
 | 
				
			||||||
      paths:
 | 
					      paths:
 | 
				
			||||||
      - backend:
 | 
					      - backend:
 | 
				
			||||||
@ -14,4 +14,4 @@ spec:
 | 
				
			|||||||
        path: /
 | 
					        path: /
 | 
				
			||||||
  tls:
 | 
					  tls:
 | 
				
			||||||
  - hosts:
 | 
					  - hosts:
 | 
				
			||||||
    - alertmanager.192.168.15.15.nip.io
 | 
					    - alertmanager.192.168.1.15.nip.io
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ metadata:
 | 
				
			|||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  rules:
 | 
					  rules:
 | 
				
			||||||
  - host: grafana.192.168.15.15.nip.io
 | 
					  - host: grafana.192.168.1.15.nip.io
 | 
				
			||||||
    http:
 | 
					    http:
 | 
				
			||||||
      paths:
 | 
					      paths:
 | 
				
			||||||
      - backend:
 | 
					      - backend:
 | 
				
			||||||
@ -14,4 +14,4 @@ spec:
 | 
				
			|||||||
        path: /
 | 
					        path: /
 | 
				
			||||||
  tls:
 | 
					  tls:
 | 
				
			||||||
  - hosts:
 | 
					  - hosts:
 | 
				
			||||||
    - grafana.192.168.15.15.nip.io
 | 
					    - grafana.192.168.1.15.nip.io
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ metadata:
 | 
				
			|||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  rules:
 | 
					  rules:
 | 
				
			||||||
  - host: prometheus.192.168.15.15.nip.io
 | 
					  - host: prometheus.192.168.1.15.nip.io
 | 
				
			||||||
    http:
 | 
					    http:
 | 
				
			||||||
      paths:
 | 
					      paths:
 | 
				
			||||||
      - backend:
 | 
					      - backend:
 | 
				
			||||||
@ -14,4 +14,4 @@ spec:
 | 
				
			|||||||
        path: /
 | 
					        path: /
 | 
				
			||||||
  tls:
 | 
					  tls:
 | 
				
			||||||
  - hosts:
 | 
					  - hosts:
 | 
				
			||||||
    - prometheus.192.168.15.15.nip.io
 | 
					    - prometheus.192.168.1.15.nip.io
 | 
				
			||||||
 | 
				
			|||||||
@ -1,24 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
   "apiVersion": "v1",
 | 
					 | 
				
			||||||
   "kind": "Service",
 | 
					 | 
				
			||||||
   "metadata": {
 | 
					 | 
				
			||||||
      "labels": {
 | 
					 | 
				
			||||||
         "k8s-app": "kube-controller-manager"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "name": "kube-controller-manager-prometheus-discovery",
 | 
					 | 
				
			||||||
      "namespace": "kube-system"
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "spec": {
 | 
					 | 
				
			||||||
      "clusterIP": "None",
 | 
					 | 
				
			||||||
      "ports": [
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
            "name": "http-metrics",
 | 
					 | 
				
			||||||
            "port": 10252,
 | 
					 | 
				
			||||||
            "targetPort": 10252
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "selector": {
 | 
					 | 
				
			||||||
         "component": "kube-controller-manager"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -4,7 +4,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
@ -19,4 +19,4 @@ spec:
 | 
				
			|||||||
    matchLabels:
 | 
					    matchLabels:
 | 
				
			||||||
      app.kubernetes.io/component: controller
 | 
					      app.kubernetes.io/component: controller
 | 
				
			||||||
      app.kubernetes.io/name: prometheus-operator
 | 
					      app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
      app.kubernetes.io/version: v0.39.0
 | 
					      app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
 | 
				
			|||||||
@ -25,8 +25,8 @@ spec:
 | 
				
			|||||||
    - name: alertmanager-main
 | 
					    - name: alertmanager-main
 | 
				
			||||||
      namespace: monitoring
 | 
					      namespace: monitoring
 | 
				
			||||||
      port: web
 | 
					      port: web
 | 
				
			||||||
  externalUrl: http://prometheus.192.168.15.15.nip.io
 | 
					  externalUrl: http://prometheus.192.168.1.15.nip.io
 | 
				
			||||||
  image: prom/prometheus:v2.18.1
 | 
					  image: prom/prometheus:v2.19.1
 | 
				
			||||||
  nodeSelector:
 | 
					  nodeSelector:
 | 
				
			||||||
    kubernetes.io/os: linux
 | 
					    kubernetes.io/os: linux
 | 
				
			||||||
  podMonitorNamespaceSelector: {}
 | 
					  podMonitorNamespaceSelector: {}
 | 
				
			||||||
@ -40,6 +40,8 @@ spec:
 | 
				
			|||||||
    matchLabels:
 | 
					    matchLabels:
 | 
				
			||||||
      prometheus: k8s
 | 
					      prometheus: k8s
 | 
				
			||||||
      role: alert-rules
 | 
					      role: alert-rules
 | 
				
			||||||
 | 
					  scrapeInterval: 30s
 | 
				
			||||||
 | 
					  scrapeTimeout: 30s
 | 
				
			||||||
  securityContext:
 | 
					  securityContext:
 | 
				
			||||||
    fsGroup: 2000
 | 
					    fsGroup: 2000
 | 
				
			||||||
    runAsNonRoot: true
 | 
					    runAsNonRoot: true
 | 
				
			||||||
@ -47,4 +49,4 @@ spec:
 | 
				
			|||||||
  serviceAccountName: prometheus-k8s
 | 
					  serviceAccountName: prometheus-k8s
 | 
				
			||||||
  serviceMonitorNamespaceSelector: {}
 | 
					  serviceMonitorNamespaceSelector: {}
 | 
				
			||||||
  serviceMonitorSelector: {}
 | 
					  serviceMonitorSelector: {}
 | 
				
			||||||
  version: v2.18.1
 | 
					  version: v2.19.1
 | 
				
			||||||
 | 
				
			|||||||
@ -708,24 +708,19 @@ spec:
 | 
				
			|||||||
      record: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile
 | 
					      record: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile
 | 
				
			||||||
  - name: kube-prometheus-node-recording.rules
 | 
					  - name: kube-prometheus-node-recording.rules
 | 
				
			||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[3m])) BY
 | 
					    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[3m])) BY (instance)
 | 
				
			||||||
        (instance)
 | 
					 | 
				
			||||||
      record: instance:node_cpu:rate:sum
 | 
					      record: instance:node_cpu:rate:sum
 | 
				
			||||||
    - expr: sum((node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}))
 | 
					    - expr: sum((node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"})) BY (instance)
 | 
				
			||||||
        BY (instance)
 | 
					 | 
				
			||||||
      record: instance:node_filesystem_usage:sum
 | 
					      record: instance:node_filesystem_usage:sum
 | 
				
			||||||
    - expr: sum(rate(node_network_receive_bytes_total[3m])) BY (instance)
 | 
					    - expr: sum(rate(node_network_receive_bytes_total[3m])) BY (instance)
 | 
				
			||||||
      record: instance:node_network_receive_bytes:rate:sum
 | 
					      record: instance:node_network_receive_bytes:rate:sum
 | 
				
			||||||
    - expr: sum(rate(node_network_transmit_bytes_total[3m])) BY (instance)
 | 
					    - expr: sum(rate(node_network_transmit_bytes_total[3m])) BY (instance)
 | 
				
			||||||
      record: instance:node_network_transmit_bytes:rate:sum
 | 
					      record: instance:node_network_transmit_bytes:rate:sum
 | 
				
			||||||
    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[5m])) WITHOUT
 | 
					    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[5m])) WITHOUT (cpu, mode) / ON(instance) GROUP_LEFT() count(sum(node_cpu_seconds_total) BY (instance, cpu)) BY (instance)
 | 
				
			||||||
        (cpu, mode) / ON(instance) GROUP_LEFT() count(sum(node_cpu_seconds_total)
 | 
					 | 
				
			||||||
        BY (instance, cpu)) BY (instance)
 | 
					 | 
				
			||||||
      record: instance:node_cpu:ratio
 | 
					      record: instance:node_cpu:ratio
 | 
				
			||||||
    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[5m]))
 | 
					    - expr: sum(rate(node_cpu_seconds_total{mode!="idle",mode!="iowait"}[5m]))
 | 
				
			||||||
      record: cluster:node_cpu:sum_rate5m
 | 
					      record: cluster:node_cpu:sum_rate5m
 | 
				
			||||||
    - expr: cluster:node_cpu_seconds_total:rate5m / count(sum(node_cpu_seconds_total)
 | 
					    - expr: cluster:node_cpu_seconds_total:rate5m / count(sum(node_cpu_seconds_total) BY (instance, cpu))
 | 
				
			||||||
        BY (instance, cpu))
 | 
					 | 
				
			||||||
      record: cluster:node_cpu:ratio
 | 
					      record: cluster:node_cpu:ratio
 | 
				
			||||||
  - name: kube-prometheus-general.rules
 | 
					  - name: kube-prometheus-general.rules
 | 
				
			||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
@ -737,9 +732,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubeStateMetricsListErrors
 | 
					    - alert: KubeStateMetricsListErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: kube-state-metrics is experiencing errors at an elevated rate in
 | 
					        message: kube-state-metrics is experiencing errors at an elevated rate in list operations. This is likely causing it to not be able to expose metrics about Kubernetes objects correctly or at all.
 | 
				
			||||||
          list operations. This is likely causing it to not be able to expose metrics
 | 
					 | 
				
			||||||
          about Kubernetes objects correctly or at all.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatemetricslisterrors
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatemetricslisterrors
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (sum(rate(kube_state_metrics_list_total{job="kube-state-metrics",result="error"}[5m]))
 | 
					        (sum(rate(kube_state_metrics_list_total{job="kube-state-metrics",result="error"}[5m]))
 | 
				
			||||||
@ -751,9 +744,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: KubeStateMetricsWatchErrors
 | 
					    - alert: KubeStateMetricsWatchErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: kube-state-metrics is experiencing errors at an elevated rate in
 | 
					        message: kube-state-metrics is experiencing errors at an elevated rate in watch operations. This is likely causing it to not be able to expose metrics about Kubernetes objects correctly or at all.
 | 
				
			||||||
          watch operations. This is likely causing it to not be able to expose metrics
 | 
					 | 
				
			||||||
          about Kubernetes objects correctly or at all.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatemetricswatcherrors
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatemetricswatcherrors
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (sum(rate(kube_state_metrics_watch_total{job="kube-state-metrics",result="error"}[5m]))
 | 
					        (sum(rate(kube_state_metrics_watch_total{job="kube-state-metrics",result="error"}[5m]))
 | 
				
			||||||
@ -767,9 +758,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: NodeFilesystemSpaceFillingUp
 | 
					    - alert: NodeFilesystemSpaceFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available space left and is filling
 | 
					 | 
				
			||||||
          up.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemspacefillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemspacefillingup
 | 
				
			||||||
        summary: Filesystem is predicted to run out of space within the next 24 hours.
 | 
					        summary: Filesystem is predicted to run out of space within the next 24 hours.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -785,9 +774,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeFilesystemSpaceFillingUp
 | 
					    - alert: NodeFilesystemSpaceFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available space left and is filling
 | 
					 | 
				
			||||||
          up fast.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemspacefillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemspacefillingup
 | 
				
			||||||
        summary: Filesystem is predicted to run out of space within the next 4 hours.
 | 
					        summary: Filesystem is predicted to run out of space within the next 4 hours.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -803,8 +790,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: NodeFilesystemAlmostOutOfSpace
 | 
					    - alert: NodeFilesystemAlmostOutOfSpace
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available space left.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutofspace
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutofspace
 | 
				
			||||||
        summary: Filesystem has less than 5% space left.
 | 
					        summary: Filesystem has less than 5% space left.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -818,8 +804,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeFilesystemAlmostOutOfSpace
 | 
					    - alert: NodeFilesystemAlmostOutOfSpace
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available space left.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutofspace
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutofspace
 | 
				
			||||||
        summary: Filesystem has less than 3% space left.
 | 
					        summary: Filesystem has less than 3% space left.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -833,9 +818,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: NodeFilesystemFilesFillingUp
 | 
					    - alert: NodeFilesystemFilesFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available inodes left and is filling
 | 
					 | 
				
			||||||
          up.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemfilesfillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemfilesfillingup
 | 
				
			||||||
        summary: Filesystem is predicted to run out of inodes within the next 24 hours.
 | 
					        summary: Filesystem is predicted to run out of inodes within the next 24 hours.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -851,9 +834,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeFilesystemFilesFillingUp
 | 
					    - alert: NodeFilesystemFilesFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available inodes left and is filling
 | 
					 | 
				
			||||||
          up fast.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemfilesfillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemfilesfillingup
 | 
				
			||||||
        summary: Filesystem is predicted to run out of inodes within the next 4 hours.
 | 
					        summary: Filesystem is predicted to run out of inodes within the next 4 hours.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -869,8 +850,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: NodeFilesystemAlmostOutOfFiles
 | 
					    - alert: NodeFilesystemAlmostOutOfFiles
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available inodes left.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutoffiles
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutoffiles
 | 
				
			||||||
        summary: Filesystem has less than 5% inodes left.
 | 
					        summary: Filesystem has less than 5% inodes left.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -884,8 +864,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeFilesystemAlmostOutOfFiles
 | 
					    - alert: NodeFilesystemAlmostOutOfFiles
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }}
 | 
					        description: Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.
 | 
				
			||||||
          has only {{ printf "%.2f" $value }}% available inodes left.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutoffiles
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodefilesystemalmostoutoffiles
 | 
				
			||||||
        summary: Filesystem has less than 3% inodes left.
 | 
					        summary: Filesystem has less than 3% inodes left.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -899,8 +878,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: NodeNetworkReceiveErrs
 | 
					    - alert: NodeNetworkReceiveErrs
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered
 | 
					        description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.'
 | 
				
			||||||
          {{ printf "%.0f" $value }} receive errors in the last two minutes.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodenetworkreceiveerrs
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodenetworkreceiveerrs
 | 
				
			||||||
        summary: Network interface is reporting many receive errors.
 | 
					        summary: Network interface is reporting many receive errors.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -910,8 +888,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeNetworkTransmitErrs
 | 
					    - alert: NodeNetworkTransmitErrs
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered
 | 
					        description: '{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.'
 | 
				
			||||||
          {{ printf "%.0f" $value }} transmit errors in the last two minutes.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodenetworktransmiterrs
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodenetworktransmiterrs
 | 
				
			||||||
        summary: Network interface is reporting many transmit errors.
 | 
					        summary: Network interface is reporting many transmit errors.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -939,8 +916,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeClockSkewDetected
 | 
					    - alert: NodeClockSkewDetected
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Clock on {{ $labels.instance }} is out of sync by more than 300s.
 | 
					        message: Clock on {{ $labels.instance }} is out of sync by more than 300s. Ensure NTP is configured correctly on this host.
 | 
				
			||||||
          Ensure NTP is configured correctly on this host.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodeclockskewdetected
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodeclockskewdetected
 | 
				
			||||||
        summary: Clock skew detected.
 | 
					        summary: Clock skew detected.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -960,8 +936,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: NodeClockNotSynchronising
 | 
					    - alert: NodeClockNotSynchronising
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Clock on {{ $labels.instance }} is not synchronising. Ensure NTP
 | 
					        message: Clock on {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.
 | 
				
			||||||
          is configured on this host.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodeclocknotsynchronising
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-nodeclocknotsynchronising
 | 
				
			||||||
        summary: Clock not synchronising.
 | 
					        summary: Clock not synchronising.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
@ -973,8 +948,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubePodCrashLooping
 | 
					    - alert: KubePodCrashLooping
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} ({{ $labels.container
 | 
					        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} ({{ $labels.container }}) is restarting {{ printf "%.2f" $value }} times / 5 minutes.
 | 
				
			||||||
          }}) is restarting {{ printf "%.2f" $value }} times / 5 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodcrashlooping
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodcrashlooping
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        rate(kube_pod_container_status_restarts_total{job="kube-state-metrics"}[5m]) * 60 * 5 > 0
 | 
					        rate(kube_pod_container_status_restarts_total{job="kube-state-metrics"}[5m]) * 60 * 5 > 0
 | 
				
			||||||
@ -983,8 +957,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubePodNotReady
 | 
					    - alert: KubePodNotReady
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} has been in a non-ready
 | 
					        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} has been in a non-ready state for longer than 15 minutes.
 | 
				
			||||||
          state for longer than 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodnotready
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepodnotready
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum by (namespace, pod) (
 | 
					        sum by (namespace, pod) (
 | 
				
			||||||
@ -999,9 +972,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeDeploymentGenerationMismatch
 | 
					    - alert: KubeDeploymentGenerationMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Deployment generation for {{ $labels.namespace }}/{{ $labels.deployment
 | 
					        message: Deployment generation for {{ $labels.namespace }}/{{ $labels.deployment }} does not match, this indicates that the Deployment has failed but has not been rolled back.
 | 
				
			||||||
          }} does not match, this indicates that the Deployment has failed but has
 | 
					 | 
				
			||||||
          not been rolled back.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentgenerationmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentgenerationmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_deployment_status_observed_generation{job="kube-state-metrics"}
 | 
					        kube_deployment_status_observed_generation{job="kube-state-metrics"}
 | 
				
			||||||
@ -1012,8 +983,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeDeploymentReplicasMismatch
 | 
					    - alert: KubeDeploymentReplicasMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Deployment {{ $labels.namespace }}/{{ $labels.deployment }} has not
 | 
					        message: Deployment {{ $labels.namespace }}/{{ $labels.deployment }} has not matched the expected number of replicas for longer than 15 minutes.
 | 
				
			||||||
          matched the expected number of replicas for longer than 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentreplicasmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedeploymentreplicasmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
@ -1030,8 +1000,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeStatefulSetReplicasMismatch
 | 
					    - alert: KubeStatefulSetReplicasMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: StatefulSet {{ $labels.namespace }}/{{ $labels.statefulset }} has
 | 
					        message: StatefulSet {{ $labels.namespace }}/{{ $labels.statefulset }} has not matched the expected number of replicas for longer than 15 minutes.
 | 
				
			||||||
          not matched the expected number of replicas for longer than 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetreplicasmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetreplicasmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
@ -1048,9 +1017,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeStatefulSetGenerationMismatch
 | 
					    - alert: KubeStatefulSetGenerationMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: StatefulSet generation for {{ $labels.namespace }}/{{ $labels.statefulset
 | 
					        message: StatefulSet generation for {{ $labels.namespace }}/{{ $labels.statefulset }} does not match, this indicates that the StatefulSet has failed but has not been rolled back.
 | 
				
			||||||
          }} does not match, this indicates that the StatefulSet has failed but has
 | 
					 | 
				
			||||||
          not been rolled back.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetgenerationmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetgenerationmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_statefulset_status_observed_generation{job="kube-state-metrics"}
 | 
					        kube_statefulset_status_observed_generation{job="kube-state-metrics"}
 | 
				
			||||||
@ -1061,28 +1028,32 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeStatefulSetUpdateNotRolledOut
 | 
					    - alert: KubeStatefulSetUpdateNotRolledOut
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: StatefulSet {{ $labels.namespace }}/{{ $labels.statefulset }} update
 | 
					        message: StatefulSet {{ $labels.namespace }}/{{ $labels.statefulset }} update has not been rolled out.
 | 
				
			||||||
          has not been rolled out.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetupdatenotrolledout
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubestatefulsetupdatenotrolledout
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        max without (revision) (
 | 
					 | 
				
			||||||
          kube_statefulset_status_current_revision{job="kube-state-metrics"}
 | 
					 | 
				
			||||||
            unless
 | 
					 | 
				
			||||||
          kube_statefulset_status_update_revision{job="kube-state-metrics"}
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
          *
 | 
					 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
          kube_statefulset_replicas{job="kube-state-metrics"}
 | 
					          max without (revision) (
 | 
				
			||||||
            !=
 | 
					            kube_statefulset_status_current_revision{job="kube-state-metrics"}
 | 
				
			||||||
          kube_statefulset_status_replicas_updated{job="kube-state-metrics"}
 | 
					              unless
 | 
				
			||||||
 | 
					            kube_statefulset_status_update_revision{job="kube-state-metrics"}
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
 | 
					            *
 | 
				
			||||||
 | 
					          (
 | 
				
			||||||
 | 
					            kube_statefulset_replicas{job="kube-state-metrics"}
 | 
				
			||||||
 | 
					              !=
 | 
				
			||||||
 | 
					            kube_statefulset_status_replicas_updated{job="kube-state-metrics"}
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
 | 
					        )  and (
 | 
				
			||||||
 | 
					          changes(kube_statefulset_status_replicas_updated{job="kube-state-metrics"}[5m])
 | 
				
			||||||
 | 
					            ==
 | 
				
			||||||
 | 
					          0
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
      for: 15m
 | 
					      for: 15m
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeDaemonSetRolloutStuck
 | 
					    - alert: KubeDaemonSetRolloutStuck
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Only {{ $value | humanizePercentage }} of the desired Pods of DaemonSet
 | 
					        message: Only {{ $value | humanizePercentage }} of the desired Pods of DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset }} are scheduled and ready.
 | 
				
			||||||
          {{ $labels.namespace }}/{{ $labels.daemonset }} are scheduled and ready.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetrolloutstuck
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetrolloutstuck
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_daemonset_status_number_ready{job="kube-state-metrics"}
 | 
					        kube_daemonset_status_number_ready{job="kube-state-metrics"}
 | 
				
			||||||
@ -1093,8 +1064,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeContainerWaiting
 | 
					    - alert: KubeContainerWaiting
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} container {{ $labels.container}}
 | 
					        message: Pod {{ $labels.namespace }}/{{ $labels.pod }} container {{ $labels.container}} has been in waiting state for longer than 1 hour.
 | 
				
			||||||
          has been in waiting state for longer than 1 hour.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecontainerwaiting
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecontainerwaiting
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum by (namespace, pod, container) (kube_pod_container_status_waiting_reason{job="kube-state-metrics"}) > 0
 | 
					        sum by (namespace, pod, container) (kube_pod_container_status_waiting_reason{job="kube-state-metrics"}) > 0
 | 
				
			||||||
@ -1103,8 +1073,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeDaemonSetNotScheduled
 | 
					    - alert: KubeDaemonSetNotScheduled
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: '{{ $value }} Pods of DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset
 | 
					        message: '{{ $value }} Pods of DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset }} are not scheduled.'
 | 
				
			||||||
          }} are not scheduled.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetnotscheduled
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetnotscheduled
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"}
 | 
					        kube_daemonset_status_desired_number_scheduled{job="kube-state-metrics"}
 | 
				
			||||||
@ -1115,8 +1084,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeDaemonSetMisScheduled
 | 
					    - alert: KubeDaemonSetMisScheduled
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: '{{ $value }} Pods of DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset
 | 
					        message: '{{ $value }} Pods of DaemonSet {{ $labels.namespace }}/{{ $labels.daemonset }} are running where they are not supposed to run.'
 | 
				
			||||||
          }} are running where they are not supposed to run.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetmisscheduled
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubedaemonsetmisscheduled
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_daemonset_status_number_misscheduled{job="kube-state-metrics"} > 0
 | 
					        kube_daemonset_status_number_misscheduled{job="kube-state-metrics"} > 0
 | 
				
			||||||
@ -1125,8 +1093,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeCronJobRunning
 | 
					    - alert: KubeCronJobRunning
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: CronJob {{ $labels.namespace }}/{{ $labels.cronjob }} is taking more
 | 
					        message: CronJob {{ $labels.namespace }}/{{ $labels.cronjob }} is taking more than 1h to complete.
 | 
				
			||||||
          than 1h to complete.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecronjobrunning
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecronjobrunning
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        time() - kube_cronjob_next_schedule_time{job="kube-state-metrics"} > 3600
 | 
					        time() - kube_cronjob_next_schedule_time{job="kube-state-metrics"} > 3600
 | 
				
			||||||
@ -1135,8 +1102,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeJobCompletion
 | 
					    - alert: KubeJobCompletion
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Job {{ $labels.namespace }}/{{ $labels.job_name }} is taking more
 | 
					        message: Job {{ $labels.namespace }}/{{ $labels.job_name }} is taking more than one hour to complete.
 | 
				
			||||||
          than one hour to complete.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubejobcompletion
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubejobcompletion
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_job_spec_completions{job="kube-state-metrics"} - kube_job_status_succeeded{job="kube-state-metrics"}  > 0
 | 
					        kube_job_spec_completions{job="kube-state-metrics"} - kube_job_status_succeeded{job="kube-state-metrics"}  > 0
 | 
				
			||||||
@ -1154,8 +1120,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeHpaReplicasMismatch
 | 
					    - alert: KubeHpaReplicasMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: HPA {{ $labels.namespace }}/{{ $labels.hpa }} has not matched the
 | 
					        message: HPA {{ $labels.namespace }}/{{ $labels.hpa }} has not matched the desired number of replicas for longer than 15 minutes.
 | 
				
			||||||
          desired number of replicas for longer than 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubehpareplicasmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubehpareplicasmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (kube_hpa_status_desired_replicas{job="kube-state-metrics"}
 | 
					        (kube_hpa_status_desired_replicas{job="kube-state-metrics"}
 | 
				
			||||||
@ -1168,8 +1133,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeHpaMaxedOut
 | 
					    - alert: KubeHpaMaxedOut
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: HPA {{ $labels.namespace }}/{{ $labels.hpa }} has been running at
 | 
					        message: HPA {{ $labels.namespace }}/{{ $labels.hpa }} has been running at max replicas for longer than 15 minutes.
 | 
				
			||||||
          max replicas for longer than 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubehpamaxedout
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubehpamaxedout
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_hpa_status_current_replicas{job="kube-state-metrics"}
 | 
					        kube_hpa_status_current_replicas{job="kube-state-metrics"}
 | 
				
			||||||
@ -1182,8 +1146,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubeCPUOvercommit
 | 
					    - alert: KubeCPUOvercommit
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Cluster has overcommitted CPU resource requests for Pods and cannot
 | 
					        message: Cluster has overcommitted CPU resource requests for Pods and cannot tolerate node failure.
 | 
				
			||||||
          tolerate node failure.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuovercommit
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum(namespace:kube_pod_container_resource_requests_cpu_cores:sum{})
 | 
					        sum(namespace:kube_pod_container_resource_requests_cpu_cores:sum{})
 | 
				
			||||||
@ -1196,8 +1159,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeMemoryOvercommit
 | 
					    - alert: KubeMemoryOvercommit
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Cluster has overcommitted memory resource requests for Pods and cannot
 | 
					        message: Cluster has overcommitted memory resource requests for Pods and cannot tolerate node failure.
 | 
				
			||||||
          tolerate node failure.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememoryovercommit
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubememoryovercommit
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum(namespace:kube_pod_container_resource_requests_memory_bytes:sum{})
 | 
					        sum(namespace:kube_pod_container_resource_requests_memory_bytes:sum{})
 | 
				
			||||||
@ -1236,8 +1198,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeQuotaExceeded
 | 
					    - alert: KubeQuotaExceeded
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Namespace {{ $labels.namespace }} is using {{ $value | humanizePercentage
 | 
					        message: Namespace {{ $labels.namespace }} is using {{ $value | humanizePercentage }} of its {{ $labels.resource }} quota.
 | 
				
			||||||
          }} of its {{ $labels.resource }} quota.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubequotaexceeded
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubequotaexceeded
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_resourcequota{job="kube-state-metrics", type="used"}
 | 
					        kube_resourcequota{job="kube-state-metrics", type="used"}
 | 
				
			||||||
@ -1249,9 +1210,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: CPUThrottlingHigh
 | 
					    - alert: CPUThrottlingHigh
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: '{{ $value | humanizePercentage }} throttling of CPU in namespace
 | 
					        message: '{{ $value | humanizePercentage }} throttling of CPU in namespace {{ $labels.namespace }} for container {{ $labels.container }} in pod {{ $labels.pod }}.'
 | 
				
			||||||
          {{ $labels.namespace }} for container {{ $labels.container }} in pod {{
 | 
					 | 
				
			||||||
          $labels.pod }}.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)
 | 
					        sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)
 | 
				
			||||||
@ -1265,9 +1224,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubePersistentVolumeFillingUp
 | 
					    - alert: KubePersistentVolumeFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The PersistentVolume claimed by {{ $labels.persistentvolumeclaim
 | 
					        message: The PersistentVolume claimed by {{ $labels.persistentvolumeclaim }} in Namespace {{ $labels.namespace }} is only {{ $value | humanizePercentage }} free.
 | 
				
			||||||
          }} in Namespace {{ $labels.namespace }} is only {{ $value | humanizePercentage
 | 
					 | 
				
			||||||
          }} free.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kubelet_volume_stats_available_bytes{job="kubelet", metrics_path="/metrics"}
 | 
					        kubelet_volume_stats_available_bytes{job="kubelet", metrics_path="/metrics"}
 | 
				
			||||||
@ -1279,9 +1236,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: KubePersistentVolumeFillingUp
 | 
					    - alert: KubePersistentVolumeFillingUp
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Based on recent sampling, the PersistentVolume claimed by {{ $labels.persistentvolumeclaim
 | 
					        message: Based on recent sampling, the PersistentVolume claimed by {{ $labels.persistentvolumeclaim }} in Namespace {{ $labels.namespace }} is expected to fill up within four days. Currently {{ $value | humanizePercentage }} is available.
 | 
				
			||||||
          }} in Namespace {{ $labels.namespace }} is expected to fill up within four
 | 
					 | 
				
			||||||
          days. Currently {{ $value | humanizePercentage }} is available.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
@ -1296,8 +1251,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubePersistentVolumeErrors
 | 
					    - alert: KubePersistentVolumeErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The persistent volume {{ $labels.persistentvolume }} has status {{
 | 
					        message: The persistent volume {{ $labels.persistentvolume }} has status {{ $labels.phase }}.
 | 
				
			||||||
          $labels.phase }}.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumeerrors
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumeerrors
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        kube_persistentvolume_status_phase{phase=~"Failed|Pending",job="kube-state-metrics"} > 0
 | 
					        kube_persistentvolume_status_phase{phase=~"Failed|Pending",job="kube-state-metrics"} > 0
 | 
				
			||||||
@ -1308,8 +1262,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubeVersionMismatch
 | 
					    - alert: KubeVersionMismatch
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: There are {{ $value }} different semantic versions of Kubernetes
 | 
					        message: There are {{ $value }} different semantic versions of Kubernetes components running.
 | 
				
			||||||
          components running.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeversionmismatch
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeversionmismatch
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        count(count by (gitVersion) (label_replace(kubernetes_build_info{job!~"kube-dns|coredns"},"gitVersion","$1","gitVersion","(v[0-9]*.[0-9]*.[0-9]*).*"))) > 1
 | 
					        count(count by (gitVersion) (label_replace(kubernetes_build_info{job!~"kube-dns|coredns"},"gitVersion","$1","gitVersion","(v[0-9]*.[0-9]*.[0-9]*).*"))) > 1
 | 
				
			||||||
@ -1318,8 +1271,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeClientErrors
 | 
					    - alert: KubeClientErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Kubernetes API server client '{{ $labels.job }}/{{ $labels.instance
 | 
					        message: Kubernetes API server client '{{ $labels.job }}/{{ $labels.instance }}' is experiencing {{ $value | humanizePercentage }} errors.'
 | 
				
			||||||
          }}' is experiencing {{ $value | humanizePercentage }} errors.'
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclienterrors
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclienterrors
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (sum(rate(rest_client_requests_total{code=~"5.."}[5m])) by (instance, job)
 | 
					        (sum(rate(rest_client_requests_total{code=~"5.."}[5m])) by (instance, job)
 | 
				
			||||||
@ -1387,8 +1339,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: KubeAPILatencyHigh
 | 
					    - alert: KubeAPILatencyHigh
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The API server has an abnormal latency of {{ $value }} seconds for
 | 
					        message: The API server has an abnormal latency of {{ $value }} seconds for {{ $labels.verb }} {{ $labels.resource }}.
 | 
				
			||||||
          {{ $labels.verb }} {{ $labels.resource }}.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeapilatencyhigh
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeapilatencyhigh
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        cluster_quantile:apiserver_request_duration_seconds:histogram_quantile{job="apiserver",quantile="0.99"}
 | 
					        cluster_quantile:apiserver_request_duration_seconds:histogram_quantile{job="apiserver",quantile="0.99"}
 | 
				
			||||||
@ -1411,9 +1362,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeAPIErrorsHigh
 | 
					    - alert: KubeAPIErrorsHigh
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: API server is returning errors for {{ $value | humanizePercentage
 | 
					        message: API server is returning errors for {{ $value | humanizePercentage }} of requests for {{ $labels.verb }} {{ $labels.resource }} {{ $labels.subresource }}.
 | 
				
			||||||
          }} of requests for {{ $labels.verb }} {{ $labels.resource }} {{ $labels.subresource
 | 
					 | 
				
			||||||
          }}.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeapierrorshigh
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeapierrorshigh
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum(rate(apiserver_request_total{job="apiserver",code=~"5.."}[5m])) by (resource,subresource,verb)
 | 
					        sum(rate(apiserver_request_total{job="apiserver",code=~"5.."}[5m])) by (resource,subresource,verb)
 | 
				
			||||||
@ -1424,8 +1373,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeClientCertificateExpiration
 | 
					    - alert: KubeClientCertificateExpiration
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: A client certificate used to authenticate to the apiserver is expiring
 | 
					        message: A client certificate used to authenticate to the apiserver is expiring in less than 7.0 days.
 | 
				
			||||||
          in less than 7.0 days.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclientcertificateexpiration
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclientcertificateexpiration
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 604800
 | 
					        apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 604800
 | 
				
			||||||
@ -1433,8 +1381,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeClientCertificateExpiration
 | 
					    - alert: KubeClientCertificateExpiration
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: A client certificate used to authenticate to the apiserver is expiring
 | 
					        message: A client certificate used to authenticate to the apiserver is expiring in less than 24.0 hours.
 | 
				
			||||||
          in less than 24.0 hours.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclientcertificateexpiration
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeclientcertificateexpiration
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 86400
 | 
					        apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 86400
 | 
				
			||||||
@ -1442,10 +1389,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: AggregatedAPIErrors
 | 
					    - alert: AggregatedAPIErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: An aggregated API {{ $labels.name }}/{{ $labels.namespace }} has
 | 
					        message: An aggregated API {{ $labels.name }}/{{ $labels.namespace }} has reported errors. The number of errors have increased for it in the past five minutes. High values indicate that the availability of the service changes too often.
 | 
				
			||||||
          reported errors. The number of errors have increased for it in the past
 | 
					 | 
				
			||||||
          five minutes. High values indicate that the availability of the service
 | 
					 | 
				
			||||||
          changes too often.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-aggregatedapierrors
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-aggregatedapierrors
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum by(name, namespace)(increase(aggregator_unavailable_apiservice_count[5m])) > 2
 | 
					        sum by(name, namespace)(increase(aggregator_unavailable_apiservice_count[5m])) > 2
 | 
				
			||||||
@ -1453,8 +1397,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: AggregatedAPIDown
 | 
					    - alert: AggregatedAPIDown
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: An aggregated API {{ $labels.name }}/{{ $labels.namespace }} is down.
 | 
					        message: An aggregated API {{ $labels.name }}/{{ $labels.namespace }} is down. It has not been available at least for the past five minutes.
 | 
				
			||||||
          It has not been available at least for the past five minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-aggregatedapidown
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-aggregatedapidown
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum by(name, namespace)(sum_over_time(aggregator_unavailable_apiservice[5m])) > 0
 | 
					        sum by(name, namespace)(sum_over_time(aggregator_unavailable_apiservice[5m])) > 0
 | 
				
			||||||
@ -1491,8 +1434,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeletTooManyPods
 | 
					    - alert: KubeletTooManyPods
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Kubelet '{{ $labels.node }}' is running at {{ $value | humanizePercentage
 | 
					        message: Kubelet '{{ $labels.node }}' is running at {{ $value | humanizePercentage }} of its Pod capacity.
 | 
				
			||||||
          }} of its Pod capacity.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubelettoomanypods
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubelettoomanypods
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        max(max(kubelet_running_pod_count{job="kubelet", metrics_path="/metrics"}) by(instance) * on(instance) group_left(node) kubelet_node_name{job="kubelet", metrics_path="/metrics"}) by(node) / max(kube_node_status_capacity_pods{job="kube-state-metrics"} != 1) by(node) > 0.95
 | 
					        max(max(kubelet_running_pod_count{job="kubelet", metrics_path="/metrics"}) by(instance) * on(instance) group_left(node) kubelet_node_name{job="kubelet", metrics_path="/metrics"}) by(node) / max(kube_node_status_capacity_pods{job="kube-state-metrics"} != 1) by(node) > 0.95
 | 
				
			||||||
@ -1501,8 +1443,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeNodeReadinessFlapping
 | 
					    - alert: KubeNodeReadinessFlapping
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The readiness status of node {{ $labels.node }} has changed {{ $value
 | 
					        message: The readiness status of node {{ $labels.node }} has changed {{ $value }} times in the last 15 minutes.
 | 
				
			||||||
          }} times in the last 15 minutes.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubenodereadinessflapping
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubenodereadinessflapping
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (node) > 2
 | 
					        sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (node) > 2
 | 
				
			||||||
@ -1511,8 +1452,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeletPlegDurationHigh
 | 
					    - alert: KubeletPlegDurationHigh
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The Kubelet Pod Lifecycle Event Generator has a 99th percentile duration
 | 
					        message: The Kubelet Pod Lifecycle Event Generator has a 99th percentile duration of {{ $value }} seconds on node {{ $labels.node }}.
 | 
				
			||||||
          of {{ $value }} seconds on node {{ $labels.node }}.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeletplegdurationhigh
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeletplegdurationhigh
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile{quantile="0.99"} >= 10
 | 
					        node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile{quantile="0.99"} >= 10
 | 
				
			||||||
@ -1521,8 +1461,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: KubeletPodStartUpLatencyHigh
 | 
					    - alert: KubeletPodStartUpLatencyHigh
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Kubelet Pod startup 99th percentile latency is {{ $value }} seconds
 | 
					        message: Kubelet Pod startup 99th percentile latency is {{ $value }} seconds on node {{ $labels.node }}.
 | 
				
			||||||
          on node {{ $labels.node }}.
 | 
					 | 
				
			||||||
        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeletpodstartuplatencyhigh
 | 
					        runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubeletpodstartuplatencyhigh
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        histogram_quantile(0.99, sum(rate(kubelet_pod_worker_duration_seconds_bucket{job="kubelet", metrics_path="/metrics"}[5m])) by (instance, le)) * on(instance) group_left(node) kubelet_node_name{job="kubelet", metrics_path="/metrics"} > 60
 | 
					        histogram_quantile(0.99, sum(rate(kubelet_pod_worker_duration_seconds_bucket{job="kubelet", metrics_path="/metrics"}[5m])) by (instance, le)) * on(instance) group_left(node) kubelet_node_name{job="kubelet", metrics_path="/metrics"} > 60
 | 
				
			||||||
@ -1564,8 +1503,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: PrometheusBadConfig
 | 
					    - alert: PrometheusBadConfig
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has failed to
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has failed to reload its configuration.
 | 
				
			||||||
          reload its configuration.
 | 
					 | 
				
			||||||
        summary: Failed Prometheus configuration reload.
 | 
					        summary: Failed Prometheus configuration reload.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        # Without max_over_time, failed scrapes could create false negatives, see
 | 
					        # Without max_over_time, failed scrapes could create false negatives, see
 | 
				
			||||||
@ -1576,10 +1514,8 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: PrometheusNotificationQueueRunningFull
 | 
					    - alert: PrometheusNotificationQueueRunningFull
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Alert notification queue of Prometheus {{$labels.namespace}}/{{$labels.pod}}
 | 
					        description: Alert notification queue of Prometheus {{$labels.namespace}}/{{$labels.pod}} is running full.
 | 
				
			||||||
          is running full.
 | 
					        summary: Prometheus alert notification queue predicted to run full in less than 30m.
 | 
				
			||||||
        summary: Prometheus alert notification queue predicted to run full in less
 | 
					 | 
				
			||||||
          than 30m.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        # Without min_over_time, failed scrapes could create false negatives, see
 | 
					        # Without min_over_time, failed scrapes could create false negatives, see
 | 
				
			||||||
        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
 | 
					        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
 | 
				
			||||||
@ -1593,10 +1529,8 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusErrorSendingAlertsToSomeAlertmanagers
 | 
					    - alert: PrometheusErrorSendingAlertsToSomeAlertmanagers
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: '{{ printf "%.1f" $value }}% errors while sending alerts from
 | 
					        description: '{{ printf "%.1f" $value }}% errors while sending alerts from Prometheus {{$labels.namespace}}/{{$labels.pod}} to Alertmanager {{$labels.alertmanager}}.'
 | 
				
			||||||
          Prometheus {{$labels.namespace}}/{{$labels.pod}} to Alertmanager {{$labels.alertmanager}}.'
 | 
					        summary: Prometheus has encountered more than 1% errors sending alerts to a specific Alertmanager.
 | 
				
			||||||
        summary: Prometheus has encountered more than 1% errors sending alerts to
 | 
					 | 
				
			||||||
          a specific Alertmanager.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
          rate(prometheus_notifications_errors_total{job="prometheus-k8s",namespace="monitoring"}[5m])
 | 
					          rate(prometheus_notifications_errors_total{job="prometheus-k8s",namespace="monitoring"}[5m])
 | 
				
			||||||
@ -1610,8 +1544,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusErrorSendingAlertsToAnyAlertmanager
 | 
					    - alert: PrometheusErrorSendingAlertsToAnyAlertmanager
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: '{{ printf "%.1f" $value }}% minimum errors while sending alerts
 | 
					        description: '{{ printf "%.1f" $value }}% minimum errors while sending alerts from Prometheus {{$labels.namespace}}/{{$labels.pod}} to any Alertmanager.'
 | 
				
			||||||
          from Prometheus {{$labels.namespace}}/{{$labels.pod}} to any Alertmanager.'
 | 
					 | 
				
			||||||
        summary: Prometheus encounters more than 3% errors sending alerts to any Alertmanager.
 | 
					        summary: Prometheus encounters more than 3% errors sending alerts to any Alertmanager.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        min without(alertmanager) (
 | 
					        min without(alertmanager) (
 | 
				
			||||||
@ -1626,8 +1559,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: PrometheusNotConnectedToAlertmanagers
 | 
					    - alert: PrometheusNotConnectedToAlertmanagers
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not connected
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not connected to any Alertmanagers.
 | 
				
			||||||
          to any Alertmanagers.
 | 
					 | 
				
			||||||
        summary: Prometheus is not connected to any Alertmanagers.
 | 
					        summary: Prometheus is not connected to any Alertmanagers.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        # Without max_over_time, failed scrapes could create false negatives, see
 | 
					        # Without max_over_time, failed scrapes could create false negatives, see
 | 
				
			||||||
@ -1638,8 +1570,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusTSDBReloadsFailing
 | 
					    - alert: PrometheusTSDBReloadsFailing
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has detected
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has detected {{$value | humanize}} reload failures over the last 3h.
 | 
				
			||||||
          {{$value | humanize}} reload failures over the last 3h.
 | 
					 | 
				
			||||||
        summary: Prometheus has issues reloading blocks from disk.
 | 
					        summary: Prometheus has issues reloading blocks from disk.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        increase(prometheus_tsdb_reloads_failures_total{job="prometheus-k8s",namespace="monitoring"}[3h]) > 0
 | 
					        increase(prometheus_tsdb_reloads_failures_total{job="prometheus-k8s",namespace="monitoring"}[3h]) > 0
 | 
				
			||||||
@ -1648,8 +1579,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusTSDBCompactionsFailing
 | 
					    - alert: PrometheusTSDBCompactionsFailing
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has detected
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has detected {{$value | humanize}} compaction failures over the last 3h.
 | 
				
			||||||
          {{$value | humanize}} compaction failures over the last 3h.
 | 
					 | 
				
			||||||
        summary: Prometheus has issues compacting blocks.
 | 
					        summary: Prometheus has issues compacting blocks.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        increase(prometheus_tsdb_compactions_failed_total{job="prometheus-k8s",namespace="monitoring"}[3h]) > 0
 | 
					        increase(prometheus_tsdb_compactions_failed_total{job="prometheus-k8s",namespace="monitoring"}[3h]) > 0
 | 
				
			||||||
@ -1658,8 +1588,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusNotIngestingSamples
 | 
					    - alert: PrometheusNotIngestingSamples
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not ingesting
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is not ingesting samples.
 | 
				
			||||||
          samples.
 | 
					 | 
				
			||||||
        summary: Prometheus is not ingesting samples.
 | 
					        summary: Prometheus is not ingesting samples.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        rate(prometheus_tsdb_head_samples_appended_total{job="prometheus-k8s",namespace="monitoring"}[5m]) <= 0
 | 
					        rate(prometheus_tsdb_head_samples_appended_total{job="prometheus-k8s",namespace="monitoring"}[5m]) <= 0
 | 
				
			||||||
@ -1668,9 +1597,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusDuplicateTimestamps
 | 
					    - alert: PrometheusDuplicateTimestamps
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is dropping
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is dropping {{ printf "%.4g" $value  }} samples/s with different values but duplicated timestamp.
 | 
				
			||||||
          {{ printf "%.4g" $value  }} samples/s with different values but duplicated
 | 
					 | 
				
			||||||
          timestamp.
 | 
					 | 
				
			||||||
        summary: Prometheus is dropping samples with duplicate timestamps.
 | 
					        summary: Prometheus is dropping samples with duplicate timestamps.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        rate(prometheus_target_scrapes_sample_duplicate_timestamp_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
					        rate(prometheus_target_scrapes_sample_duplicate_timestamp_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
				
			||||||
@ -1679,8 +1606,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusOutOfOrderTimestamps
 | 
					    - alert: PrometheusOutOfOrderTimestamps
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is dropping
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} is dropping {{ printf "%.4g" $value  }} samples/s with timestamps arriving out of order.
 | 
				
			||||||
          {{ printf "%.4g" $value  }} samples/s with timestamps arriving out of order.
 | 
					 | 
				
			||||||
        summary: Prometheus drops samples with out-of-order timestamps.
 | 
					        summary: Prometheus drops samples with out-of-order timestamps.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        rate(prometheus_target_scrapes_sample_out_of_order_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
					        rate(prometheus_target_scrapes_sample_out_of_order_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
				
			||||||
@ -1689,9 +1615,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusRemoteStorageFailures
 | 
					    - alert: PrometheusRemoteStorageFailures
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} failed to send
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} failed to send {{ printf "%.1f" $value }}% of the samples to {{ $labels.remote_name}}:{{ $labels.url }}
 | 
				
			||||||
          {{ printf "%.1f" $value }}% of the samples to {{ $labels.remote_name}}:{{
 | 
					 | 
				
			||||||
          $labels.url }}
 | 
					 | 
				
			||||||
        summary: Prometheus fails to send samples to remote storage.
 | 
					        summary: Prometheus fails to send samples to remote storage.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
@ -1710,9 +1634,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: PrometheusRemoteWriteBehind
 | 
					    - alert: PrometheusRemoteWriteBehind
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} remote write
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} remote write is {{ printf "%.1f" $value }}s behind for {{ $labels.remote_name}}:{{ $labels.url }}.
 | 
				
			||||||
          is {{ printf "%.1f" $value }}s behind for {{ $labels.remote_name}}:{{ $labels.url
 | 
					 | 
				
			||||||
          }}.
 | 
					 | 
				
			||||||
        summary: Prometheus remote write is behind.
 | 
					        summary: Prometheus remote write is behind.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        # Without max_over_time, failed scrapes could create false negatives, see
 | 
					        # Without max_over_time, failed scrapes could create false negatives, see
 | 
				
			||||||
@ -1728,13 +1650,8 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: PrometheusRemoteWriteDesiredShards
 | 
					    - alert: PrometheusRemoteWriteDesiredShards
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} remote write
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} remote write desired shards calculation wants to run {{ $value }} shards for queue {{ $labels.remote_name}}:{{ $labels.url }}, which is more than the max of {{ printf `prometheus_remote_storage_shards_max{instance="%s",job="prometheus-k8s",namespace="monitoring"}` $labels.instance | query | first | value }}.
 | 
				
			||||||
          desired shards calculation wants to run {{ $value }} shards for queue {{
 | 
					        summary: Prometheus remote write desired shards calculation wants to run more than configured max shards.
 | 
				
			||||||
          $labels.remote_name}}:{{ $labels.url }}, which is more than the max of {{
 | 
					 | 
				
			||||||
          printf `prometheus_remote_storage_shards_max{instance="%s",job="prometheus-k8s",namespace="monitoring"}`
 | 
					 | 
				
			||||||
          $labels.instance | query | first | value }}.
 | 
					 | 
				
			||||||
        summary: Prometheus remote write desired shards calculation wants to run more
 | 
					 | 
				
			||||||
          than configured max shards.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        # Without max_over_time, failed scrapes could create false negatives, see
 | 
					        # Without max_over_time, failed scrapes could create false negatives, see
 | 
				
			||||||
        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
 | 
					        # https://www.robustperception.io/alerting-on-gauges-in-prometheus-2-0 for details.
 | 
				
			||||||
@ -1748,8 +1665,7 @@ spec:
 | 
				
			|||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
    - alert: PrometheusRuleFailures
 | 
					    - alert: PrometheusRuleFailures
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has failed to
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has failed to evaluate {{ printf "%.0f" $value }} rules in the last 5m.
 | 
				
			||||||
          evaluate {{ printf "%.0f" $value }} rules in the last 5m.
 | 
					 | 
				
			||||||
        summary: Prometheus is failing rule evaluations.
 | 
					        summary: Prometheus is failing rule evaluations.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        increase(prometheus_rule_evaluation_failures_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
					        increase(prometheus_rule_evaluation_failures_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
				
			||||||
@ -1758,8 +1674,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: PrometheusMissingRuleEvaluations
 | 
					    - alert: PrometheusMissingRuleEvaluations
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has missed {{
 | 
					        description: Prometheus {{$labels.namespace}}/{{$labels.pod}} has missed {{ printf "%.0f" $value }} rule group evaluations in the last 5m.
 | 
				
			||||||
          printf "%.0f" $value }} rule group evaluations in the last 5m.
 | 
					 | 
				
			||||||
        summary: Prometheus is missing rule evaluations due to slow rule group evaluation.
 | 
					        summary: Prometheus is missing rule evaluations due to slow rule group evaluation.
 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        increase(prometheus_rule_group_iterations_missed_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
					        increase(prometheus_rule_group_iterations_missed_total{job="prometheus-k8s",namespace="monitoring"}[5m]) > 0
 | 
				
			||||||
@ -1770,8 +1685,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: AlertmanagerConfigInconsistent
 | 
					    - alert: AlertmanagerConfigInconsistent
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: The configuration of the instances of the Alertmanager cluster `{{$labels.service}}`
 | 
					        message: The configuration of the instances of the Alertmanager cluster `{{$labels.service}}` are out of sync.
 | 
				
			||||||
          are out of sync.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        count_values("config_hash", alertmanager_config_hash{job="alertmanager-main",namespace="monitoring"}) BY (service) / ON(service) GROUP_LEFT() label_replace(max(prometheus_operator_spec_replicas{job="prometheus-operator",namespace="monitoring",controller="alertmanager"}) by (name, job, namespace, controller), "service", "alertmanager-$1", "name", "(.*)") != 1
 | 
					        count_values("config_hash", alertmanager_config_hash{job="alertmanager-main",namespace="monitoring"}) BY (service) / ON(service) GROUP_LEFT() label_replace(max(prometheus_operator_spec_replicas{job="prometheus-operator",namespace="monitoring",controller="alertmanager"}) by (name, job, namespace, controller), "service", "alertmanager-$1", "name", "(.*)") != 1
 | 
				
			||||||
      for: 5m
 | 
					      for: 5m
 | 
				
			||||||
@ -1779,8 +1693,7 @@ spec:
 | 
				
			|||||||
        severity: critical
 | 
					        severity: critical
 | 
				
			||||||
    - alert: AlertmanagerFailedReload
 | 
					    - alert: AlertmanagerFailedReload
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Reloading Alertmanager's configuration has failed for {{ $labels.namespace
 | 
					        message: Reloading Alertmanager's configuration has failed for {{ $labels.namespace }}/{{ $labels.pod}}.
 | 
				
			||||||
          }}/{{ $labels.pod}}.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        alertmanager_config_last_reload_successful{job="alertmanager-main",namespace="monitoring"} == 0
 | 
					        alertmanager_config_last_reload_successful{job="alertmanager-main",namespace="monitoring"} == 0
 | 
				
			||||||
      for: 10m
 | 
					      for: 10m
 | 
				
			||||||
@ -1800,10 +1713,8 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: TargetDown
 | 
					    - alert: TargetDown
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: '{{ printf "%.4g" $value }}% of the {{ $labels.job }}/{{ $labels.service
 | 
					        message: '{{ printf "%.4g" $value }}% of the {{ $labels.job }}/{{ $labels.service }} targets in {{ $labels.namespace }} namespace are down.'
 | 
				
			||||||
          }} targets in {{ $labels.namespace }} namespace are down.'
 | 
					      expr: 100 * (count(up == 0) BY (job, namespace, service) / count(up) BY (job, namespace, service)) > 10
 | 
				
			||||||
      expr: 100 * (count(up == 0) BY (job, namespace, service) / count(up) BY (job,
 | 
					 | 
				
			||||||
        namespace, service)) > 10
 | 
					 | 
				
			||||||
      for: 10m
 | 
					      for: 10m
 | 
				
			||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        severity: warning
 | 
					        severity: warning
 | 
				
			||||||
@ -1822,8 +1733,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: NodeNetworkInterfaceFlapping
 | 
					    - alert: NodeNetworkInterfaceFlapping
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Network interface "{{ $labels.device }}" changing it's up status
 | 
					        message: Network interface "{{ $labels.device }}" changing it's up status often on node-exporter {{ $labels.namespace }}/{{ $labels.pod }}"
 | 
				
			||||||
          often on node-exporter {{ $labels.namespace }}/{{ $labels.pod }}"
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        changes(node_network_up{job="node-exporter",device!~"veth.+"}[2m]) > 2
 | 
					        changes(node_network_up{job="node-exporter",device!~"veth.+"}[2m]) > 2
 | 
				
			||||||
      for: 2m
 | 
					      for: 2m
 | 
				
			||||||
@ -1833,8 +1743,7 @@ spec:
 | 
				
			|||||||
    rules:
 | 
					    rules:
 | 
				
			||||||
    - alert: PrometheusOperatorReconcileErrors
 | 
					    - alert: PrometheusOperatorReconcileErrors
 | 
				
			||||||
      annotations:
 | 
					      annotations:
 | 
				
			||||||
        message: Errors while reconciling {{ $labels.controller }} in {{ $labels.namespace
 | 
					        message: Errors while reconciling {{ $labels.controller }} in {{ $labels.namespace }} Namespace.
 | 
				
			||||||
          }} Namespace.
 | 
					 | 
				
			||||||
      expr: |
 | 
					      expr: |
 | 
				
			||||||
        rate(prometheus_operator_reconcile_errors_total{job="prometheus-operator",namespace="monitoring"}[5m]) > 0.1
 | 
					        rate(prometheus_operator_reconcile_errors_total{job="prometheus-operator",namespace="monitoring"}[5m]) > 0.1
 | 
				
			||||||
      for: 10m
 | 
					      for: 10m
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,291 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
   "apiVersion": "apiextensions.k8s.io/v1",
 | 
					 | 
				
			||||||
   "kind": "CustomResourceDefinition",
 | 
					 | 
				
			||||||
   "metadata": {
 | 
					 | 
				
			||||||
      "annotations": {
 | 
					 | 
				
			||||||
         "controller-gen.kubebuilder.io/version": "v0.2.4"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "creationTimestamp": null,
 | 
					 | 
				
			||||||
      "name": "podmonitors.monitoring.coreos.com"
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "spec": {
 | 
					 | 
				
			||||||
      "group": "monitoring.coreos.com",
 | 
					 | 
				
			||||||
      "names": {
 | 
					 | 
				
			||||||
         "kind": "PodMonitor",
 | 
					 | 
				
			||||||
         "listKind": "PodMonitorList",
 | 
					 | 
				
			||||||
         "plural": "podmonitors",
 | 
					 | 
				
			||||||
         "singular": "podmonitor"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "scope": "Namespaced",
 | 
					 | 
				
			||||||
      "versions": [
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
            "name": "v1",
 | 
					 | 
				
			||||||
            "schema": {
 | 
					 | 
				
			||||||
               "openAPIV3Schema": {
 | 
					 | 
				
			||||||
                  "description": "PodMonitor defines monitoring for a set of pods.",
 | 
					 | 
				
			||||||
                  "properties": {
 | 
					 | 
				
			||||||
                     "apiVersion": {
 | 
					 | 
				
			||||||
                        "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "kind": {
 | 
					 | 
				
			||||||
                        "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "metadata": {
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "spec": {
 | 
					 | 
				
			||||||
                        "description": "Specification of desired Pod selection for target discovery by Prometheus.",
 | 
					 | 
				
			||||||
                        "properties": {
 | 
					 | 
				
			||||||
                           "jobLabel": {
 | 
					 | 
				
			||||||
                              "description": "The label to use to retrieve the job name from.",
 | 
					 | 
				
			||||||
                              "type": "string"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "namespaceSelector": {
 | 
					 | 
				
			||||||
                              "description": "Selector to select which namespaces the Endpoints objects are discovered from.",
 | 
					 | 
				
			||||||
                              "properties": {
 | 
					 | 
				
			||||||
                                 "any": {
 | 
					 | 
				
			||||||
                                    "description": "Boolean describing whether all namespaces are selected in contrast to a list restricting them.",
 | 
					 | 
				
			||||||
                                    "type": "boolean"
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "matchNames": {
 | 
					 | 
				
			||||||
                                    "description": "List of namespace names.",
 | 
					 | 
				
			||||||
                                    "items": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "type": "array"
 | 
					 | 
				
			||||||
                                 }
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "object"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "podMetricsEndpoints": {
 | 
					 | 
				
			||||||
                              "description": "A list of endpoints allowed as part of this PodMonitor.",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "description": "PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Prometheus metrics.",
 | 
					 | 
				
			||||||
                                 "properties": {
 | 
					 | 
				
			||||||
                                    "honorLabels": {
 | 
					 | 
				
			||||||
                                       "description": "HonorLabels chooses the metric's labels on collisions with target labels.",
 | 
					 | 
				
			||||||
                                       "type": "boolean"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "honorTimestamps": {
 | 
					 | 
				
			||||||
                                       "description": "HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.",
 | 
					 | 
				
			||||||
                                       "type": "boolean"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "interval": {
 | 
					 | 
				
			||||||
                                       "description": "Interval at which metrics should be scraped",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "metricRelabelings": {
 | 
					 | 
				
			||||||
                                       "description": "MetricRelabelConfigs to apply to samples before ingestion.",
 | 
					 | 
				
			||||||
                                       "items": {
 | 
					 | 
				
			||||||
                                          "description": "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs",
 | 
					 | 
				
			||||||
                                          "properties": {
 | 
					 | 
				
			||||||
                                             "action": {
 | 
					 | 
				
			||||||
                                                "description": "Action to perform based on regex matching. Default is 'replace'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "modulus": {
 | 
					 | 
				
			||||||
                                                "description": "Modulus to take of the hash of the source label values.",
 | 
					 | 
				
			||||||
                                                "format": "int64",
 | 
					 | 
				
			||||||
                                                "type": "integer"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "regex": {
 | 
					 | 
				
			||||||
                                                "description": "Regular expression against which the extracted value is matched. Default is '(.*)'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "replacement": {
 | 
					 | 
				
			||||||
                                                "description": "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "separator": {
 | 
					 | 
				
			||||||
                                                "description": "Separator placed between concatenated source label values. default is ';'.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "sourceLabels": {
 | 
					 | 
				
			||||||
                                                "description": "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.",
 | 
					 | 
				
			||||||
                                                "items": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "array"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "targetLabel": {
 | 
					 | 
				
			||||||
                                                "description": "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             }
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "object"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "array"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "params": {
 | 
					 | 
				
			||||||
                                       "additionalProperties": {
 | 
					 | 
				
			||||||
                                          "items": {
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "array"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "description": "Optional HTTP URL parameters",
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "path": {
 | 
					 | 
				
			||||||
                                       "description": "HTTP path to scrape for metrics.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "port": {
 | 
					 | 
				
			||||||
                                       "description": "Name of the pod port this endpoint refers to. Mutually exclusive with targetPort.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "proxyUrl": {
 | 
					 | 
				
			||||||
                                       "description": "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "relabelings": {
 | 
					 | 
				
			||||||
                                       "description": "RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config",
 | 
					 | 
				
			||||||
                                       "items": {
 | 
					 | 
				
			||||||
                                          "description": "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs",
 | 
					 | 
				
			||||||
                                          "properties": {
 | 
					 | 
				
			||||||
                                             "action": {
 | 
					 | 
				
			||||||
                                                "description": "Action to perform based on regex matching. Default is 'replace'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "modulus": {
 | 
					 | 
				
			||||||
                                                "description": "Modulus to take of the hash of the source label values.",
 | 
					 | 
				
			||||||
                                                "format": "int64",
 | 
					 | 
				
			||||||
                                                "type": "integer"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "regex": {
 | 
					 | 
				
			||||||
                                                "description": "Regular expression against which the extracted value is matched. Default is '(.*)'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "replacement": {
 | 
					 | 
				
			||||||
                                                "description": "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "separator": {
 | 
					 | 
				
			||||||
                                                "description": "Separator placed between concatenated source label values. default is ';'.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "sourceLabels": {
 | 
					 | 
				
			||||||
                                                "description": "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.",
 | 
					 | 
				
			||||||
                                                "items": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "array"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "targetLabel": {
 | 
					 | 
				
			||||||
                                                "description": "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             }
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "object"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "array"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "scheme": {
 | 
					 | 
				
			||||||
                                       "description": "HTTP scheme to use for scraping.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "scrapeTimeout": {
 | 
					 | 
				
			||||||
                                       "description": "Timeout after which the scrape is ended",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "targetPort": {
 | 
					 | 
				
			||||||
                                       "anyOf": [
 | 
					 | 
				
			||||||
                                          {
 | 
					 | 
				
			||||||
                                             "type": "integer"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          {
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       ],
 | 
					 | 
				
			||||||
                                       "description": "Deprecated: Use 'port' instead.",
 | 
					 | 
				
			||||||
                                       "x-kubernetes-int-or-string": true
 | 
					 | 
				
			||||||
                                    }
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "type": "object"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "podTargetLabels": {
 | 
					 | 
				
			||||||
                              "description": "PodTargetLabels transfers labels on the Kubernetes Pod onto the target.",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "type": "string"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "sampleLimit": {
 | 
					 | 
				
			||||||
                              "description": "SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.",
 | 
					 | 
				
			||||||
                              "format": "int64",
 | 
					 | 
				
			||||||
                              "type": "integer"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "selector": {
 | 
					 | 
				
			||||||
                              "description": "Selector to select Pod objects.",
 | 
					 | 
				
			||||||
                              "properties": {
 | 
					 | 
				
			||||||
                                 "matchExpressions": {
 | 
					 | 
				
			||||||
                                    "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
 | 
					 | 
				
			||||||
                                    "items": {
 | 
					 | 
				
			||||||
                                       "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
 | 
					 | 
				
			||||||
                                       "properties": {
 | 
					 | 
				
			||||||
                                          "key": {
 | 
					 | 
				
			||||||
                                             "description": "key is the label key that the selector applies to.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "operator": {
 | 
					 | 
				
			||||||
                                             "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "values": {
 | 
					 | 
				
			||||||
                                             "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
 | 
					 | 
				
			||||||
                                             "items": {
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "type": "array"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "required": [
 | 
					 | 
				
			||||||
                                          "key",
 | 
					 | 
				
			||||||
                                          "operator"
 | 
					 | 
				
			||||||
                                       ],
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "type": "array"
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "matchLabels": {
 | 
					 | 
				
			||||||
                                    "additionalProperties": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
 | 
					 | 
				
			||||||
                                    "type": "object"
 | 
					 | 
				
			||||||
                                 }
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "object"
 | 
					 | 
				
			||||||
                           }
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        "required": [
 | 
					 | 
				
			||||||
                           "podMetricsEndpoints",
 | 
					 | 
				
			||||||
                           "selector"
 | 
					 | 
				
			||||||
                        ],
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     }
 | 
					 | 
				
			||||||
                  },
 | 
					 | 
				
			||||||
                  "required": [
 | 
					 | 
				
			||||||
                     "spec"
 | 
					 | 
				
			||||||
                  ],
 | 
					 | 
				
			||||||
                  "type": "object"
 | 
					 | 
				
			||||||
               }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            "served": true,
 | 
					 | 
				
			||||||
            "storage": true
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "status": {
 | 
					 | 
				
			||||||
      "acceptedNames": {
 | 
					 | 
				
			||||||
         "kind": "",
 | 
					 | 
				
			||||||
         "plural": ""
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "conditions": [ ],
 | 
					 | 
				
			||||||
      "storedVersions": [ ]
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -20,31 +20,24 @@ spec:
 | 
				
			|||||||
        description: PodMonitor defines monitoring for a set of pods.
 | 
					        description: PodMonitor defines monitoring for a set of pods.
 | 
				
			||||||
        properties:
 | 
					        properties:
 | 
				
			||||||
          apiVersion:
 | 
					          apiVersion:
 | 
				
			||||||
            description: 'APIVersion defines the versioned schema of this representation
 | 
					            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
				
			||||||
              of an object. Servers should convert recognized schemas to the latest
 | 
					 | 
				
			||||||
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          kind:
 | 
					          kind:
 | 
				
			||||||
            description: 'Kind is a string value representing the REST resource this
 | 
					            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
				
			||||||
              object represents. Servers may infer this from the endpoint the client
 | 
					 | 
				
			||||||
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          metadata:
 | 
					          metadata:
 | 
				
			||||||
            type: object
 | 
					            type: object
 | 
				
			||||||
          spec:
 | 
					          spec:
 | 
				
			||||||
            description: Specification of desired Pod selection for target discovery
 | 
					            description: Specification of desired Pod selection for target discovery by Prometheus.
 | 
				
			||||||
              by Prometheus.
 | 
					 | 
				
			||||||
            properties:
 | 
					            properties:
 | 
				
			||||||
              jobLabel:
 | 
					              jobLabel:
 | 
				
			||||||
                description: The label to use to retrieve the job name from.
 | 
					                description: The label to use to retrieve the job name from.
 | 
				
			||||||
                type: string
 | 
					                type: string
 | 
				
			||||||
              namespaceSelector:
 | 
					              namespaceSelector:
 | 
				
			||||||
                description: Selector to select which namespaces the Endpoints objects
 | 
					                description: Selector to select which namespaces the Endpoints objects are discovered from.
 | 
				
			||||||
                  are discovered from.
 | 
					 | 
				
			||||||
                properties:
 | 
					                properties:
 | 
				
			||||||
                  any:
 | 
					                  any:
 | 
				
			||||||
                    description: Boolean describing whether all namespaces are selected
 | 
					                    description: Boolean describing whether all namespaces are selected in contrast to a list restricting them.
 | 
				
			||||||
                      in contrast to a list restricting them.
 | 
					 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
                  matchNames:
 | 
					                  matchNames:
 | 
				
			||||||
                    description: List of namespace names.
 | 
					                    description: List of namespace names.
 | 
				
			||||||
@ -55,63 +48,45 @@ spec:
 | 
				
			|||||||
              podMetricsEndpoints:
 | 
					              podMetricsEndpoints:
 | 
				
			||||||
                description: A list of endpoints allowed as part of this PodMonitor.
 | 
					                description: A list of endpoints allowed as part of this PodMonitor.
 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  description: PodMetricsEndpoint defines a scrapeable endpoint of
 | 
					                  description: PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Prometheus metrics.
 | 
				
			||||||
                    a Kubernetes Pod serving Prometheus metrics.
 | 
					 | 
				
			||||||
                  properties:
 | 
					                  properties:
 | 
				
			||||||
                    honorLabels:
 | 
					                    honorLabels:
 | 
				
			||||||
                      description: HonorLabels chooses the metric's labels on collisions
 | 
					                      description: HonorLabels chooses the metric's labels on collisions with target labels.
 | 
				
			||||||
                        with target labels.
 | 
					 | 
				
			||||||
                      type: boolean
 | 
					                      type: boolean
 | 
				
			||||||
                    honorTimestamps:
 | 
					                    honorTimestamps:
 | 
				
			||||||
                      description: HonorTimestamps controls whether Prometheus respects
 | 
					                      description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
 | 
				
			||||||
                        the timestamps present in scraped data.
 | 
					 | 
				
			||||||
                      type: boolean
 | 
					                      type: boolean
 | 
				
			||||||
                    interval:
 | 
					                    interval:
 | 
				
			||||||
                      description: Interval at which metrics should be scraped
 | 
					                      description: Interval at which metrics should be scraped
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    metricRelabelings:
 | 
					                    metricRelabelings:
 | 
				
			||||||
                      description: MetricRelabelConfigs to apply to samples before
 | 
					                      description: MetricRelabelConfigs to apply to samples before ingestion.
 | 
				
			||||||
                        ingestion.
 | 
					 | 
				
			||||||
                      items:
 | 
					                      items:
 | 
				
			||||||
                        description: 'RelabelConfig allows dynamic rewriting of the
 | 
					                        description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
				
			||||||
                          label set, being applied to samples before ingestion. It
 | 
					 | 
				
			||||||
                          defines `<metric_relabel_configs>`-section of Prometheus
 | 
					 | 
				
			||||||
                          configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
					 | 
				
			||||||
                        properties:
 | 
					                        properties:
 | 
				
			||||||
                          action:
 | 
					                          action:
 | 
				
			||||||
                            description: Action to perform based on regex matching.
 | 
					                            description: Action to perform based on regex matching. Default is 'replace'
 | 
				
			||||||
                              Default is 'replace'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          modulus:
 | 
					                          modulus:
 | 
				
			||||||
                            description: Modulus to take of the hash of the source
 | 
					                            description: Modulus to take of the hash of the source label values.
 | 
				
			||||||
                              label values.
 | 
					 | 
				
			||||||
                            format: int64
 | 
					                            format: int64
 | 
				
			||||||
                            type: integer
 | 
					                            type: integer
 | 
				
			||||||
                          regex:
 | 
					                          regex:
 | 
				
			||||||
                            description: Regular expression against which the extracted
 | 
					                            description: Regular expression against which the extracted value is matched. Default is '(.*)'
 | 
				
			||||||
                              value is matched. Default is '(.*)'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          replacement:
 | 
					                          replacement:
 | 
				
			||||||
                            description: Replacement value against which a regex replace
 | 
					                            description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
 | 
				
			||||||
                              is performed if the regular expression matches. Regex
 | 
					 | 
				
			||||||
                              capture groups are available. Default is '$1'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          separator:
 | 
					                          separator:
 | 
				
			||||||
                            description: Separator placed between concatenated source
 | 
					                            description: Separator placed between concatenated source label values. default is ';'.
 | 
				
			||||||
                              label values. default is ';'.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          sourceLabels:
 | 
					                          sourceLabels:
 | 
				
			||||||
                            description: The source labels select values from existing
 | 
					                            description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
 | 
				
			||||||
                              labels. Their content is concatenated using the configured
 | 
					 | 
				
			||||||
                              separator and matched against the configured regular
 | 
					 | 
				
			||||||
                              expression for the replace, keep, and drop actions.
 | 
					 | 
				
			||||||
                            items:
 | 
					                            items:
 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
                          targetLabel:
 | 
					                          targetLabel:
 | 
				
			||||||
                            description: Label to which the resulting value is written
 | 
					                            description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
 | 
				
			||||||
                              in a replace action. It is mandatory for replace actions.
 | 
					 | 
				
			||||||
                              Regex capture groups are available.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
                      type: array
 | 
					                      type: array
 | 
				
			||||||
@ -126,56 +101,39 @@ spec:
 | 
				
			|||||||
                      description: HTTP path to scrape for metrics.
 | 
					                      description: HTTP path to scrape for metrics.
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    port:
 | 
					                    port:
 | 
				
			||||||
                      description: Name of the pod port this endpoint refers to. Mutually
 | 
					                      description: Name of the pod port this endpoint refers to. Mutually exclusive with targetPort.
 | 
				
			||||||
                        exclusive with targetPort.
 | 
					 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    proxyUrl:
 | 
					                    proxyUrl:
 | 
				
			||||||
                      description: ProxyURL eg http://proxyserver:2195 Directs scrapes
 | 
					                      description: ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
 | 
				
			||||||
                        to proxy through this endpoint.
 | 
					 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    relabelings:
 | 
					                    relabelings:
 | 
				
			||||||
                      description: 'RelabelConfigs to apply to samples before ingestion.
 | 
					                      description: 'RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
 | 
				
			||||||
                        More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
 | 
					 | 
				
			||||||
                      items:
 | 
					                      items:
 | 
				
			||||||
                        description: 'RelabelConfig allows dynamic rewriting of the
 | 
					                        description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
				
			||||||
                          label set, being applied to samples before ingestion. It
 | 
					 | 
				
			||||||
                          defines `<metric_relabel_configs>`-section of Prometheus
 | 
					 | 
				
			||||||
                          configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
					 | 
				
			||||||
                        properties:
 | 
					                        properties:
 | 
				
			||||||
                          action:
 | 
					                          action:
 | 
				
			||||||
                            description: Action to perform based on regex matching.
 | 
					                            description: Action to perform based on regex matching. Default is 'replace'
 | 
				
			||||||
                              Default is 'replace'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          modulus:
 | 
					                          modulus:
 | 
				
			||||||
                            description: Modulus to take of the hash of the source
 | 
					                            description: Modulus to take of the hash of the source label values.
 | 
				
			||||||
                              label values.
 | 
					 | 
				
			||||||
                            format: int64
 | 
					                            format: int64
 | 
				
			||||||
                            type: integer
 | 
					                            type: integer
 | 
				
			||||||
                          regex:
 | 
					                          regex:
 | 
				
			||||||
                            description: Regular expression against which the extracted
 | 
					                            description: Regular expression against which the extracted value is matched. Default is '(.*)'
 | 
				
			||||||
                              value is matched. Default is '(.*)'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          replacement:
 | 
					                          replacement:
 | 
				
			||||||
                            description: Replacement value against which a regex replace
 | 
					                            description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
 | 
				
			||||||
                              is performed if the regular expression matches. Regex
 | 
					 | 
				
			||||||
                              capture groups are available. Default is '$1'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          separator:
 | 
					                          separator:
 | 
				
			||||||
                            description: Separator placed between concatenated source
 | 
					                            description: Separator placed between concatenated source label values. default is ';'.
 | 
				
			||||||
                              label values. default is ';'.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          sourceLabels:
 | 
					                          sourceLabels:
 | 
				
			||||||
                            description: The source labels select values from existing
 | 
					                            description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
 | 
				
			||||||
                              labels. Their content is concatenated using the configured
 | 
					 | 
				
			||||||
                              separator and matched against the configured regular
 | 
					 | 
				
			||||||
                              expression for the replace, keep, and drop actions.
 | 
					 | 
				
			||||||
                            items:
 | 
					                            items:
 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
                          targetLabel:
 | 
					                          targetLabel:
 | 
				
			||||||
                            description: Label to which the resulting value is written
 | 
					                            description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
 | 
				
			||||||
                              in a replace action. It is mandatory for replace actions.
 | 
					 | 
				
			||||||
                              Regex capture groups are available.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
                      type: array
 | 
					                      type: array
 | 
				
			||||||
@ -194,42 +152,30 @@ spec:
 | 
				
			|||||||
                  type: object
 | 
					                  type: object
 | 
				
			||||||
                type: array
 | 
					                type: array
 | 
				
			||||||
              podTargetLabels:
 | 
					              podTargetLabels:
 | 
				
			||||||
                description: PodTargetLabels transfers labels on the Kubernetes Pod
 | 
					                description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
 | 
				
			||||||
                  onto the target.
 | 
					 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  type: string
 | 
					                  type: string
 | 
				
			||||||
                type: array
 | 
					                type: array
 | 
				
			||||||
              sampleLimit:
 | 
					              sampleLimit:
 | 
				
			||||||
                description: SampleLimit defines per-scrape limit on number of scraped
 | 
					                description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
 | 
				
			||||||
                  samples that will be accepted.
 | 
					 | 
				
			||||||
                format: int64
 | 
					                format: int64
 | 
				
			||||||
                type: integer
 | 
					                type: integer
 | 
				
			||||||
              selector:
 | 
					              selector:
 | 
				
			||||||
                description: Selector to select Pod objects.
 | 
					                description: Selector to select Pod objects.
 | 
				
			||||||
                properties:
 | 
					                properties:
 | 
				
			||||||
                  matchExpressions:
 | 
					                  matchExpressions:
 | 
				
			||||||
                    description: matchExpressions is a list of label selector requirements.
 | 
					                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
 | 
				
			||||||
                      The requirements are ANDed.
 | 
					 | 
				
			||||||
                    items:
 | 
					                    items:
 | 
				
			||||||
                      description: A label selector requirement is a selector that
 | 
					                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
 | 
				
			||||||
                        contains values, a key, and an operator that relates the key
 | 
					 | 
				
			||||||
                        and values.
 | 
					 | 
				
			||||||
                      properties:
 | 
					                      properties:
 | 
				
			||||||
                        key:
 | 
					                        key:
 | 
				
			||||||
                          description: key is the label key that the selector applies
 | 
					                          description: key is the label key that the selector applies to.
 | 
				
			||||||
                            to.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        operator:
 | 
					                        operator:
 | 
				
			||||||
                          description: operator represents a key's relationship to
 | 
					                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
 | 
				
			||||||
                            a set of values. Valid operators are In, NotIn, Exists
 | 
					 | 
				
			||||||
                            and DoesNotExist.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        values:
 | 
					                        values:
 | 
				
			||||||
                          description: values is an array of string values. If the
 | 
					                          description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
 | 
				
			||||||
                            operator is In or NotIn, the values array must be non-empty.
 | 
					 | 
				
			||||||
                            If the operator is Exists or DoesNotExist, the values
 | 
					 | 
				
			||||||
                            array must be empty. This array is replaced during a strategic
 | 
					 | 
				
			||||||
                            merge patch.
 | 
					 | 
				
			||||||
                          items:
 | 
					                          items:
 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          type: array
 | 
					                          type: array
 | 
				
			||||||
@ -241,11 +187,7 @@ spec:
 | 
				
			|||||||
                  matchLabels:
 | 
					                  matchLabels:
 | 
				
			||||||
                    additionalProperties:
 | 
					                    additionalProperties:
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    description: matchLabels is a map of {key,value} pairs. A single
 | 
					                    description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
 | 
				
			||||||
                      {key,value} in the matchLabels map is equivalent to an element
 | 
					 | 
				
			||||||
                      of matchExpressions, whose key field is "key", the operator
 | 
					 | 
				
			||||||
                      is "In", and the values array contains only "value". The requirements
 | 
					 | 
				
			||||||
                      are ANDed.
 | 
					 | 
				
			||||||
                    type: object
 | 
					                    type: object
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
            required:
 | 
					            required:
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,131 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
   "apiVersion": "apiextensions.k8s.io/v1",
 | 
					 | 
				
			||||||
   "kind": "CustomResourceDefinition",
 | 
					 | 
				
			||||||
   "metadata": {
 | 
					 | 
				
			||||||
      "annotations": {
 | 
					 | 
				
			||||||
         "controller-gen.kubebuilder.io/version": "v0.2.4"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "creationTimestamp": null,
 | 
					 | 
				
			||||||
      "name": "prometheusrules.monitoring.coreos.com"
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "spec": {
 | 
					 | 
				
			||||||
      "group": "monitoring.coreos.com",
 | 
					 | 
				
			||||||
      "names": {
 | 
					 | 
				
			||||||
         "kind": "PrometheusRule",
 | 
					 | 
				
			||||||
         "listKind": "PrometheusRuleList",
 | 
					 | 
				
			||||||
         "plural": "prometheusrules",
 | 
					 | 
				
			||||||
         "singular": "prometheusrule"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "scope": "Namespaced",
 | 
					 | 
				
			||||||
      "versions": [
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
            "name": "v1",
 | 
					 | 
				
			||||||
            "schema": {
 | 
					 | 
				
			||||||
               "openAPIV3Schema": {
 | 
					 | 
				
			||||||
                  "description": "PrometheusRule defines alerting rules for a Prometheus instance",
 | 
					 | 
				
			||||||
                  "properties": {
 | 
					 | 
				
			||||||
                     "apiVersion": {
 | 
					 | 
				
			||||||
                        "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "kind": {
 | 
					 | 
				
			||||||
                        "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "metadata": {
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "spec": {
 | 
					 | 
				
			||||||
                        "description": "Specification of desired alerting rule definitions for Prometheus.",
 | 
					 | 
				
			||||||
                        "properties": {
 | 
					 | 
				
			||||||
                           "groups": {
 | 
					 | 
				
			||||||
                              "description": "Content of Prometheus rule file",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "description": "RuleGroup is a list of sequentially evaluated recording and alerting rules. Note: PartialResponseStrategy is only used by ThanosRuler and will be ignored by Prometheus instances.  Valid values for this field are 'warn' or 'abort'.  More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response",
 | 
					 | 
				
			||||||
                                 "properties": {
 | 
					 | 
				
			||||||
                                    "interval": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "name": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "partial_response_strategy": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "rules": {
 | 
					 | 
				
			||||||
                                       "items": {
 | 
					 | 
				
			||||||
                                          "description": "Rule describes an alerting or recording rule.",
 | 
					 | 
				
			||||||
                                          "properties": {
 | 
					 | 
				
			||||||
                                             "alert": {
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "annotations": {
 | 
					 | 
				
			||||||
                                                "additionalProperties": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "object"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "expr": {
 | 
					 | 
				
			||||||
                                                "anyOf": [
 | 
					 | 
				
			||||||
                                                   {
 | 
					 | 
				
			||||||
                                                      "type": "integer"
 | 
					 | 
				
			||||||
                                                   },
 | 
					 | 
				
			||||||
                                                   {
 | 
					 | 
				
			||||||
                                                      "type": "string"
 | 
					 | 
				
			||||||
                                                   }
 | 
					 | 
				
			||||||
                                                ],
 | 
					 | 
				
			||||||
                                                "x-kubernetes-int-or-string": true
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "for": {
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "labels": {
 | 
					 | 
				
			||||||
                                                "additionalProperties": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "object"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "record": {
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             }
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "required": [
 | 
					 | 
				
			||||||
                                             "expr"
 | 
					 | 
				
			||||||
                                          ],
 | 
					 | 
				
			||||||
                                          "type": "object"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "array"
 | 
					 | 
				
			||||||
                                    }
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "required": [
 | 
					 | 
				
			||||||
                                    "name",
 | 
					 | 
				
			||||||
                                    "rules"
 | 
					 | 
				
			||||||
                                 ],
 | 
					 | 
				
			||||||
                                 "type": "object"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           }
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     }
 | 
					 | 
				
			||||||
                  },
 | 
					 | 
				
			||||||
                  "required": [
 | 
					 | 
				
			||||||
                     "spec"
 | 
					 | 
				
			||||||
                  ],
 | 
					 | 
				
			||||||
                  "type": "object"
 | 
					 | 
				
			||||||
               }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            "served": true,
 | 
					 | 
				
			||||||
            "storage": true
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "status": {
 | 
					 | 
				
			||||||
      "acceptedNames": {
 | 
					 | 
				
			||||||
         "kind": "",
 | 
					 | 
				
			||||||
         "plural": ""
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "conditions": [ ],
 | 
					 | 
				
			||||||
      "storedVersions": [ ]
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -20,14 +20,10 @@ spec:
 | 
				
			|||||||
        description: PrometheusRule defines alerting rules for a Prometheus instance
 | 
					        description: PrometheusRule defines alerting rules for a Prometheus instance
 | 
				
			||||||
        properties:
 | 
					        properties:
 | 
				
			||||||
          apiVersion:
 | 
					          apiVersion:
 | 
				
			||||||
            description: 'APIVersion defines the versioned schema of this representation
 | 
					            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
				
			||||||
              of an object. Servers should convert recognized schemas to the latest
 | 
					 | 
				
			||||||
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          kind:
 | 
					          kind:
 | 
				
			||||||
            description: 'Kind is a string value representing the REST resource this
 | 
					            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
				
			||||||
              object represents. Servers may infer this from the endpoint the client
 | 
					 | 
				
			||||||
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          metadata:
 | 
					          metadata:
 | 
				
			||||||
            type: object
 | 
					            type: object
 | 
				
			||||||
@ -37,10 +33,7 @@ spec:
 | 
				
			|||||||
              groups:
 | 
					              groups:
 | 
				
			||||||
                description: Content of Prometheus rule file
 | 
					                description: Content of Prometheus rule file
 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  description: 'RuleGroup is a list of sequentially evaluated recording
 | 
					                  description: 'RuleGroup is a list of sequentially evaluated recording and alerting rules. Note: PartialResponseStrategy is only used by ThanosRuler and will be ignored by Prometheus instances.  Valid values for this field are ''warn'' or ''abort''.  More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
 | 
				
			||||||
                    and alerting rules. Note: PartialResponseStrategy is only used
 | 
					 | 
				
			||||||
                    by ThanosRuler and will be ignored by Prometheus instances.  Valid
 | 
					 | 
				
			||||||
                    values for this field are ''warn'' or ''abort''.  More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
 | 
					 | 
				
			||||||
                  properties:
 | 
					                  properties:
 | 
				
			||||||
                    interval:
 | 
					                    interval:
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
 | 
				
			|||||||
@ -1,514 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
   "apiVersion": "apiextensions.k8s.io/v1",
 | 
					 | 
				
			||||||
   "kind": "CustomResourceDefinition",
 | 
					 | 
				
			||||||
   "metadata": {
 | 
					 | 
				
			||||||
      "annotations": {
 | 
					 | 
				
			||||||
         "controller-gen.kubebuilder.io/version": "v0.2.4"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "creationTimestamp": null,
 | 
					 | 
				
			||||||
      "name": "servicemonitors.monitoring.coreos.com"
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "spec": {
 | 
					 | 
				
			||||||
      "group": "monitoring.coreos.com",
 | 
					 | 
				
			||||||
      "names": {
 | 
					 | 
				
			||||||
         "kind": "ServiceMonitor",
 | 
					 | 
				
			||||||
         "listKind": "ServiceMonitorList",
 | 
					 | 
				
			||||||
         "plural": "servicemonitors",
 | 
					 | 
				
			||||||
         "singular": "servicemonitor"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "scope": "Namespaced",
 | 
					 | 
				
			||||||
      "versions": [
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
            "name": "v1",
 | 
					 | 
				
			||||||
            "schema": {
 | 
					 | 
				
			||||||
               "openAPIV3Schema": {
 | 
					 | 
				
			||||||
                  "description": "ServiceMonitor defines monitoring for a set of services.",
 | 
					 | 
				
			||||||
                  "properties": {
 | 
					 | 
				
			||||||
                     "apiVersion": {
 | 
					 | 
				
			||||||
                        "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "kind": {
 | 
					 | 
				
			||||||
                        "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
 | 
					 | 
				
			||||||
                        "type": "string"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "metadata": {
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     },
 | 
					 | 
				
			||||||
                     "spec": {
 | 
					 | 
				
			||||||
                        "description": "Specification of desired Service selection for target discovery by Prometheus.",
 | 
					 | 
				
			||||||
                        "properties": {
 | 
					 | 
				
			||||||
                           "endpoints": {
 | 
					 | 
				
			||||||
                              "description": "A list of endpoints allowed as part of this ServiceMonitor.",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "description": "Endpoint defines a scrapeable endpoint serving Prometheus metrics.",
 | 
					 | 
				
			||||||
                                 "properties": {
 | 
					 | 
				
			||||||
                                    "basicAuth": {
 | 
					 | 
				
			||||||
                                       "description": "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints",
 | 
					 | 
				
			||||||
                                       "properties": {
 | 
					 | 
				
			||||||
                                          "password": {
 | 
					 | 
				
			||||||
                                             "description": "The secret in the service monitor namespace that contains the password for authentication.",
 | 
					 | 
				
			||||||
                                             "properties": {
 | 
					 | 
				
			||||||
                                                "key": {
 | 
					 | 
				
			||||||
                                                   "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "name": {
 | 
					 | 
				
			||||||
                                                   "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "optional": {
 | 
					 | 
				
			||||||
                                                   "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                                   "type": "boolean"
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "required": [
 | 
					 | 
				
			||||||
                                                "key"
 | 
					 | 
				
			||||||
                                             ],
 | 
					 | 
				
			||||||
                                             "type": "object"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "username": {
 | 
					 | 
				
			||||||
                                             "description": "The secret in the service monitor namespace that contains the username for authentication.",
 | 
					 | 
				
			||||||
                                             "properties": {
 | 
					 | 
				
			||||||
                                                "key": {
 | 
					 | 
				
			||||||
                                                   "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "name": {
 | 
					 | 
				
			||||||
                                                   "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "optional": {
 | 
					 | 
				
			||||||
                                                   "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                                   "type": "boolean"
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "required": [
 | 
					 | 
				
			||||||
                                                "key"
 | 
					 | 
				
			||||||
                                             ],
 | 
					 | 
				
			||||||
                                             "type": "object"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "bearerTokenFile": {
 | 
					 | 
				
			||||||
                                       "description": "File to read bearer token for scraping targets.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "bearerTokenSecret": {
 | 
					 | 
				
			||||||
                                       "description": "Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.",
 | 
					 | 
				
			||||||
                                       "properties": {
 | 
					 | 
				
			||||||
                                          "key": {
 | 
					 | 
				
			||||||
                                             "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "name": {
 | 
					 | 
				
			||||||
                                             "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "optional": {
 | 
					 | 
				
			||||||
                                             "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                             "type": "boolean"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "required": [
 | 
					 | 
				
			||||||
                                          "key"
 | 
					 | 
				
			||||||
                                       ],
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "honorLabels": {
 | 
					 | 
				
			||||||
                                       "description": "HonorLabels chooses the metric's labels on collisions with target labels.",
 | 
					 | 
				
			||||||
                                       "type": "boolean"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "honorTimestamps": {
 | 
					 | 
				
			||||||
                                       "description": "HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.",
 | 
					 | 
				
			||||||
                                       "type": "boolean"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "interval": {
 | 
					 | 
				
			||||||
                                       "description": "Interval at which metrics should be scraped",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "metricRelabelings": {
 | 
					 | 
				
			||||||
                                       "description": "MetricRelabelConfigs to apply to samples before ingestion.",
 | 
					 | 
				
			||||||
                                       "items": {
 | 
					 | 
				
			||||||
                                          "description": "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs",
 | 
					 | 
				
			||||||
                                          "properties": {
 | 
					 | 
				
			||||||
                                             "action": {
 | 
					 | 
				
			||||||
                                                "description": "Action to perform based on regex matching. Default is 'replace'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "modulus": {
 | 
					 | 
				
			||||||
                                                "description": "Modulus to take of the hash of the source label values.",
 | 
					 | 
				
			||||||
                                                "format": "int64",
 | 
					 | 
				
			||||||
                                                "type": "integer"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "regex": {
 | 
					 | 
				
			||||||
                                                "description": "Regular expression against which the extracted value is matched. Default is '(.*)'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "replacement": {
 | 
					 | 
				
			||||||
                                                "description": "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "separator": {
 | 
					 | 
				
			||||||
                                                "description": "Separator placed between concatenated source label values. default is ';'.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "sourceLabels": {
 | 
					 | 
				
			||||||
                                                "description": "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.",
 | 
					 | 
				
			||||||
                                                "items": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "array"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "targetLabel": {
 | 
					 | 
				
			||||||
                                                "description": "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             }
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "object"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "array"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "params": {
 | 
					 | 
				
			||||||
                                       "additionalProperties": {
 | 
					 | 
				
			||||||
                                          "items": {
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "array"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "description": "Optional HTTP URL parameters",
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "path": {
 | 
					 | 
				
			||||||
                                       "description": "HTTP path to scrape for metrics.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "port": {
 | 
					 | 
				
			||||||
                                       "description": "Name of the service port this endpoint refers to. Mutually exclusive with targetPort.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "proxyUrl": {
 | 
					 | 
				
			||||||
                                       "description": "ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "relabelings": {
 | 
					 | 
				
			||||||
                                       "description": "RelabelConfigs to apply to samples before scraping. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config",
 | 
					 | 
				
			||||||
                                       "items": {
 | 
					 | 
				
			||||||
                                          "description": "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs",
 | 
					 | 
				
			||||||
                                          "properties": {
 | 
					 | 
				
			||||||
                                             "action": {
 | 
					 | 
				
			||||||
                                                "description": "Action to perform based on regex matching. Default is 'replace'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "modulus": {
 | 
					 | 
				
			||||||
                                                "description": "Modulus to take of the hash of the source label values.",
 | 
					 | 
				
			||||||
                                                "format": "int64",
 | 
					 | 
				
			||||||
                                                "type": "integer"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "regex": {
 | 
					 | 
				
			||||||
                                                "description": "Regular expression against which the extracted value is matched. Default is '(.*)'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "replacement": {
 | 
					 | 
				
			||||||
                                                "description": "Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "separator": {
 | 
					 | 
				
			||||||
                                                "description": "Separator placed between concatenated source label values. default is ';'.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "sourceLabels": {
 | 
					 | 
				
			||||||
                                                "description": "The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.",
 | 
					 | 
				
			||||||
                                                "items": {
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "type": "array"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "targetLabel": {
 | 
					 | 
				
			||||||
                                                "description": "Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.",
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             }
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "type": "object"
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "array"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "scheme": {
 | 
					 | 
				
			||||||
                                       "description": "HTTP scheme to use for scraping.",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "scrapeTimeout": {
 | 
					 | 
				
			||||||
                                       "description": "Timeout after which the scrape is ended",
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "targetPort": {
 | 
					 | 
				
			||||||
                                       "anyOf": [
 | 
					 | 
				
			||||||
                                          {
 | 
					 | 
				
			||||||
                                             "type": "integer"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          {
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       ],
 | 
					 | 
				
			||||||
                                       "description": "Name or number of the pod port this endpoint refers to. Mutually exclusive with port.",
 | 
					 | 
				
			||||||
                                       "x-kubernetes-int-or-string": true
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "tlsConfig": {
 | 
					 | 
				
			||||||
                                       "description": "TLS configuration to use when scraping the endpoint",
 | 
					 | 
				
			||||||
                                       "properties": {
 | 
					 | 
				
			||||||
                                          "ca": {
 | 
					 | 
				
			||||||
                                             "description": "Stuct containing the CA cert to use for the targets.",
 | 
					 | 
				
			||||||
                                             "properties": {
 | 
					 | 
				
			||||||
                                                "configMap": {
 | 
					 | 
				
			||||||
                                                   "description": "ConfigMap containing data to use for the targets.",
 | 
					 | 
				
			||||||
                                                   "properties": {
 | 
					 | 
				
			||||||
                                                      "key": {
 | 
					 | 
				
			||||||
                                                         "description": "The key to select.",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "name": {
 | 
					 | 
				
			||||||
                                                         "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "optional": {
 | 
					 | 
				
			||||||
                                                         "description": "Specify whether the ConfigMap or its key must be defined",
 | 
					 | 
				
			||||||
                                                         "type": "boolean"
 | 
					 | 
				
			||||||
                                                      }
 | 
					 | 
				
			||||||
                                                   },
 | 
					 | 
				
			||||||
                                                   "required": [
 | 
					 | 
				
			||||||
                                                      "key"
 | 
					 | 
				
			||||||
                                                   ],
 | 
					 | 
				
			||||||
                                                   "type": "object"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "secret": {
 | 
					 | 
				
			||||||
                                                   "description": "Secret containing data to use for the targets.",
 | 
					 | 
				
			||||||
                                                   "properties": {
 | 
					 | 
				
			||||||
                                                      "key": {
 | 
					 | 
				
			||||||
                                                         "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "name": {
 | 
					 | 
				
			||||||
                                                         "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "optional": {
 | 
					 | 
				
			||||||
                                                         "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                                         "type": "boolean"
 | 
					 | 
				
			||||||
                                                      }
 | 
					 | 
				
			||||||
                                                   },
 | 
					 | 
				
			||||||
                                                   "required": [
 | 
					 | 
				
			||||||
                                                      "key"
 | 
					 | 
				
			||||||
                                                   ],
 | 
					 | 
				
			||||||
                                                   "type": "object"
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "type": "object"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "caFile": {
 | 
					 | 
				
			||||||
                                             "description": "Path to the CA cert in the Prometheus container to use for the targets.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "cert": {
 | 
					 | 
				
			||||||
                                             "description": "Struct containing the client cert file for the targets.",
 | 
					 | 
				
			||||||
                                             "properties": {
 | 
					 | 
				
			||||||
                                                "configMap": {
 | 
					 | 
				
			||||||
                                                   "description": "ConfigMap containing data to use for the targets.",
 | 
					 | 
				
			||||||
                                                   "properties": {
 | 
					 | 
				
			||||||
                                                      "key": {
 | 
					 | 
				
			||||||
                                                         "description": "The key to select.",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "name": {
 | 
					 | 
				
			||||||
                                                         "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "optional": {
 | 
					 | 
				
			||||||
                                                         "description": "Specify whether the ConfigMap or its key must be defined",
 | 
					 | 
				
			||||||
                                                         "type": "boolean"
 | 
					 | 
				
			||||||
                                                      }
 | 
					 | 
				
			||||||
                                                   },
 | 
					 | 
				
			||||||
                                                   "required": [
 | 
					 | 
				
			||||||
                                                      "key"
 | 
					 | 
				
			||||||
                                                   ],
 | 
					 | 
				
			||||||
                                                   "type": "object"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "secret": {
 | 
					 | 
				
			||||||
                                                   "description": "Secret containing data to use for the targets.",
 | 
					 | 
				
			||||||
                                                   "properties": {
 | 
					 | 
				
			||||||
                                                      "key": {
 | 
					 | 
				
			||||||
                                                         "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "name": {
 | 
					 | 
				
			||||||
                                                         "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                         "type": "string"
 | 
					 | 
				
			||||||
                                                      },
 | 
					 | 
				
			||||||
                                                      "optional": {
 | 
					 | 
				
			||||||
                                                         "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                                         "type": "boolean"
 | 
					 | 
				
			||||||
                                                      }
 | 
					 | 
				
			||||||
                                                   },
 | 
					 | 
				
			||||||
                                                   "required": [
 | 
					 | 
				
			||||||
                                                      "key"
 | 
					 | 
				
			||||||
                                                   ],
 | 
					 | 
				
			||||||
                                                   "type": "object"
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "type": "object"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "certFile": {
 | 
					 | 
				
			||||||
                                             "description": "Path to the client cert file in the Prometheus container for the targets.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "insecureSkipVerify": {
 | 
					 | 
				
			||||||
                                             "description": "Disable target certificate validation.",
 | 
					 | 
				
			||||||
                                             "type": "boolean"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "keyFile": {
 | 
					 | 
				
			||||||
                                             "description": "Path to the client key file in the Prometheus container for the targets.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "keySecret": {
 | 
					 | 
				
			||||||
                                             "description": "Secret containing the client key file for the targets.",
 | 
					 | 
				
			||||||
                                             "properties": {
 | 
					 | 
				
			||||||
                                                "key": {
 | 
					 | 
				
			||||||
                                                   "description": "The key of the secret to select from.  Must be a valid secret key.",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "name": {
 | 
					 | 
				
			||||||
                                                   "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
 | 
					 | 
				
			||||||
                                                   "type": "string"
 | 
					 | 
				
			||||||
                                                },
 | 
					 | 
				
			||||||
                                                "optional": {
 | 
					 | 
				
			||||||
                                                   "description": "Specify whether the Secret or its key must be defined",
 | 
					 | 
				
			||||||
                                                   "type": "boolean"
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "required": [
 | 
					 | 
				
			||||||
                                                "key"
 | 
					 | 
				
			||||||
                                             ],
 | 
					 | 
				
			||||||
                                             "type": "object"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "serverName": {
 | 
					 | 
				
			||||||
                                             "description": "Used to verify the hostname for the targets.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    }
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "type": "object"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "jobLabel": {
 | 
					 | 
				
			||||||
                              "description": "The label to use to retrieve the job name from.",
 | 
					 | 
				
			||||||
                              "type": "string"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "namespaceSelector": {
 | 
					 | 
				
			||||||
                              "description": "Selector to select which namespaces the Endpoints objects are discovered from.",
 | 
					 | 
				
			||||||
                              "properties": {
 | 
					 | 
				
			||||||
                                 "any": {
 | 
					 | 
				
			||||||
                                    "description": "Boolean describing whether all namespaces are selected in contrast to a list restricting them.",
 | 
					 | 
				
			||||||
                                    "type": "boolean"
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "matchNames": {
 | 
					 | 
				
			||||||
                                    "description": "List of namespace names.",
 | 
					 | 
				
			||||||
                                    "items": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "type": "array"
 | 
					 | 
				
			||||||
                                 }
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "object"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "podTargetLabels": {
 | 
					 | 
				
			||||||
                              "description": "PodTargetLabels transfers labels on the Kubernetes Pod onto the target.",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "type": "string"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "sampleLimit": {
 | 
					 | 
				
			||||||
                              "description": "SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.",
 | 
					 | 
				
			||||||
                              "format": "int64",
 | 
					 | 
				
			||||||
                              "type": "integer"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "selector": {
 | 
					 | 
				
			||||||
                              "description": "Selector to select Endpoints objects.",
 | 
					 | 
				
			||||||
                              "properties": {
 | 
					 | 
				
			||||||
                                 "matchExpressions": {
 | 
					 | 
				
			||||||
                                    "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
 | 
					 | 
				
			||||||
                                    "items": {
 | 
					 | 
				
			||||||
                                       "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
 | 
					 | 
				
			||||||
                                       "properties": {
 | 
					 | 
				
			||||||
                                          "key": {
 | 
					 | 
				
			||||||
                                             "description": "key is the label key that the selector applies to.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "operator": {
 | 
					 | 
				
			||||||
                                             "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
 | 
					 | 
				
			||||||
                                             "type": "string"
 | 
					 | 
				
			||||||
                                          },
 | 
					 | 
				
			||||||
                                          "values": {
 | 
					 | 
				
			||||||
                                             "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
 | 
					 | 
				
			||||||
                                             "items": {
 | 
					 | 
				
			||||||
                                                "type": "string"
 | 
					 | 
				
			||||||
                                             },
 | 
					 | 
				
			||||||
                                             "type": "array"
 | 
					 | 
				
			||||||
                                          }
 | 
					 | 
				
			||||||
                                       },
 | 
					 | 
				
			||||||
                                       "required": [
 | 
					 | 
				
			||||||
                                          "key",
 | 
					 | 
				
			||||||
                                          "operator"
 | 
					 | 
				
			||||||
                                       ],
 | 
					 | 
				
			||||||
                                       "type": "object"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "type": "array"
 | 
					 | 
				
			||||||
                                 },
 | 
					 | 
				
			||||||
                                 "matchLabels": {
 | 
					 | 
				
			||||||
                                    "additionalProperties": {
 | 
					 | 
				
			||||||
                                       "type": "string"
 | 
					 | 
				
			||||||
                                    },
 | 
					 | 
				
			||||||
                                    "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
 | 
					 | 
				
			||||||
                                    "type": "object"
 | 
					 | 
				
			||||||
                                 }
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "object"
 | 
					 | 
				
			||||||
                           },
 | 
					 | 
				
			||||||
                           "targetLabels": {
 | 
					 | 
				
			||||||
                              "description": "TargetLabels transfers labels on the Kubernetes Service onto the target.",
 | 
					 | 
				
			||||||
                              "items": {
 | 
					 | 
				
			||||||
                                 "type": "string"
 | 
					 | 
				
			||||||
                              },
 | 
					 | 
				
			||||||
                              "type": "array"
 | 
					 | 
				
			||||||
                           }
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        "required": [
 | 
					 | 
				
			||||||
                           "endpoints",
 | 
					 | 
				
			||||||
                           "selector"
 | 
					 | 
				
			||||||
                        ],
 | 
					 | 
				
			||||||
                        "type": "object"
 | 
					 | 
				
			||||||
                     }
 | 
					 | 
				
			||||||
                  },
 | 
					 | 
				
			||||||
                  "required": [
 | 
					 | 
				
			||||||
                     "spec"
 | 
					 | 
				
			||||||
                  ],
 | 
					 | 
				
			||||||
                  "type": "object"
 | 
					 | 
				
			||||||
               }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            "served": true,
 | 
					 | 
				
			||||||
            "storage": true
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
      ]
 | 
					 | 
				
			||||||
   },
 | 
					 | 
				
			||||||
   "status": {
 | 
					 | 
				
			||||||
      "acceptedNames": {
 | 
					 | 
				
			||||||
         "kind": "",
 | 
					 | 
				
			||||||
         "plural": ""
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "conditions": [ ],
 | 
					 | 
				
			||||||
      "storedVersions": [ ]
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -20,65 +20,50 @@ spec:
 | 
				
			|||||||
        description: ServiceMonitor defines monitoring for a set of services.
 | 
					        description: ServiceMonitor defines monitoring for a set of services.
 | 
				
			||||||
        properties:
 | 
					        properties:
 | 
				
			||||||
          apiVersion:
 | 
					          apiVersion:
 | 
				
			||||||
            description: 'APIVersion defines the versioned schema of this representation
 | 
					            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
				
			||||||
              of an object. Servers should convert recognized schemas to the latest
 | 
					 | 
				
			||||||
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          kind:
 | 
					          kind:
 | 
				
			||||||
            description: 'Kind is a string value representing the REST resource this
 | 
					            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
				
			||||||
              object represents. Servers may infer this from the endpoint the client
 | 
					 | 
				
			||||||
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
 | 
					 | 
				
			||||||
            type: string
 | 
					            type: string
 | 
				
			||||||
          metadata:
 | 
					          metadata:
 | 
				
			||||||
            type: object
 | 
					            type: object
 | 
				
			||||||
          spec:
 | 
					          spec:
 | 
				
			||||||
            description: Specification of desired Service selection for target discovery
 | 
					            description: Specification of desired Service selection for target discovery by Prometheus.
 | 
				
			||||||
              by Prometheus.
 | 
					 | 
				
			||||||
            properties:
 | 
					            properties:
 | 
				
			||||||
              endpoints:
 | 
					              endpoints:
 | 
				
			||||||
                description: A list of endpoints allowed as part of this ServiceMonitor.
 | 
					                description: A list of endpoints allowed as part of this ServiceMonitor.
 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  description: Endpoint defines a scrapeable endpoint serving Prometheus
 | 
					                  description: Endpoint defines a scrapeable endpoint serving Prometheus metrics.
 | 
				
			||||||
                    metrics.
 | 
					 | 
				
			||||||
                  properties:
 | 
					                  properties:
 | 
				
			||||||
                    basicAuth:
 | 
					                    basicAuth:
 | 
				
			||||||
                      description: 'BasicAuth allow an endpoint to authenticate over
 | 
					                      description: 'BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
 | 
				
			||||||
                        basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
 | 
					 | 
				
			||||||
                      properties:
 | 
					                      properties:
 | 
				
			||||||
                        password:
 | 
					                        password:
 | 
				
			||||||
                          description: The secret in the service monitor namespace
 | 
					                          description: The secret in the service monitor namespace that contains the password for authentication.
 | 
				
			||||||
                            that contains the password for authentication.
 | 
					 | 
				
			||||||
                          properties:
 | 
					                          properties:
 | 
				
			||||||
                            key:
 | 
					                            key:
 | 
				
			||||||
                              description: The key of the secret to select from.  Must
 | 
					                              description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                                be a valid secret key.
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            name:
 | 
					                            name:
 | 
				
			||||||
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            optional:
 | 
					                            optional:
 | 
				
			||||||
                              description: Specify whether the Secret or its key must
 | 
					                              description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                                be defined
 | 
					 | 
				
			||||||
                              type: boolean
 | 
					                              type: boolean
 | 
				
			||||||
                          required:
 | 
					                          required:
 | 
				
			||||||
                          - key
 | 
					                          - key
 | 
				
			||||||
                          type: object
 | 
					                          type: object
 | 
				
			||||||
                        username:
 | 
					                        username:
 | 
				
			||||||
                          description: The secret in the service monitor namespace
 | 
					                          description: The secret in the service monitor namespace that contains the username for authentication.
 | 
				
			||||||
                            that contains the username for authentication.
 | 
					 | 
				
			||||||
                          properties:
 | 
					                          properties:
 | 
				
			||||||
                            key:
 | 
					                            key:
 | 
				
			||||||
                              description: The key of the secret to select from.  Must
 | 
					                              description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                                be a valid secret key.
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            name:
 | 
					                            name:
 | 
				
			||||||
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            optional:
 | 
					                            optional:
 | 
				
			||||||
                              description: Specify whether the Secret or its key must
 | 
					                              description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                                be defined
 | 
					 | 
				
			||||||
                              type: boolean
 | 
					                              type: boolean
 | 
				
			||||||
                          required:
 | 
					                          required:
 | 
				
			||||||
                          - key
 | 
					                          - key
 | 
				
			||||||
@ -88,79 +73,57 @@ spec:
 | 
				
			|||||||
                      description: File to read bearer token for scraping targets.
 | 
					                      description: File to read bearer token for scraping targets.
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    bearerTokenSecret:
 | 
					                    bearerTokenSecret:
 | 
				
			||||||
                      description: Secret to mount to read bearer token for scraping
 | 
					                      description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.
 | 
				
			||||||
                        targets. The secret needs to be in the same namespace as the
 | 
					 | 
				
			||||||
                        service monitor and accessible by the Prometheus Operator.
 | 
					 | 
				
			||||||
                      properties:
 | 
					                      properties:
 | 
				
			||||||
                        key:
 | 
					                        key:
 | 
				
			||||||
                          description: The key of the secret to select from.  Must
 | 
					                          description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                            be a valid secret key.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        name:
 | 
					                        name:
 | 
				
			||||||
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                            TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        optional:
 | 
					                        optional:
 | 
				
			||||||
                          description: Specify whether the Secret or its key must
 | 
					                          description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                            be defined
 | 
					 | 
				
			||||||
                          type: boolean
 | 
					                          type: boolean
 | 
				
			||||||
                      required:
 | 
					                      required:
 | 
				
			||||||
                      - key
 | 
					                      - key
 | 
				
			||||||
                      type: object
 | 
					                      type: object
 | 
				
			||||||
                    honorLabels:
 | 
					                    honorLabels:
 | 
				
			||||||
                      description: HonorLabels chooses the metric's labels on collisions
 | 
					                      description: HonorLabels chooses the metric's labels on collisions with target labels.
 | 
				
			||||||
                        with target labels.
 | 
					 | 
				
			||||||
                      type: boolean
 | 
					                      type: boolean
 | 
				
			||||||
                    honorTimestamps:
 | 
					                    honorTimestamps:
 | 
				
			||||||
                      description: HonorTimestamps controls whether Prometheus respects
 | 
					                      description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
 | 
				
			||||||
                        the timestamps present in scraped data.
 | 
					 | 
				
			||||||
                      type: boolean
 | 
					                      type: boolean
 | 
				
			||||||
                    interval:
 | 
					                    interval:
 | 
				
			||||||
                      description: Interval at which metrics should be scraped
 | 
					                      description: Interval at which metrics should be scraped
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    metricRelabelings:
 | 
					                    metricRelabelings:
 | 
				
			||||||
                      description: MetricRelabelConfigs to apply to samples before
 | 
					                      description: MetricRelabelConfigs to apply to samples before ingestion.
 | 
				
			||||||
                        ingestion.
 | 
					 | 
				
			||||||
                      items:
 | 
					                      items:
 | 
				
			||||||
                        description: 'RelabelConfig allows dynamic rewriting of the
 | 
					                        description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
				
			||||||
                          label set, being applied to samples before ingestion. It
 | 
					 | 
				
			||||||
                          defines `<metric_relabel_configs>`-section of Prometheus
 | 
					 | 
				
			||||||
                          configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
					 | 
				
			||||||
                        properties:
 | 
					                        properties:
 | 
				
			||||||
                          action:
 | 
					                          action:
 | 
				
			||||||
                            description: Action to perform based on regex matching.
 | 
					                            description: Action to perform based on regex matching. Default is 'replace'
 | 
				
			||||||
                              Default is 'replace'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          modulus:
 | 
					                          modulus:
 | 
				
			||||||
                            description: Modulus to take of the hash of the source
 | 
					                            description: Modulus to take of the hash of the source label values.
 | 
				
			||||||
                              label values.
 | 
					 | 
				
			||||||
                            format: int64
 | 
					                            format: int64
 | 
				
			||||||
                            type: integer
 | 
					                            type: integer
 | 
				
			||||||
                          regex:
 | 
					                          regex:
 | 
				
			||||||
                            description: Regular expression against which the extracted
 | 
					                            description: Regular expression against which the extracted value is matched. Default is '(.*)'
 | 
				
			||||||
                              value is matched. Default is '(.*)'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          replacement:
 | 
					                          replacement:
 | 
				
			||||||
                            description: Replacement value against which a regex replace
 | 
					                            description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
 | 
				
			||||||
                              is performed if the regular expression matches. Regex
 | 
					 | 
				
			||||||
                              capture groups are available. Default is '$1'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          separator:
 | 
					                          separator:
 | 
				
			||||||
                            description: Separator placed between concatenated source
 | 
					                            description: Separator placed between concatenated source label values. default is ';'.
 | 
				
			||||||
                              label values. default is ';'.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          sourceLabels:
 | 
					                          sourceLabels:
 | 
				
			||||||
                            description: The source labels select values from existing
 | 
					                            description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
 | 
				
			||||||
                              labels. Their content is concatenated using the configured
 | 
					 | 
				
			||||||
                              separator and matched against the configured regular
 | 
					 | 
				
			||||||
                              expression for the replace, keep, and drop actions.
 | 
					 | 
				
			||||||
                            items:
 | 
					                            items:
 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
                          targetLabel:
 | 
					                          targetLabel:
 | 
				
			||||||
                            description: Label to which the resulting value is written
 | 
					                            description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
 | 
				
			||||||
                              in a replace action. It is mandatory for replace actions.
 | 
					 | 
				
			||||||
                              Regex capture groups are available.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
                      type: array
 | 
					                      type: array
 | 
				
			||||||
@ -175,56 +138,39 @@ spec:
 | 
				
			|||||||
                      description: HTTP path to scrape for metrics.
 | 
					                      description: HTTP path to scrape for metrics.
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    port:
 | 
					                    port:
 | 
				
			||||||
                      description: Name of the service port this endpoint refers to.
 | 
					                      description: Name of the service port this endpoint refers to. Mutually exclusive with targetPort.
 | 
				
			||||||
                        Mutually exclusive with targetPort.
 | 
					 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    proxyUrl:
 | 
					                    proxyUrl:
 | 
				
			||||||
                      description: ProxyURL eg http://proxyserver:2195 Directs scrapes
 | 
					                      description: ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
 | 
				
			||||||
                        to proxy through this endpoint.
 | 
					 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    relabelings:
 | 
					                    relabelings:
 | 
				
			||||||
                      description: 'RelabelConfigs to apply to samples before scraping.
 | 
					                      description: 'RelabelConfigs to apply to samples before scraping. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
 | 
				
			||||||
                        More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
 | 
					 | 
				
			||||||
                      items:
 | 
					                      items:
 | 
				
			||||||
                        description: 'RelabelConfig allows dynamic rewriting of the
 | 
					                        description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
				
			||||||
                          label set, being applied to samples before ingestion. It
 | 
					 | 
				
			||||||
                          defines `<metric_relabel_configs>`-section of Prometheus
 | 
					 | 
				
			||||||
                          configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
 | 
					 | 
				
			||||||
                        properties:
 | 
					                        properties:
 | 
				
			||||||
                          action:
 | 
					                          action:
 | 
				
			||||||
                            description: Action to perform based on regex matching.
 | 
					                            description: Action to perform based on regex matching. Default is 'replace'
 | 
				
			||||||
                              Default is 'replace'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          modulus:
 | 
					                          modulus:
 | 
				
			||||||
                            description: Modulus to take of the hash of the source
 | 
					                            description: Modulus to take of the hash of the source label values.
 | 
				
			||||||
                              label values.
 | 
					 | 
				
			||||||
                            format: int64
 | 
					                            format: int64
 | 
				
			||||||
                            type: integer
 | 
					                            type: integer
 | 
				
			||||||
                          regex:
 | 
					                          regex:
 | 
				
			||||||
                            description: Regular expression against which the extracted
 | 
					                            description: Regular expression against which the extracted value is matched. Default is '(.*)'
 | 
				
			||||||
                              value is matched. Default is '(.*)'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          replacement:
 | 
					                          replacement:
 | 
				
			||||||
                            description: Replacement value against which a regex replace
 | 
					                            description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
 | 
				
			||||||
                              is performed if the regular expression matches. Regex
 | 
					 | 
				
			||||||
                              capture groups are available. Default is '$1'
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          separator:
 | 
					                          separator:
 | 
				
			||||||
                            description: Separator placed between concatenated source
 | 
					                            description: Separator placed between concatenated source label values. default is ';'.
 | 
				
			||||||
                              label values. default is ';'.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          sourceLabels:
 | 
					                          sourceLabels:
 | 
				
			||||||
                            description: The source labels select values from existing
 | 
					                            description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
 | 
				
			||||||
                              labels. Their content is concatenated using the configured
 | 
					 | 
				
			||||||
                              separator and matched against the configured regular
 | 
					 | 
				
			||||||
                              expression for the replace, keep, and drop actions.
 | 
					 | 
				
			||||||
                            items:
 | 
					                            items:
 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            type: array
 | 
					                            type: array
 | 
				
			||||||
                          targetLabel:
 | 
					                          targetLabel:
 | 
				
			||||||
                            description: Label to which the resulting value is written
 | 
					                            description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
 | 
				
			||||||
                              in a replace action. It is mandatory for replace actions.
 | 
					 | 
				
			||||||
                              Regex capture groups are available.
 | 
					 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                        type: object
 | 
					                        type: object
 | 
				
			||||||
                      type: array
 | 
					                      type: array
 | 
				
			||||||
@ -238,31 +184,25 @@ spec:
 | 
				
			|||||||
                      anyOf:
 | 
					                      anyOf:
 | 
				
			||||||
                      - type: integer
 | 
					                      - type: integer
 | 
				
			||||||
                      - type: string
 | 
					                      - type: string
 | 
				
			||||||
                      description: Name or number of the pod port this endpoint refers
 | 
					                      description: Name or number of the pod port this endpoint refers to. Mutually exclusive with port.
 | 
				
			||||||
                        to. Mutually exclusive with port.
 | 
					 | 
				
			||||||
                      x-kubernetes-int-or-string: true
 | 
					                      x-kubernetes-int-or-string: true
 | 
				
			||||||
                    tlsConfig:
 | 
					                    tlsConfig:
 | 
				
			||||||
                      description: TLS configuration to use when scraping the endpoint
 | 
					                      description: TLS configuration to use when scraping the endpoint
 | 
				
			||||||
                      properties:
 | 
					                      properties:
 | 
				
			||||||
                        ca:
 | 
					                        ca:
 | 
				
			||||||
                          description: Stuct containing the CA cert to use for the
 | 
					                          description: Stuct containing the CA cert to use for the targets.
 | 
				
			||||||
                            targets.
 | 
					 | 
				
			||||||
                          properties:
 | 
					                          properties:
 | 
				
			||||||
                            configMap:
 | 
					                            configMap:
 | 
				
			||||||
                              description: ConfigMap containing data to use for the
 | 
					                              description: ConfigMap containing data to use for the targets.
 | 
				
			||||||
                                targets.
 | 
					 | 
				
			||||||
                              properties:
 | 
					                              properties:
 | 
				
			||||||
                                key:
 | 
					                                key:
 | 
				
			||||||
                                  description: The key to select.
 | 
					                                  description: The key to select.
 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                name:
 | 
					                                name:
 | 
				
			||||||
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                    TODO: Add other useful fields. apiVersion, kind,
 | 
					 | 
				
			||||||
                                    uid?'
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                optional:
 | 
					                                optional:
 | 
				
			||||||
                                  description: Specify whether the ConfigMap or its
 | 
					                                  description: Specify whether the ConfigMap or its key must be defined
 | 
				
			||||||
                                    key must be defined
 | 
					 | 
				
			||||||
                                  type: boolean
 | 
					                                  type: boolean
 | 
				
			||||||
                              required:
 | 
					                              required:
 | 
				
			||||||
                              - key
 | 
					                              - key
 | 
				
			||||||
@ -271,45 +211,35 @@ spec:
 | 
				
			|||||||
                              description: Secret containing data to use for the targets.
 | 
					                              description: Secret containing data to use for the targets.
 | 
				
			||||||
                              properties:
 | 
					                              properties:
 | 
				
			||||||
                                key:
 | 
					                                key:
 | 
				
			||||||
                                  description: The key of the secret to select from.  Must
 | 
					                                  description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                                    be a valid secret key.
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                name:
 | 
					                                name:
 | 
				
			||||||
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                    TODO: Add other useful fields. apiVersion, kind,
 | 
					 | 
				
			||||||
                                    uid?'
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                optional:
 | 
					                                optional:
 | 
				
			||||||
                                  description: Specify whether the Secret or its key
 | 
					                                  description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                                    must be defined
 | 
					 | 
				
			||||||
                                  type: boolean
 | 
					                                  type: boolean
 | 
				
			||||||
                              required:
 | 
					                              required:
 | 
				
			||||||
                              - key
 | 
					                              - key
 | 
				
			||||||
                              type: object
 | 
					                              type: object
 | 
				
			||||||
                          type: object
 | 
					                          type: object
 | 
				
			||||||
                        caFile:
 | 
					                        caFile:
 | 
				
			||||||
                          description: Path to the CA cert in the Prometheus container
 | 
					                          description: Path to the CA cert in the Prometheus container to use for the targets.
 | 
				
			||||||
                            to use for the targets.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        cert:
 | 
					                        cert:
 | 
				
			||||||
                          description: Struct containing the client cert file for
 | 
					                          description: Struct containing the client cert file for the targets.
 | 
				
			||||||
                            the targets.
 | 
					 | 
				
			||||||
                          properties:
 | 
					                          properties:
 | 
				
			||||||
                            configMap:
 | 
					                            configMap:
 | 
				
			||||||
                              description: ConfigMap containing data to use for the
 | 
					                              description: ConfigMap containing data to use for the targets.
 | 
				
			||||||
                                targets.
 | 
					 | 
				
			||||||
                              properties:
 | 
					                              properties:
 | 
				
			||||||
                                key:
 | 
					                                key:
 | 
				
			||||||
                                  description: The key to select.
 | 
					                                  description: The key to select.
 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                name:
 | 
					                                name:
 | 
				
			||||||
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                    TODO: Add other useful fields. apiVersion, kind,
 | 
					 | 
				
			||||||
                                    uid?'
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                optional:
 | 
					                                optional:
 | 
				
			||||||
                                  description: Specify whether the ConfigMap or its
 | 
					                                  description: Specify whether the ConfigMap or its key must be defined
 | 
				
			||||||
                                    key must be defined
 | 
					 | 
				
			||||||
                                  type: boolean
 | 
					                                  type: boolean
 | 
				
			||||||
                              required:
 | 
					                              required:
 | 
				
			||||||
                              - key
 | 
					                              - key
 | 
				
			||||||
@ -318,48 +248,38 @@ spec:
 | 
				
			|||||||
                              description: Secret containing data to use for the targets.
 | 
					                              description: Secret containing data to use for the targets.
 | 
				
			||||||
                              properties:
 | 
					                              properties:
 | 
				
			||||||
                                key:
 | 
					                                key:
 | 
				
			||||||
                                  description: The key of the secret to select from.  Must
 | 
					                                  description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                                    be a valid secret key.
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                name:
 | 
					                                name:
 | 
				
			||||||
                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                    TODO: Add other useful fields. apiVersion, kind,
 | 
					 | 
				
			||||||
                                    uid?'
 | 
					 | 
				
			||||||
                                  type: string
 | 
					                                  type: string
 | 
				
			||||||
                                optional:
 | 
					                                optional:
 | 
				
			||||||
                                  description: Specify whether the Secret or its key
 | 
					                                  description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                                    must be defined
 | 
					 | 
				
			||||||
                                  type: boolean
 | 
					                                  type: boolean
 | 
				
			||||||
                              required:
 | 
					                              required:
 | 
				
			||||||
                              - key
 | 
					                              - key
 | 
				
			||||||
                              type: object
 | 
					                              type: object
 | 
				
			||||||
                          type: object
 | 
					                          type: object
 | 
				
			||||||
                        certFile:
 | 
					                        certFile:
 | 
				
			||||||
                          description: Path to the client cert file in the Prometheus
 | 
					                          description: Path to the client cert file in the Prometheus container for the targets.
 | 
				
			||||||
                            container for the targets.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        insecureSkipVerify:
 | 
					                        insecureSkipVerify:
 | 
				
			||||||
                          description: Disable target certificate validation.
 | 
					                          description: Disable target certificate validation.
 | 
				
			||||||
                          type: boolean
 | 
					                          type: boolean
 | 
				
			||||||
                        keyFile:
 | 
					                        keyFile:
 | 
				
			||||||
                          description: Path to the client key file in the Prometheus
 | 
					                          description: Path to the client key file in the Prometheus container for the targets.
 | 
				
			||||||
                            container for the targets.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        keySecret:
 | 
					                        keySecret:
 | 
				
			||||||
                          description: Secret containing the client key file for the
 | 
					                          description: Secret containing the client key file for the targets.
 | 
				
			||||||
                            targets.
 | 
					 | 
				
			||||||
                          properties:
 | 
					                          properties:
 | 
				
			||||||
                            key:
 | 
					                            key:
 | 
				
			||||||
                              description: The key of the secret to select from.  Must
 | 
					                              description: The key of the secret to select from.  Must be a valid secret key.
 | 
				
			||||||
                                be a valid secret key.
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            name:
 | 
					                            name:
 | 
				
			||||||
                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
 | 
					                              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
				
			||||||
                                TODO: Add other useful fields. apiVersion, kind, uid?'
 | 
					 | 
				
			||||||
                              type: string
 | 
					                              type: string
 | 
				
			||||||
                            optional:
 | 
					                            optional:
 | 
				
			||||||
                              description: Specify whether the Secret or its key must
 | 
					                              description: Specify whether the Secret or its key must be defined
 | 
				
			||||||
                                be defined
 | 
					 | 
				
			||||||
                              type: boolean
 | 
					                              type: boolean
 | 
				
			||||||
                          required:
 | 
					                          required:
 | 
				
			||||||
                          - key
 | 
					                          - key
 | 
				
			||||||
@ -374,12 +294,10 @@ spec:
 | 
				
			|||||||
                description: The label to use to retrieve the job name from.
 | 
					                description: The label to use to retrieve the job name from.
 | 
				
			||||||
                type: string
 | 
					                type: string
 | 
				
			||||||
              namespaceSelector:
 | 
					              namespaceSelector:
 | 
				
			||||||
                description: Selector to select which namespaces the Endpoints objects
 | 
					                description: Selector to select which namespaces the Endpoints objects are discovered from.
 | 
				
			||||||
                  are discovered from.
 | 
					 | 
				
			||||||
                properties:
 | 
					                properties:
 | 
				
			||||||
                  any:
 | 
					                  any:
 | 
				
			||||||
                    description: Boolean describing whether all namespaces are selected
 | 
					                    description: Boolean describing whether all namespaces are selected in contrast to a list restricting them.
 | 
				
			||||||
                      in contrast to a list restricting them.
 | 
					 | 
				
			||||||
                    type: boolean
 | 
					                    type: boolean
 | 
				
			||||||
                  matchNames:
 | 
					                  matchNames:
 | 
				
			||||||
                    description: List of namespace names.
 | 
					                    description: List of namespace names.
 | 
				
			||||||
@ -388,42 +306,30 @@ spec:
 | 
				
			|||||||
                    type: array
 | 
					                    type: array
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
              podTargetLabels:
 | 
					              podTargetLabels:
 | 
				
			||||||
                description: PodTargetLabels transfers labels on the Kubernetes Pod
 | 
					                description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
 | 
				
			||||||
                  onto the target.
 | 
					 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  type: string
 | 
					                  type: string
 | 
				
			||||||
                type: array
 | 
					                type: array
 | 
				
			||||||
              sampleLimit:
 | 
					              sampleLimit:
 | 
				
			||||||
                description: SampleLimit defines per-scrape limit on number of scraped
 | 
					                description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
 | 
				
			||||||
                  samples that will be accepted.
 | 
					 | 
				
			||||||
                format: int64
 | 
					                format: int64
 | 
				
			||||||
                type: integer
 | 
					                type: integer
 | 
				
			||||||
              selector:
 | 
					              selector:
 | 
				
			||||||
                description: Selector to select Endpoints objects.
 | 
					                description: Selector to select Endpoints objects.
 | 
				
			||||||
                properties:
 | 
					                properties:
 | 
				
			||||||
                  matchExpressions:
 | 
					                  matchExpressions:
 | 
				
			||||||
                    description: matchExpressions is a list of label selector requirements.
 | 
					                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
 | 
				
			||||||
                      The requirements are ANDed.
 | 
					 | 
				
			||||||
                    items:
 | 
					                    items:
 | 
				
			||||||
                      description: A label selector requirement is a selector that
 | 
					                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
 | 
				
			||||||
                        contains values, a key, and an operator that relates the key
 | 
					 | 
				
			||||||
                        and values.
 | 
					 | 
				
			||||||
                      properties:
 | 
					                      properties:
 | 
				
			||||||
                        key:
 | 
					                        key:
 | 
				
			||||||
                          description: key is the label key that the selector applies
 | 
					                          description: key is the label key that the selector applies to.
 | 
				
			||||||
                            to.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        operator:
 | 
					                        operator:
 | 
				
			||||||
                          description: operator represents a key's relationship to
 | 
					                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
 | 
				
			||||||
                            a set of values. Valid operators are In, NotIn, Exists
 | 
					 | 
				
			||||||
                            and DoesNotExist.
 | 
					 | 
				
			||||||
                          type: string
 | 
					                          type: string
 | 
				
			||||||
                        values:
 | 
					                        values:
 | 
				
			||||||
                          description: values is an array of string values. If the
 | 
					                          description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
 | 
				
			||||||
                            operator is In or NotIn, the values array must be non-empty.
 | 
					 | 
				
			||||||
                            If the operator is Exists or DoesNotExist, the values
 | 
					 | 
				
			||||||
                            array must be empty. This array is replaced during a strategic
 | 
					 | 
				
			||||||
                            merge patch.
 | 
					 | 
				
			||||||
                          items:
 | 
					                          items:
 | 
				
			||||||
                            type: string
 | 
					                            type: string
 | 
				
			||||||
                          type: array
 | 
					                          type: array
 | 
				
			||||||
@ -435,16 +341,11 @@ spec:
 | 
				
			|||||||
                  matchLabels:
 | 
					                  matchLabels:
 | 
				
			||||||
                    additionalProperties:
 | 
					                    additionalProperties:
 | 
				
			||||||
                      type: string
 | 
					                      type: string
 | 
				
			||||||
                    description: matchLabels is a map of {key,value} pairs. A single
 | 
					                    description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
 | 
				
			||||||
                      {key,value} in the matchLabels map is equivalent to an element
 | 
					 | 
				
			||||||
                      of matchExpressions, whose key field is "key", the operator
 | 
					 | 
				
			||||||
                      is "In", and the values array contains only "value". The requirements
 | 
					 | 
				
			||||||
                      are ANDed.
 | 
					 | 
				
			||||||
                    type: object
 | 
					                    type: object
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
              targetLabels:
 | 
					              targetLabels:
 | 
				
			||||||
                description: TargetLabels transfers labels on the Kubernetes Service
 | 
					                description: TargetLabels transfers labels on the Kubernetes Service onto the target.
 | 
				
			||||||
                  onto the target.
 | 
					 | 
				
			||||||
                items:
 | 
					                items:
 | 
				
			||||||
                  type: string
 | 
					                  type: string
 | 
				
			||||||
                type: array
 | 
					                type: array
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -4,7 +4,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
rules:
 | 
					rules:
 | 
				
			||||||
- apiGroups:
 | 
					- apiGroups:
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
roleRef:
 | 
					roleRef:
 | 
				
			||||||
  apiGroup: rbac.authorization.k8s.io
 | 
					  apiGroup: rbac.authorization.k8s.io
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
@ -18,15 +18,15 @@ spec:
 | 
				
			|||||||
      labels:
 | 
					      labels:
 | 
				
			||||||
        app.kubernetes.io/component: controller
 | 
					        app.kubernetes.io/component: controller
 | 
				
			||||||
        app.kubernetes.io/name: prometheus-operator
 | 
					        app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
        app.kubernetes.io/version: v0.39.0
 | 
					        app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
    spec:
 | 
					    spec:
 | 
				
			||||||
      containers:
 | 
					      containers:
 | 
				
			||||||
      - args:
 | 
					      - args:
 | 
				
			||||||
        - --kubelet-service=kube-system/kubelet
 | 
					        - --kubelet-service=kube-system/kubelet
 | 
				
			||||||
        - --logtostderr=true
 | 
					        - --logtostderr=true
 | 
				
			||||||
        - --config-reloader-image=carlosedp/configmap-reload:latest
 | 
					        - --config-reloader-image=carlosedp/configmap-reload:latest
 | 
				
			||||||
        - --prometheus-config-reloader=carlosedp/prometheus-config-reloader:v0.39.0
 | 
					        - --prometheus-config-reloader=carlosedp/prometheus-config-reloader:v0.40.0
 | 
				
			||||||
        image: carlosedp/prometheus-operator:v0.39.0
 | 
					        image: carlosedp/prometheus-operator:v0.40.0
 | 
				
			||||||
        name: prometheus-operator
 | 
					        name: prometheus-operator
 | 
				
			||||||
        ports:
 | 
					        ports:
 | 
				
			||||||
        - containerPort: 8080
 | 
					        - containerPort: 8080
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,6 @@ metadata:
 | 
				
			|||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app.kubernetes.io/component: controller
 | 
					    app.kubernetes.io/component: controller
 | 
				
			||||||
    app.kubernetes.io/name: prometheus-operator
 | 
					    app.kubernetes.io/name: prometheus-operator
 | 
				
			||||||
    app.kubernetes.io/version: v0.39.0
 | 
					    app.kubernetes.io/version: v0.40.0
 | 
				
			||||||
  name: prometheus-operator
 | 
					  name: prometheus-operator
 | 
				
			||||||
  namespace: monitoring
 | 
					  namespace: monitoring
 | 
				
			||||||
 | 
				
			|||||||
@ -21,3 +21,5 @@ mkdir -p manifests/setup
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# optional, but we would like to generate yaml, not json
 | 
					# optional, but we would like to generate yaml, not json
 | 
				
			||||||
$JSONNET_BIN -J vendor -m manifests "${1-example.jsonnet}" | xargs -I{} sh -c 'cat {} | $(go env GOPATH)/bin/gojsontoyaml > {}.yaml; rm -f {}' -- {}
 | 
					$JSONNET_BIN -J vendor -m manifests "${1-example.jsonnet}" | xargs -I{} sh -c 'cat {} | $(go env GOPATH)/bin/gojsontoyaml > {}.yaml; rm -f {}' -- {}
 | 
				
			||||||
 | 
					# Clean-up json files from manifests dir
 | 
				
			||||||
 | 
					find manifests -type f ! -name '*.yaml' -delete
 | 
				
			||||||
@ -9,9 +9,9 @@ REPO=carlosedp
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export AOR_VERSION=2.3
 | 
					export AOR_VERSION=2.3
 | 
				
			||||||
export KSM_VERSION=v1.9.6
 | 
					export KSM_VERSION=v1.9.6
 | 
				
			||||||
export PROM_OP_VERSION=v0.39.0
 | 
					export PROM_OP_VERSION=v0.40.0
 | 
				
			||||||
export KUBE_RBAC_VERSION=v0.5.0
 | 
					export KUBE_RBAC_VERSION=v0.5.0
 | 
				
			||||||
export PROM_CONFIG_RELOADER_VERSION=v0.39.0
 | 
					export PROM_CONFIG_RELOADER_VERSION=v0.40.0
 | 
				
			||||||
export CONFIGMAP_RELOAD_VERSION=latest
 | 
					export CONFIGMAP_RELOAD_VERSION=latest
 | 
				
			||||||
#-------------------------------------------------------------------------------
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
# Kubernetes addon-resizer
 | 
					# Kubernetes addon-resizer
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								vars.jsonnet
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								vars.jsonnet
									
									
									
									
									
								
							@ -39,11 +39,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  k3s: {
 | 
					  k3s: {
 | 
				
			||||||
    enabled: false,
 | 
					    enabled: false,
 | 
				
			||||||
    master_ip: ['192.168.15.15'],
 | 
					    master_ip: ['192.168.1.15'],
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Domain suffix for the ingresses
 | 
					  // Domain suffix for the ingresses
 | 
				
			||||||
  suffixDomain: '192.168.15.15.nip.io',
 | 
					  suffixDomain: '192.168.1.15.nip.io',
 | 
				
			||||||
  // If TLSingress is true, a self-signed HTTPS ingress with redirect will be created
 | 
					  // If TLSingress is true, a self-signed HTTPS ingress with redirect will be created
 | 
				
			||||||
  TLSingress: true,
 | 
					  TLSingress: true,
 | 
				
			||||||
  // If UseProvidedCerts is true, provided files will be used on created HTTPS ingresses.
 | 
					  // If UseProvidedCerts is true, provided files will be used on created HTTPS ingresses.
 | 
				
			||||||
@ -63,6 +63,12 @@
 | 
				
			|||||||
    grafanaSizePV: '20Gi',
 | 
					    grafanaSizePV: '20Gi',
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Configuration for Prometheus deployment
 | 
				
			||||||
 | 
					  prometheus: {
 | 
				
			||||||
 | 
					    retention: '15d',
 | 
				
			||||||
 | 
					    scrapeInterval: '30s',
 | 
				
			||||||
 | 
					    scrapeTimeout: '30s',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  // Grafana "from" email
 | 
					  // Grafana "from" email
 | 
				
			||||||
  grafana: {
 | 
					  grafana: {
 | 
				
			||||||
    from_address: 'myemail@gmail.com',
 | 
					    from_address: 'myemail@gmail.com',
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user