Skip to content

Commit

Permalink
Merge tag 'refs/tags/v0.77.0' into release-2.12
Browse files Browse the repository at this point in the history
v0.77.0
  • Loading branch information
github-actions[bot] committed Sep 23, 2024
2 parents 233733b + 3234e89 commit ae77a4e
Show file tree
Hide file tree
Showing 474 changed files with 77,740 additions and 26,010 deletions.
6 changes: 3 additions & 3 deletions .github/env
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
golang-version=1.22
kind-version=v0.23.0
kind-image=kindest/node:v1.30.0
golang-version=1.23
kind-version=v0.24.0
kind-image=kindest/node:v1.31.0
10 changes: 7 additions & 3 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ jobs:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make --always-make format generate && git diff --exit-code
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

check-docs:
runs-on: ubuntu-latest
Expand All @@ -39,6 +41,8 @@ jobs:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make check-docs
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

check-golang:
runs-on: ubuntu-latest
Expand All @@ -54,9 +58,9 @@ jobs:
- name: go.mod
run: make tidy && git diff --exit-code
- name: golangci-lint
uses: golangci/golangci-lint-action@v6.0.1
uses: golangci/golangci-lint-action@v6.1.0
with:
version: v1.57.2
version: v1.60.1
args: --timeout 10m0s --go ${{ env.golang-version }}

check-metrics:
Expand Down Expand Up @@ -89,6 +93,7 @@ jobs:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make operator

po-rule-migration:
runs-on: ubuntu-latest
name: Build Prometheus Operator rule config map to rule file CRDs CLI tool
Expand All @@ -101,4 +106,3 @@ jobs:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: cd cmd/po-rule-migration && go install

105 changes: 105 additions & 0 deletions .github/workflows/e2e-prometheus3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: e2e-prometheus3
on:
schedule:
- cron: '30 14 * * *' # Every day 14:30
jobs:
e2e-tests:
name: E2E experimental version tests
runs-on: ubuntu-latest
strategy:
matrix:
suite: [alertmanager, prometheus, prometheusAllNS, thanosruler, operatorUpgrade]
include:
- suite: alertmanager
prometheus: "exclude"
prometheusAllNS: "exclude"
alertmanager: ""
thanosruler: "exclude"
operatorUpgrade: "exclude"
- suite: prometheus
prometheus: ""
prometheusAllNS: "exclude"
alertmanager: "exclude"
thanosruler: "exclude"
operatorUpgrade: "exclude"
- suite: prometheusAllNS
prometheus: "exclude"
prometheusAllNS: ""
alertmanager: "exclude"
thanosruler: "exclude"
operatorUpgrade: "exclude"
- suite: thanosruler
prometheus: "exclude"
prometheusAllNS: "exclude"
alertmanager: "exclude"
thanosruler: ""
operatorUpgrade: "exclude"
- suite: operatorUpgrade
prometheus: "exclude"
prometheusAllNS: "exclude"
alertmanager: "exclude"
thanosruler: "exclude"
operatorUpgrade: ""
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- name: Build images
run: |
export SHELL=/bin/bash
make build image
- name: Start kind cluster
uses: helm/[email protected]
with:
version: ${{ env.kind-version }}
node_image: ${{ env.kind-image }}
wait: 300s
config: ./test/e2e/kind-conf.yaml
cluster_name: e2e
- name: Wait for cluster to finish bootstraping
run: |
echo "Waiting for all nodes to be ready..."
kubectl wait --for=condition=Ready nodes --all --timeout=120s
kubectl get nodes
echo "Waiting for all pods to be ready..."
kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s
kubectl get pods -A
echo "Cluster information"
kubectl cluster-info
- name: Load images
run: |
kind load docker-image -n e2e quay.io/prometheus-operator/prometheus-operator:$(git rev-parse --short HEAD)
kind load docker-image -n e2e quay.io/prometheus-operator/prometheus-config-reloader:$(git rev-parse --short HEAD)
kind load docker-image -n e2e quay.io/prometheus-operator/admission-webhook:$(git rev-parse --short HEAD)
kubectl apply -f scripts/kind-rbac.yaml
- name: Run tests
run: >
TEST_EXPERIMENTAL_PROMETHEUS=true
EXCLUDE_ALERTMANAGER_TESTS=${{ matrix.alertmanager }}
EXCLUDE_PROMETHEUS_TESTS=${{ matrix.prometheus }}
EXCLUDE_PROMETHEUS_ALL_NS_TESTS=${{ matrix.prometheusAllNS }}
EXCLUDE_THANOSRULER_TESTS=${{ matrix.thanosruler }}
EXCLUDE_OPERATOR_UPGRADE_TESTS=${{ matrix.operatorUpgrade }}
EXCLUDE_FEATURE_GATED_TESTS=exclude
EXCLUDE_PROMETHEUS_UPGRADE_TESTS=exclude
make test-e2e
# Added to summarize the matrix and allow easy branch protection rules setup
e2e-tests-result:
name: End-to-End Test Results
if: always()
needs:
- e2e-tests
runs-on: ubuntu-latest
steps:
- name: Mark the job as a success
if: needs.e2e-tests.result == 'success'
run: exit 0
- name: Mark the job as a failure
if: needs.e2e-tests.result != 'success'
run: exit 1
1 change: 1 addition & 0 deletions .github/workflows/test-prom-version-upgrade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ jobs:
kubectl apply -f scripts/kind-rbac.yaml
- name: Run tests
run: >
TEST_EXPERIMENTAL_PROMETHEUS=false
EXCLUDE_ALL_NS_TESTS=exclude
EXCLUDE_ALERTMANAGER_TESTS=exclude
EXCLUDE_PROMETHEUS_TESTS=exclude
Expand Down
8 changes: 8 additions & 0 deletions .mdox.validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ timeout: "1m"
explicitLocalValidators: true

validators:
# Skip localhost examples.
- regex: 'localhost'
type: "ignore"
# docs.github.com returns 403 if not in browser. Cannot curl as well.
- regex: 'docs\.github\.com'
type: "ignore"
Expand Down Expand Up @@ -31,3 +34,8 @@ validators:
# Ignore anchor links pointing to the API documentation which are HTML <a> tags and not supported by mdox.
- regex: 'api\.md#monitoring\.coreos\.com/v1\.(BasicAuth|PrometheusSpec|StorageSpec)$'
type: ignore
# Use the githubPullsIssues validator to avoid rate-limiting.
- regex: '(^http[s]?:\/\/)(www\.)?(github\.com\/)prometheus-operator\/prometheus-operator(\/pull\/|\/issues\/)'
type: githubPullsIssues
# The GitHub actions running mdox configure the GITHUB_TOKEN environment variable.
token: '$(GITHUB_TOKEN)'
26 changes: 26 additions & 0 deletions ADOPTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,19 @@ Details:
- 800K samples/s
- 30M active series

## DACHS IT

[dachs-it.de](https://dachs-it.de)

Environments: AWS, Azure, Bare Metal

Uses [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus): No

Details (optional):
- HA Pair of Prometheus
- 25k samples/s
- 750k active series

## Deckhouse

[deckhouse.io](https://deckhouse.io/)
Expand Down Expand Up @@ -135,6 +148,19 @@ Details:
- 20000 samples/s
- 1M active series

## iFlytek

https://www.iflytek.com/

Environments: iflytek Cloud, etc

Uses [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus): Yes

Details (optional):
- One prometheus operator per management cluster and one prometheus instance per workload cluster
- 700000 samples/s
- 30M active series

## Innovaccer

https://innovaccer.com/
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
## Unreleased

## 0.77.0 / 2024-09-19

> [!NOTE]
> Along with this release we also introduce a new command line tool [poctl](https://github.com/prometheus-operator/poctl). It is designed specifically for managing Prometheus Operator Custom Resources.
> This project is currently under active development and fully experimental, so expect breaking changes and rough edges. We encourage you to [try it out](https://github.com/prometheus-operator/poctl/releases/tag/v0.1.0) and provide the feedback.
> [!WARNING]
> Another notable change is that we have switched the logging framework from [go-kit/log](https://github.com/go-kit/log) to [slog](https://pkg.go.dev/log/slog) which may lead to some differences in the log output.
* [CHANGE] Add more API validation and changes to the `ScrapeConfig` CRD. #6921 #6855 #6744
* [CHANGE] Update the validating webhook to reject `PrometheusRule` objects that would generate configuration greater than the max ConfigMap size (512KiB). #6606
* [FEATURE] Add experimental Prometheus 3 support. It allows to try the new Prometheus `v3.0.0-beta.0`. #6940
* Feature requests in this version won't be supported until Prometheus 3 reaches a stable release. However, users are encouraged to try the beta version with the Operator and report any issues they encounter.
* [FEATURE] Add support for `PodMonitor` to the `PrometheusAgent` CRD in DaemonSet mode. #6879
* [FEATURE] Add `-kubelet-endpointslice` argument to support `EndpointSlice` for the kubelet controller. #6882
* [FEATURE] Add `outOfOrderTimeWindow` field to the `PrometheusAgent` CRD. #6851
* [FEATURE] Add `matchFirstNetwork` field to the `ScrapeConfig` CRD for the Docker Service Discovery. #6849 #6894
* [FEATURE] Add the `otlp` field to the `Prometheus` and `PrometheusAgent` CRDs. #6780
* [FEATURE] Add support for certificate, key and client CA file paths to the web TLS configuration. #6358
* [FEATURE] Add `noProxy`, `proxyFromEnvironment` and `proxyConnectHeader` fields to the AlertmanagerConfig CRD for OAuth2 clients. #6922
* [FEATURE] Add `noProxy`, `proxyFromEnvironment` and `proxyConnectHeader` fields to the AlertmanagerConfig CRD for HTTP clients. #6864
* [FEATURE] Add Ionos Service Discovery support to `ScrapeConfig` CRD. (#6732)
* [BUGFIX] Fix panic when processing an invalid `AlertmanagerConfig` object used for global configuration. #6931
* [BUGFIX] Allow configuring proxy URL for all Prometheus versions. #6845

## 0.76.2 / 2024-09-09

* [BUGFIX] Fix OAuth2 TLSConfig nil pointer. #6909

## 0.76.1 / 2024-09-03

* [BUGFIX] fix bug with Kubernetes service discovery `Selector.Role` field. #6896

## 0.76.0 / 2024-08-08

* [CHANGE] Enhanced secret management in Prometheus and PrometheusAgent CRDs by switching the secrets field from atomic to listType: set, allowing independent handling of entries by different managers to prevent conflicts and improve deployment stability. #6762
* [CHANGE] Add API-level validations to Kubernetes SD in the ScrapeConfig CRD. #6678
* [FEATURE] Add TLS and Proxy settings to OAuth2 configuration for Prometheus and PrometheusAgent CRDs. #6735
* [FEATURE] Add support for OAuth2 in the ScrapeConfig CRD. #6814
* [FEATURE] Add scale subresource to the Alertmanger CRD. #6728
* [FEATURE] Add Scaleway service discovery to the ScrapeConfig CRD. #6711
* [FEATURE] Add `serviceDiscoveryRole` field to the Prometheus and PrometheusAgent CRDs to select between Endpoints (default) and EndpointSlice for discovering scrape and alerting targets. #6672
* [ENHANCEMENT] Make the `namespace` field optional in the Alertmanager endpoints configuration of the Prometheus CRD, if not defined it will use the `default` namespace. #6338
* [ENHANCEMENT] Add support to configure the TLS version for Prometheus, PrometheusAgent and Alertmanager CRDs. #6736
* [ENHANCEMENT] Add `-secret-label-selector` argument to the operator to filter the Secrets being watched. #6731
* [ENHANCEMENT] Add `attachMetadata` field to ScrapeClasses. #6756
* [BUGFIX] Add support for all proxy settings in the Alertmanager configuration. #6818

## 0.75.2 / 2024-07-23

* [BUGFIX] Avoid invalid alerting config with TLS. #6765
Expand Down
12 changes: 8 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
weight: 120
weight: 501
toc: true
title: Contributing
menu:
docs:
parent: prologue
parent: community
lead: ""
lastmod: "2021-03-08T08:48:57+00:00"
images: []
Expand Down Expand Up @@ -127,11 +127,14 @@ Similarly, if you work on a specific branch, you can run the `scripts/run-extern

# Proposal Process

The Prometheus Operator project accepts proposals for new features, enhancements and design documents.
Proposals can be submitted in the form of a pull request using the template below.
The Prometheus Operator project accepts proposals for new features,
enhancements and design documents. The document should be created in the
`Documentation/proposals` directory using the template below, prefixed by
`<YEAR><MONTH>-` and submitted in the form of a GitHub Pull Request.

The process is adopted from the Thanos community.

```markdown mdox-exec="cat Documentation/proposals/template.md"
## Your Proposal Title

* **Owners:**
Expand Down Expand Up @@ -211,3 +214,4 @@ The tasks to do in order to migrate to the new idea.
<gh issue="">

...
```
12 changes: 12 additions & 0 deletions DCO
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
---
weight: 503
toc: true
title: DCO
menu:
docs:
parent: community
lead: ""
images: []
draft: false
---

Developer Certificate of Origin
Version 1.1

Expand Down
Loading

0 comments on commit ae77a4e

Please sign in to comment.