diff --git a/.github/workflows/versions.yaml b/.github/workflows/versions.yaml index 56ca7f2d..d84c67b8 100644 --- a/.github/workflows/versions.yaml +++ b/.github/workflows/versions.yaml @@ -10,9 +10,9 @@ jobs: strategy: matrix: branch: - - "release-0.11" - - "release-0.12" - - "release-0.13" + # testing will be done against last two release branches and main branch + - "release-0.14" + - "release-0.15" - "main" steps: - uses: actions/checkout@v4 diff --git a/.mdox.validate.yaml b/.mdox.validate.yaml index acfa2960..765754ab 100644 --- a/.mdox.validate.yaml +++ b/.mdox.validate.yaml @@ -7,6 +7,9 @@ validators: # Ignore release links. - regex: 'https:\/\/github\.com\/prometheus-operator\/kube-prometheus\/releases' type: "ignore" + # Ignore github issue link that is timing out + - regex: 'https:\/\/github\.com\/kubernetes-incubator\/kube-aws\/issues\/923' + type: "ignore" # Twitter changed their policy and now returns 403 if not authenticated. We can guarantee this link since we own the account. - regex: 'https:\/\/twitter.com\/PromOperator' type: "ignore" diff --git a/README.md b/README.md index b4c42ed2..bc9dbd85 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ [![Slack](https://img.shields.io/badge/join%20slack-%23prometheus--operator-brightgreen.svg)](http://slack.k8s.io/) [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/prometheus-operator/kube-prometheus) -> Note that everything is experimental and may change significantly at any time. +> [!WARNING] +> Everything is experimental and may change significantly at any time. This repository collects Kubernetes manifests, [Grafana](http://grafana.com/) dashboards, and [Prometheus rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with [Prometheus](https://prometheus.io/) using the Prometheus Operator. @@ -41,44 +42,46 @@ no effect, but is still deployed. The following Kubernetes versions are supported and work as we test against these versions in their respective branches. But note that other versions might work! -| kube-prometheus stack | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 | Kubernetes 1.26 | Kubernetes 1.27 | Kubernetes 1.28 | Kubernetes 1.29 | Kubernetes 1.30 | Kubernetes 1.31 | Kubernetes 1.32 | Kubernetes 1.33 | -|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| -| [`release-0.12`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.12) | ✗ | ✔ | ✔ | x | x | x | x | x | x | x | x | -| [`release-0.13`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.13) | ✗ | ✗ | x | ✔ | ✔ | ✔ | x | x | x | x | x | -| [`release-0.14`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.14) | ✗ | ✗ | x | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | x | x | -| [`release-0.15`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.15) | ✗ | ✗ | x | x | x | x | x | x | ✔ | ✔ | ✔ | -| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | ✗ | ✗ | x | x | x | x | x | x | ✔ | ✔ | ✔ | +> [!NOTE] +> In CI we will be testing only last two releases and main branch on a regular basis. +| kube-prometheus stack | Kubernetes 1.27 | Kubernetes 1.28 | Kubernetes 1.29 | Kubernetes 1.30 | Kubernetes 1.31 | Kubernetes 1.32 | Kubernetes 1.33 | +|--------------------------------------------------------------------------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------| +| [`release-0.13`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.13) | ✔ | ✔ | x | x | x | x | x | +| [`release-0.14`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.14) | x | x | ✔ | ✔ | ✔ | x | x | +| [`release-0.15`](https://github.com/prometheus-operator/kube-prometheus/tree/release-0.15) | x | x | x | x | ✔ | ✔ | ✔ | +| [`main`](https://github.com/prometheus-operator/kube-prometheus/tree/main) | x | x | x | x | ✔ | ✔ | ✔ | ## Quickstart This project is intended to be used as a library (i.e. the intent is not for you to create your own modified copy of this repository). Though for a quickstart a compiled version of the Kubernetes [manifests](manifests) generated with this library (specifically with `example.jsonnet`) is checked into this repository in order to try the content out quickly. To try out the stack un-customized run: + * Create the monitoring stack using the config in the `manifests` directory: -```shell -# Create the namespace and CRDs, and then wait for them to be available before creating the remaining resources -# Note that due to some CRD size we are using kubectl server-side apply feature which is generally available since kubernetes 1.22. -# If you are using previous kubernetes versions this feature may not be available and you would need to use kubectl create instead. -kubectl apply --server-side -f manifests/setup -kubectl wait \ - --for condition=Established \ - --all CustomResourceDefinition \ - --namespace=monitoring -kubectl apply -f manifests/ -``` + ```shell + # Create the namespace and CRDs, and then wait for them to be available before creating the remaining resources + # Note that due to some CRD size we are using kubectl server-side apply feature which is generally available since kubernetes 1.22. + # If you are using previous kubernetes versions this feature may not be available and you would need to use kubectl create instead. + kubectl apply --server-side -f manifests/setup + kubectl wait \ + --for condition=Established \ + --all CustomResourceDefinition \ + --namespace=monitoring + kubectl apply -f manifests/ + ``` We create the namespace and CustomResourceDefinitions first to avoid race conditions when deploying the monitoring components. Alternatively, the resources in both folders can be applied with a single command `kubectl apply --server-side -f manifests/setup -f manifests`, but it may be necessary to run the command multiple times for all components to be created successfully. -* And to teardown the stack: +* To teardown the stack: -```shell -kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup -``` + ```shell + kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup + ``` The [official documentation](http://prometheus-operator.dev/docs/getting-started/installation/) contains the full version of this quick-start guide, and includes [instructions](https://prometheus-operator.dev/kube-prometheus/kube/access-ui/) on how to access Prometheus, AlertManager, and Grafana. @@ -87,13 +90,13 @@ The [official documentation](http://prometheus-operator.dev/docs/getting-started To try out this stack, start [minikube](https://github.com/kubernetes/minikube) with the following command: ```shell -$ minikube delete && minikube start --container-runtime=containerd --kubernetes-version=v1.32.3 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.bind-address=0.0.0.0 --extra-config=controller-manager.bind-address=0.0.0.0 +minikube delete && minikube start --container-runtime=containerd --kubernetes-version=v1.33.1 --memory=6g --bootstrapper=kubeadm --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.bind-address=0.0.0.0 --extra-config=controller-manager.bind-address=0.0.0.0 ``` The kube-prometheus stack includes a resource metrics API server, so the metrics-server addon is not necessary. Ensure the metrics-server addon is disabled on minikube: ```shell -$ minikube addons disable metrics-server +minikube addons disable metrics-server ``` ## Getting started @@ -117,7 +120,7 @@ To contribute to kube-prometheus, refer to [Contributing](CONTRIBUTING.md). ## Join the discussion -If you have any questions or feedback regarding kube-prometheus, join the [kube-prometheus discussion](https://github.com/prometheus-operator/kube-prometheus/discussions). Alternatively, consider joining [the kubernetes slack #prometheus-operator channel](http://slack.k8s.io/) or project's bi-weekly [Contributor Office Hours](https://docs.google.com/document/d/1-fjJmzrwRpKmSPHtXN5u6VZnn39M28KqyQGBEJsqUOk/edit#). +If you have any questions or feedback regarding kube-prometheus, join the [kube-prometheus discussion](https://github.com/prometheus-operator/kube-prometheus/discussions). Alternatively, consider joining [#prometheus-operator](https://kubernetes.slack.com/archives/CFFDS2Z7F) slack channel or project's bi-weekly [Contributor Office Hours](https://docs.google.com/document/d/1-fjJmzrwRpKmSPHtXN5u6VZnn39M28KqyQGBEJsqUOk/edit#). ## License diff --git a/RELEASE.md b/RELEASE.md index ef251742..0d32d2b0 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,6 +1,6 @@ # Release schedule -kube-prometheus will follow the Kubernetes release schedule. +kube-prometheus will follow the [Kubernetes release schedule](https://kubernetes.io/releases). For every new Kubernetes release, there will be a corresponding minor release of kube-prometheus, although it may not be immediate. @@ -8,7 +8,7 @@ We do not guarantee backports from the `main` branch to older release branches. This differs from the previous release schedule, which was driven by OpenShift releases. -# How to cut a new release +## How to cut a new release > This guide is strongly based on the [prometheus-operator release > instructions](https://github.com/prometheus-operator/prometheus-operator/blob/master/RELEASE.md). @@ -38,14 +38,20 @@ failed or because the main branch was already up-to-date. ## Update Kubernetes supported versions -The `main` branch of kube-prometheus should support the last 2 versions of +The `main` branch of kube-prometheus should support at least the last 2 versions of Kubernetes. We need to make sure that the CI on the main branch is testing the -kube-prometheus configuration against both of these versions by updating the [CI +kube-prometheus configuration against these versions by updating the [CI worklow](.github/workflows/ci.yaml) to include the latest kind version and the -2 latest images versions that are attached to the kind release. Once that is +latest images versions that are attached to the kind release. Once that is done, the [compatibility matrix](README.md#compatibility) in the README should also be updated to reflect the CI changes. +## Update Kubernetes versions used by kubeconform + +Update the versions of Kubernetes used when validating manifests with +kubeconform in the [Makefile](Makefile) to align with the compatibility +matrix. + ## Create pull request to cut the release ### Pin Jsonnet dependencies @@ -88,7 +94,17 @@ Iterate over the PRs that were merged between the latest release of kube-prometh Once the PR cutting the release is merged, pull the changes, create a new release branch named `release-x.y` based on the latest changes and push it to -the upstream repository. +the upstream repository or create the branch from Github UI directly. + +## Create the release + +From the Github UI, draft a new [release](https://github.com/prometheus-operator/kube-prometheus/releases/new). Give the correct tag name and select the newly created release branch as the Target. Fill the description and click the `Publish release` button. + +> [!NOTE] +> The new tag will be created automatically when the release is published. + +> [!TIP] +> If we click `Generate release notes` while creating the release to compare with the last released tag, along with the commit changes from last release it will also find new contributors. We can skip the release notes generated but can keep the `New Contributors` section. See [example](https://github.com/prometheus-operator/kube-prometheus/releases/tag/v0.15.0) for reference. ## Create follow-up pull request @@ -100,9 +116,3 @@ the main branch to be in sync with the latest changes of its dependencies. ### Update CI workflow Update the [versions workflow](.github/workflows/versions.yaml) to include the latest release branch and remove the oldest one to reflect the list of supported releases. - -### Update Kubernetes versions used by kubeconform - -Update the versions of Kubernetes used when validating manifests with -kubeconform in the [Makefile](Makefile) to align with the compatibility -matrix. diff --git a/docs/monitoring-external-etcd.md b/docs/monitoring-external-etcd.md index 83dd58f8..fe6a8435 100644 --- a/docs/monitoring-external-etcd.md +++ b/docs/monitoring-external-etcd.md @@ -31,7 +31,7 @@ With kube-aws, each etcd node has two IP addresses: * EC2 instance IP * EIP or ENI (depending on the chosen method in yuour cluster.yaml) -For some reason, some etcd node answer to :2379/metrics on the intance IP (eth0), some others on the EIP|ENI address (eth1). See issue https://github.com/kubernetes-incubator/kube-aws/issues/923 +For some reason, some etcd node answer to :2379/metrics on the intance IP (eth0), some others on the EIP|ENI address (eth1). See [issue](https://github.com/kubernetes-incubator/kube-aws/issues/923) It would be of course much better if we could hit the EPI/ENI all the time as they don't change even if the underlying EC2 intance goes down. If specifying the Instance IP (eth0) in the Prometheus Operator ServiceMonitor, and the EC2 intance goes down, one would have to update the ServiceMonitor. diff --git a/jsonnet/kube-prometheus/jsonnetfile.json b/jsonnet/kube-prometheus/jsonnetfile.json index 4b76f783..bf7d40ea 100644 --- a/jsonnet/kube-prometheus/jsonnetfile.json +++ b/jsonnet/kube-prometheus/jsonnetfile.json @@ -8,7 +8,7 @@ "subdir": "grafana" } }, - "version": "5698c8940b6dadca3f42107b7839557bc041761f" + "version": "master" }, { "source": { @@ -17,7 +17,7 @@ "subdir": "grafana-mixin" } }, - "version": "release-12.0.1", + "version": "main", "name": "grafana-mixin" }, { @@ -27,7 +27,7 @@ "subdir": "contrib/mixin" } }, - "version": "release-3.6" + "version": "main" }, { "source": { @@ -36,7 +36,7 @@ "subdir": "jsonnet/prometheus-operator" } }, - "version": "release-0.83" + "version": "main" }, { "source": { @@ -45,7 +45,7 @@ "subdir": "jsonnet/mixin" } }, - "version": "release-0.83", + "version": "main", "name": "prometheus-operator-mixin" }, { @@ -55,7 +55,7 @@ "subdir": "" } }, - "version": "56af5da5a4e038a3bd24939161f11d0eb3eeb9c8" + "version": "master" }, { "source": { @@ -64,7 +64,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "release-2.15" + "version": "main" }, { "source": { @@ -73,7 +73,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "release-2.15" + "version": "main" }, { "source": { @@ -82,7 +82,7 @@ "subdir": "docs/node-mixin" } }, - "version": "release-1.9" + "version": "master" }, { "source": { @@ -91,7 +91,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "release-3.4", + "version": "main", "name": "prometheus" }, { @@ -101,7 +101,7 @@ "subdir": "doc/alertmanager-mixin" } }, - "version": "0f1a701e9d233211cfd04033150223d404d751a3", + "version": "main", "name": "alertmanager" }, { @@ -111,7 +111,7 @@ "subdir": "jsonnet/controller-gen" } }, - "version": "release-0.8", + "version": "main", "name": "pyrra" }, { @@ -121,7 +121,7 @@ "subdir": "mixin" } }, - "version": "release-0.38", + "version": "main", "name": "thanos-mixin" } ], diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index b53e14d4..db11c37c 100644 --- a/jsonnetfile.lock.json +++ b/jsonnetfile.lock.json @@ -18,7 +18,7 @@ "subdir": "contrib/mixin" } }, - "version": "856c3ddb2576ac90334d044418057f36818555af", + "version": "a756eaf122f7547a6255d21fa69705af0162a4b0", "sum": "XmXkOCriQIZmXwlIIFhqlJMa0e6qGWdxZD+ZDYaN0Po=" }, { @@ -28,8 +28,8 @@ "subdir": "grafana-mixin" } }, - "version": "577c29d0dca45575394129d1d828d7783274bf50", - "sum": "S8mRTRH4w62kMCa2je3iCtvscYrwQmkyJ7Y/aM14KbE=" + "version": "1120f9e255760a3c104b57871fcb91801e934382", + "sum": "MkjR7zCgq6MUZgjDzop574tFKoTX2OBr7DTwm1K+Ofs=" }, { "source": { @@ -78,7 +78,7 @@ "subdir": "grafana-builder" } }, - "version": "bd6419a331191e73d641b54b4992e80594465dee", + "version": "aa5c0d4beb76035fdf999488e180462f08e617c9", "sum": "G7B6E5sqWirDbMWRhifbLRfGgRFbIh9WCYa6X3kMh6g=" }, { @@ -88,7 +88,7 @@ "subdir": "mixin-utils" } }, - "version": "bd6419a331191e73d641b54b4992e80594465dee", + "version": "aa5c0d4beb76035fdf999488e180462f08e617c9", "sum": "iu4NT+YOgpxQnxElKML76cSxgTA0cwTmFfI0hOfHHmw=" }, { @@ -118,8 +118,8 @@ "subdir": "" } }, - "version": "56af5da5a4e038a3bd24939161f11d0eb3eeb9c8", - "sum": "9pr1MHBJ9tXQoomxY1WLBQGC1jEbJZhjdi5O8xuUUSw=" + "version": "4d54801b16abe46a3c7bb4c1d2422fe8cc83b032", + "sum": "Cgb/s1ZhEEQPj3qHyucV27vU5o3RFXZN4acHBnM+7/I=" }, { "source": { @@ -128,7 +128,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "4a585c91beffdbd1378833ce5f102b401e7e57c5", + "version": "84e2d8fe697053c185c0ce17f0e22c151d071a46", "sum": "3bioG7CfTfY9zeu5xU4yon6Zt3kYvNkyl492nOhQxnM=" }, { @@ -138,7 +138,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "4a585c91beffdbd1378833ce5f102b401e7e57c5", + "version": "84e2d8fe697053c185c0ce17f0e22c151d071a46", "sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c=" }, { @@ -148,7 +148,7 @@ "subdir": "jsonnet/mixin" } }, - "version": "5cf2f5d37906d64b2259a262e319df4c74639e31", + "version": "8af9ceaf5f99a2be18bd7b690fa79dc18c18aa04", "sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=", "name": "prometheus-operator-mixin" }, @@ -159,8 +159,8 @@ "subdir": "jsonnet/prometheus-operator" } }, - "version": "5cf2f5d37906d64b2259a262e319df4c74639e31", - "sum": "xzGiEUwaDtS7FdoiizjlOFbvhz7d8vrbKUAJML1ssXw=" + "version": "8af9ceaf5f99a2be18bd7b690fa79dc18c18aa04", + "sum": "dtH2oiXvUttHg2fz6uITHKuZflkQ832ddkdnhVu0drY=" }, { "source": { @@ -169,7 +169,7 @@ "subdir": "doc/alertmanager-mixin" } }, - "version": "0f1a701e9d233211cfd04033150223d404d751a3", + "version": "0ce3cfb962db3cbb1649d3e816a49a13c4036cd1", "sum": "j5prvRrJdoCv7n45l5Uy2ghl1IDb9BBUqjwCDs4ZJoQ=", "name": "alertmanager" }, @@ -180,8 +180,8 @@ "subdir": "docs/node-mixin" } }, - "version": "f2ec547b49af53815038a50265aa2adcd1275959", - "sum": "8dNyJ4vpnKVBbCFN9YLsugp1IjlZjDCwdKMjKi0KTG4=" + "version": "2a2f16cd28d3ef57e4a9e1c2babca1fcf9c4eed6", + "sum": "NcpQ0Hz0qciUqmOYoAR0X8GUK5pH/QiUXm1aDNgvua0=" }, { "source": { @@ -190,7 +190,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "aea6503d9bbaad6c5faff3ecf6f1025213356c92", + "version": "40a27ce87591487239d07e5f47010f114ee5bea2", "sum": "2c+wttfee9TwuQJZIkNV7Tekem74Qgc7iZ842P28rNw=", "name": "prometheus" }, @@ -201,8 +201,8 @@ "subdir": "jsonnet/controller-gen" } }, - "version": "c20e05e982dd85535726cbd4b03126e50767e6e2", - "sum": "f2dFeYv4O5lUG5OE6trJyvyKiea9BL6E8t8Ij7i+YJc=", + "version": "1ed2f3301251455dee757da1658c88fd32e0f1ca", + "sum": "O3c9Uurei8MWAY0Ad7DOL1fMqSgdHyHB7MpHsxSITKM=", "name": "pyrra" }, { @@ -212,7 +212,7 @@ "subdir": "mixin" } }, - "version": "0439da0dd291735c36bb515c03e9dfa0012c76c9", + "version": "4ad45948cd1098000270dc52c8d2f5f077e02076", "sum": "ieCD4eMgGbOlrI8GmckGPHBGQDcLasE1rULYq56W/bs=", "name": "thanos-mixin" }, diff --git a/manifests/grafana-dashboardDefinitions.yaml b/manifests/grafana-dashboardDefinitions.yaml index f19adea6..593480a2 100644 --- a/manifests/grafana-dashboardDefinitions.yaml +++ b/manifests/grafana-dashboardDefinitions.yaml @@ -3158,6 +3158,7 @@ items: } ], "schemaVersion": 30, + "style": "dark", "tags": [ ], @@ -17384,14 +17385,6 @@ items: "refresh": 2, "sort": 1, "type": "query" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "refresh": 2, - "sort": 1 } ] }, diff --git a/manifests/grafana-prometheusRule.yaml b/manifests/grafana-prometheusRule.yaml index e0014f3e..44729df9 100644 --- a/manifests/grafana-prometheusRule.yaml +++ b/manifests/grafana-prometheusRule.yaml @@ -19,8 +19,8 @@ spec: message: '{{ $labels.namespace }}/{{ $labels.job }}/{{ $labels.handler }} is experiencing {{ $value | humanize }}% errors' runbook_url: https://runbooks.prometheus-operator.dev/runbooks/grafana/grafanarequestsfailing expr: | - 100 * sum without (status_code) (namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query", status_code=~"5.."}) - / + 100 * namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query", status_code=~"5.."} + / ignoring (status_code) sum without (status_code) (namespace_job_handler_statuscode:grafana_http_request_duration_seconds_count:rate5m{handler!~"/api/datasources/proxy/:id.*|/api/ds/query|/api/tsdb/query"}) > 50 for: 5m diff --git a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml index 15b2ba89..2b64bc66 100644 --- a/manifests/setup/0alertmanagerCustomResourceDefinition.yaml +++ b/manifests/setup/0alertmanagerCustomResourceDefinition.yaml @@ -4003,7 +4003,7 @@ spec: description: |- An optional list of references to secrets in the same namespace to use for pulling prometheus and alertmanager images from registries - see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod + see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ items: description: |- LocalObjectReference contains enough information to let you locate the @@ -5502,7 +5502,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -5511,7 +5511,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -5520,7 +5520,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object portName: @@ -6175,7 +6175,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -6184,7 +6184,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -6193,7 +6193,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object spec: diff --git a/manifests/setup/0prometheusCustomResourceDefinition.yaml b/manifests/setup/0prometheusCustomResourceDefinition.yaml index b94a233e..1ebf950d 100644 --- a/manifests/setup/0prometheusCustomResourceDefinition.yaml +++ b/manifests/setup/0prometheusCustomResourceDefinition.yaml @@ -3769,7 +3769,7 @@ spec: Use the host's network namespace if true. Make sure to understand the security implications if you want to enable - it (https://kubernetes.io/docs/concepts/configuration/overview/). + it (https://kubernetes.io/docs/concepts/configuration/overview/ ). When hostNetwork is enabled, this will set the DNS policy to `ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set @@ -5414,7 +5414,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -5423,7 +5423,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -5432,7 +5432,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object podMonitorNamespaceSelector: @@ -9027,7 +9027,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -9036,7 +9036,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -9045,7 +9045,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object spec: diff --git a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml index 2a307433..425bc6ad 100644 --- a/manifests/setup/0prometheusagentCustomResourceDefinition.yaml +++ b/manifests/setup/0prometheusagentCustomResourceDefinition.yaml @@ -3034,7 +3034,7 @@ spec: Use the host's network namespace if true. Make sure to understand the security implications if you want to enable - it (https://kubernetes.io/docs/concepts/configuration/overview/). + it (https://kubernetes.io/docs/concepts/configuration/overview/ ). When hostNetwork is enabled, this will set the DNS policy to `ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set @@ -4688,7 +4688,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -4697,7 +4697,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -4706,7 +4706,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object podMonitorNamespaceSelector: @@ -7381,7 +7381,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -7390,7 +7390,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -7399,7 +7399,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object spec: diff --git a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml index cd7d5770..5c3154ef 100644 --- a/manifests/setup/0thanosrulerCustomResourceDefinition.yaml +++ b/manifests/setup/0thanosrulerCustomResourceDefinition.yaml @@ -4265,7 +4265,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -4274,7 +4274,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -4283,7 +4283,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object portName: @@ -5504,6 +5504,12 @@ spec: type: object type: object x-kubernetes-map-type: atomic + ruleQueryOffset: + description: |- + The default rule group's query offset duration to use. + It requires Thanos >= v0.38.0. + pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$ + type: string ruleSelector: description: |- PrometheusRule objects to be selected for rule evaluation. An empty @@ -6096,7 +6102,7 @@ spec: Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. - More info: http://kubernetes.io/docs/user-guide/annotations + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ type: object labels: additionalProperties: @@ -6105,7 +6111,7 @@ spec: Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object name: description: |- @@ -6114,7 +6120,7 @@ spec: automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/identifiers#names + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/ type: string type: object spec: