Skip to content

Add mode field in PrometheusAgent CRD #6640

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 4, 2024

Conversation

haanhvu
Copy link
Contributor

@haanhvu haanhvu commented Jun 3, 2024

Description

Add mode field in PrometheusAgent CRD that allows either StatefulSet (already supported) or DaemonSet (will be supported) in PrometheusAgent CRD.
At the moment, we just need the field to have different configuration for the two modes (for example, to add NODE_NAME env in config reloader for DaemonSet mode in #6636). We don't change the operator's behaviors according to the field yet. This will be done in later PRs.

Type of change

What type of changes does your code introduce to the Prometheus operator? Put an x in the box that apply.

  • CHANGE (fix or feature that would cause existing functionality to not work as expected)
  • FEATURE (non-breaking change which adds functionality)
  • BUGFIX (non-breaking change which fixes an issue)
  • ENHANCEMENT (non-breaking change which improves existing functionality)
  • NONE (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)

Verification

At the moment we just need to add the field. No need for verification yet.

Changelog entry

Add mode field in PrometheusAgent CRD

@haanhvu haanhvu requested a review from a team as a code owner June 3, 2024 06:37
Comment on lines 94 to 96
// +kubebuilder:default="StatefulSet"
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
Mode string `json:"mode,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add a few sentences to set the expectations. I'll also drop the default marker to avoid confusing the users (otherwise they'll get mode: StatefulSet in their API responses).
(nit) I realize that the feature gate is PrometheusAgentDaemonset while the mode value says DaemonSet. Not a big deal but the latter is more correct so we might want to fix the feature gate name.

Suggested change
// +kubebuilder:default="StatefulSet"
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
Mode string `json:"mode,omitempty"`
// Mode defines how the Prometheus operator deploys the PrometheusAgent pods.
// For now this field has no effect.
//
// (Alpha) Using this field requires the `PrometheusAgentDaemonset` feature gate to be enabled.
//
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
// +optional
Mode *string `json:"mode,omitempty"`

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I fixed all these in the last commit (feature gate is not related to this PR, but it's just a typo fix though)

Copy link
Contributor

@simonpasquier simonpasquier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'll let @ArthurSens and @kakkoyun chime in.

Comment on lines +94 to 103
// Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s).
// For now this field has no effect.
//
// (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled.
//
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
// +optional
Mode *string `json:"mode,omitempty"`

monitoringv1.CommonPrometheusFields `json:",inline"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stylistic suggestion: I'd put the inline struct first.

Suggested change
// Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s).
// For now this field has no effect.
//
// (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled.
//
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
// +optional
Mode *string `json:"mode,omitempty"`
monitoringv1.CommonPrometheusFields `json:",inline"`
monitoringv1.CommonPrometheusFields `json:",inline"`
// Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s).
// For now this field has no effect.
//
// (Alpha) Using this field requires the `PrometheusAgentDaemonSet` feature gate to be enabled.
//
// +kubebuilder:validation:Enum=StatefulSet;DaemonSet
// +optional
Mode *string `json:"mode,omitempty"`

Copy link
Contributor Author

@haanhvu haanhvu Jun 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense. But I don't know if changing the order of fields in the codebase also changes the order of fields in the doc? I think it's best for users to see the mode field before the fields of the modes (i.e., know what modes are available first, then configure the chosen mode).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say that for now it's probably to "bury" the mode field at the bottom of the table but I also agree that eventually it can be moved back to the top. No strong feeling either way TBH.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just checked the doc. Turned out the order of fields in doc doesn't follow the order in code, but the alphabet... I'll change the order in the code as you suggested then. But eventually I think it would be best to somehow show mode at the top. @ArthurSens Is it possible to do that in the doc? (asking you since you're working on doc and website)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know, we need to investigate 😬

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently mode is showing at the top(on the website). I will check how to change the order.

Copy link
Contributor Author

@haanhvu haanhvu Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently mode is showing at the top(on the website). I will check how to change the order.

Oh, really? Then it's good. That's what we want. No need to do anything more.

I just checked the doc. Turned out the order of fields in doc doesn't follow the order in code, but the alphabet...

Scratch this. I checked this in bundle.yaml, while I should have checked api.md instead. Sorry for that :)

Copy link
Member

@ArthurSens ArthurSens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, nothing to add :)

@simonpasquier simonpasquier merged commit fa37a77 into prometheus-operator:main Jun 4, 2024
17 checks passed
openshift-merge-bot bot pushed a commit to stolostron/prometheus-operator that referenced this pull request Aug 2, 2024
* fix: ScrapeClass TLSConfig nil pointer exception (prometheus-operator#6507)


Signed-off-by: Simon Pasquier <[email protected]>

* Update .github/workflows/stale.yaml

Co-authored-by: Jayapriya Pai <[email protected]>

* build(deps): bump github.com/prometheus/common from 0.52.3 to 0.53.0

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.52.3 to 0.53.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.52.3...v0.53.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /scripts

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.21.0 to 0.23.0.
- [Commits](golang/net@v0.21.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 in /pkg/client

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](golang/net@v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore:cut v0.73.2

Signed-off-by: Jayapriya Pai <[email protected]>

Co-authored-by: Simon Pasquier <[email protected]>

* chore: update RELEASE.md instructions (prometheus-operator#6539)

* chore: update RELEASE.md instructions

Signed-off-by: Jayapriya Pai <[email protected]>

* Update RELEASE.md

Co-authored-by: Arthur Silva Sens <[email protected]>

---------

Signed-off-by: Jayapriya Pai <[email protected]>
Co-authored-by: Arthur Silva Sens <[email protected]>

* update golangci-lint version (prometheus-operator#6543)

Signed-off-by: dongjiang1989 <[email protected]>

* feat(xds): Add support nomad service discovery to the ScrapeConfig CRD (prometheus-operator#6485)

* add support for nomad sd

Signed-off-by: dongjiang1989 <[email protected]>

* fix generate checks

Signed-off-by: Jayapriya Pai <[email protected]>

* build(deps): bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 (prometheus-operator#6547)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v4.0.0...v5.0.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump helm/kind-action from 1.9.0 to 1.10.0

Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](helm/kind-action@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: bump k8s libs to v0.30.0

Signed-off-by: Simon Pasquier <[email protected]>

* chore: refactor the assets package

This commit simplifies the API of the assets package. To limit the
impact, it tackles only Basic Auth secrets for now.

Previous API:

```
// storing the credentials from function A
err = store.AddBasicAuth(ctx, namespace, httpConfig.BasicAuth, "some key")

// retrieving the credentials from function B
basicAuth := store.BasicAuthAssets["some key"]
```

New API:

```
// storing the credentials from function A
err = store.AddBasicAuth(ctx, namespace, httpConfig.BasicAuth)

// retrieving the credentials from function B
s := store.ForNamespace(namespace)
username, err := s.GetSecretKey(basicAuth.Username)
password, err := s.GetSecretKey(basicAuth.Password)
```

The main simplification is that function B doesn't need to know how
function A built the key value. It also makes testing more decoupled and
reduces the risk of leaking data across namespaces.

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump sigs.k8s.io/controller-runtime from 0.17.3 to 0.18.0

Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.17.3 to 0.18.0.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.17.3...v0.18.0)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Chore: Change *RelabelConfigs to values instead of Pointers  (prometheus-operator#6479)

Signed-off-by: Simon Pasquier <[email protected]>

---------

Signed-off-by: Simon Pasquier <[email protected]>
Co-authored-by: Simon Pasquier <[email protected]>

* doc: fix sample port name used

* build(deps): bump golangci/golangci-lint-action from 5.0.0 to 5.1.0

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.0

Bumps google.golang.org/protobuf from 1.33.0 to 1.34.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: refactor OAuth2 in the assets package

This is the follow-up of prometheus-operator#6537 for OAuth2 credentials.

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump sigs.k8s.io/controller-runtime from 0.18.0 to 0.18.1

Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.0 to 0.18.1.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.18.0...v0.18.1)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump github.com/thanos-io/thanos from 0.34.1 to 0.35.0

Bumps [github.com/thanos-io/thanos](https://github.com/thanos-io/thanos) from 0.34.1 to 0.35.0.
- [Release notes](https://github.com/thanos-io/thanos/releases)
- [Changelog](https://github.com/thanos-io/thanos/blob/main/CHANGELOG.md)
- [Commits](thanos-io/thanos@v0.34.1...v0.35.0)

---
updated-dependencies:
- dependency-name: github.com/thanos-io/thanos
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* feat: add Go runtime scheduler metrics

Signed-off-by: Simon Pasquier <[email protected]>

* chore: add link to public calendar (prometheus-operator#6564)

Signed-off-by: Simon Pasquier <[email protected]>

* Add testing steps for podman with kind (prometheus-operator#6509)

* chore: Add testing instructions for using Podman with Kind

* chore: fixing typos

* Update formatting according to the failing checks.

* Removed whitespace to match the standard.

* Updating according to the suggestions from review.

* update prometheus version

Signed-off-by: dongjiang1989 <[email protected]>

* build(deps): bump golangci/golangci-lint-action from 5.1.0 to 5.3.0

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.1.0 to 5.3.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v5.1.0...v5.3.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: make TLSConfig fields optional

This commit changes the `serverName` and `insecureSkipVerify` fields of
TLS configuration to pointers instead of values.

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump sigs.k8s.io/controller-runtime from 0.18.1 to 0.18.2

Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.1 to 0.18.2.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.18.1...v0.18.2)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.24.0 to 0.25.0.
- [Commits](golang/net@v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix: apply TLS scrape class to all objects

Before this change, the TLS configuration from the scrape class wasn't
applied to the generated configuration for PodMonitor, ScrapeConfig and
Probe objects.

Closes prometheus-operator#6556

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump google.golang.org/protobuf from 1.34.0 to 1.34.1

Bumps google.golang.org/protobuf from 1.34.0 to 1.34.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* update thanos version

Signed-off-by: dongjiang1989 <[email protected]>

* fix mistake by make generate

Signed-off-by: dongjiang1989 <[email protected]>

* build(deps): bump golangci/golangci-lint-action from 5.3.0 to 6.0.1

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.3.0 to 6.0.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v5.3.0...v6.0.1)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump github.com/prometheus/prometheus from 0.51.2 to 0.52.0

Bumps [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus) from 0.51.2 to 0.52.0.
- [Release notes](https://github.com/prometheus/prometheus/releases)
- [Changelog](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md)
- [Commits](prometheus/prometheus@v0.51.2...v0.52.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/prometheus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump github.com/prometheus/client_golang

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.0 to 1.19.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix: deref nil pointer on WebexConfig

Signed-off-by: Yoan Blanc <[email protected]>

* feat: add `go_sync_mutex_wait_total_seconds_total` metric

Signed-off-by: Simon Pasquier <[email protected]>

* chore: update golangci-lint configuration

Signed-off-by: Simon Pasquier <[email protected]>

* chore: update kind version to v0.23.0

Signed-off-by: Simon Pasquier <[email protected]>

* chore: update Prometheus to v2.52.0

Signed-off-by: Simon Pasquier <[email protected]>

* feat(ProxyConfig): Update CRD for ProxyConnectHeader type (prometheus-operator#6541)

* update CRD for ProxyConnectHeader

---------

Signed-off-by: dongjiang1989 <[email protected]>

* Feat: Add `relabel_configs` field to AlertmanagerEndpoints  (prometheus-operator#6467)

* Add RelabelConfigs to AlertmanagerEndpoints

* chore: Update vulnerable dependency golang.org/x/net

Signed-off-by: Arthur Silva Sens <[email protected]>

* chore: bump k8s libraries

Signed-off-by: Simon Pasquier <[email protected]>

* feat(env):  auto set GOMAXPROCS by go.uber.org/automaxprocs (prometheus-operator#6576)


---------

Signed-off-by: dongjiang1989 <[email protected]>

* feat: support SDK auth in AzureSD

Related-to prometheus-operator#6584

Signed-off-by: Jayapriya Pai <[email protected]>

* feat: support SDK auth in AzureAD RemoteWrite

Related-to prometheus-operator#6584

Signed-off-by: Jayapriya Pai <[email protected]>

* Update promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Add structure for feature flags

Signed-off-by: Arthur Silva Sens <[email protected]>

* [WIP] Feat: Add `alert_relabel_configs` to the Prometheus and PrometheusAgent CRD's (prometheus-operator#6450)

* AlertmanagerEndpoints: add alertRelabelingConfigs field to AlertmanagerEndpoints

* alertmanagerEndpoints: wrap errors and fix naming for tests

* fix: attempt to manually revert mistakenly commited code

* chore: cut v0.74.0

Signed-off-by: Simon Pasquier <[email protected]>

* Corrected Documentation for xxxMonitorNamespaceSelector  (prometheus-operator#6605)

Chore: Clarify that null is the default value for Service/PodMonitor selectors

* Reload alert manager when notification templates change (prometheus-operator#6607)

* Reload alert manager when notification templates change

* feat: add automatic GOMAXPROCS to admission webhook

Signed-off-by: Simon Pasquier <[email protected]>

* crd: add support for source pagerduty_config option in AlertMananger CRD (prometheus-operator#6427)

* crd: add support for source pagerduty_config option in AlertMananger CRD

The AlertManager CRD was expected to have 1:1 fields mapped from
https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config
. Currently source was missing so it is added.


---------

Co-authored-by: Jayapriya Pai <[email protected]>

* AlertmanagerEndpoints: Move AlertmanagerEndpoints validation to pkg/prometheus/server

* chore: remove WebTLSConfigError

Signed-off-by: Simon Pasquier <[email protected]>

* chore: rework webconfig package

Signed-off-by: Simon Pasquier <[email protected]>

* Add extra metric relabelings to scrape classes

Signed-off-by: Mathieu Parent <[email protected]>

* bugfix: Fix bug created from race conditions during merge

Signed-off-by: Arthur Silva Sens <[email protected]>

* [CHORE] considering global limits over enforced

Signed-off-by: Nicolas Takashi <[email protected]>

* build(deps): bump sigs.k8s.io/controller-runtime from 0.18.2 to 0.18.3

Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.2 to 0.18.3.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.18.2...v0.18.3)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* e2e/framework: Allow setting feature-gates when creating Prometheus-Operator

Signed-off-by: Arthur Silva Sens <[email protected]>

* chore: add slashpai as release shepherd for v0.75

Signed-off-by: Jayapriya Pai <[email protected]>

* Make a cluster of 2 worker nodes for e2e

* [BUGFIX] Fix PrometheusAgent reconciliation for the statefulset changes (prometheus-operator#6615)

* [BUGFIX] Fix PrometheusAgent reconciliation for the statefulset changes

Signed-off-by: junotx <[email protected]>

---------

Signed-off-by: junotx <[email protected]>

* chore: add test for AlertmanagerConfig with subroutes

Signed-off-by: Simon Pasquier <[email protected]>

* Use functional options pattern for Prometheus Controller

Signed-off-by: Arthur Silva Sens <[email protected]>

* ScrapeConfig: Add `JobName` field to the CRD

Co-authored-by: M Viswanath Sai <[email protected]>

* chore: fix testScrapeConfigKubernetesNodeRole()

Signed-off-by: Simon Pasquier <[email protected]>

* chore: bump k8s dependencies for api

regenerate assets

Fixes prometheus-operator#6617

Signed-off-by: Jayapriya Pai <[email protected]>

* [CHORE] allowing kubeconfig as parameter (prometheus-operator#6623)

Signed-off-by: Nicolas Takashi <[email protected]>

* Add feature gate for Prometheus Agent's DaemonSet deployment (prometheus-operator#6626)

* Add feature gate for Prometheus Agent's DaemonSet deployment

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* feat(env): Add automatic memory limit handling (prometheus-operator#6591)

* add auto GOMEMLIMIT

Signed-off-by: dongjiang1989 <[email protected]>


---------

Signed-off-by: dongjiang1989 <[email protected]>
Co-authored-by: Simon Pasquier <[email protected]>

* build(deps): bump github.com/KimMachineGun/automemlimit

Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/KimMachineGun/automemlimit/releases)
- [Commits](KimMachineGun/automemlimit@v0.6.0...v0.6.1)

---
updated-dependencies:
- dependency-name: github.com/KimMachineGun/automemlimit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* fix: use a separate port number for init container

The Kubernetes API starting from v1.30 will return a warning when a pod
template contains 2 containers exposing the same port number, even
across init and regular containers.

[1] kubernetes/kubernetes#113245

Signed-off-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* build(deps): bump github.com/prometheus/prometheus from 0.52.0 to 0.52.1

Bumps [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus) from 0.52.0 to 0.52.1.
- [Release notes](https://github.com/prometheus/prometheus/releases)
- [Changelog](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md)
- [Commits](prometheus/prometheus@v0.52.0...v0.52.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/prometheus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump github.com/thanos-io/thanos from 0.35.0 to 0.35.1

Bumps [github.com/thanos-io/thanos](https://github.com/thanos-io/thanos) from 0.35.0 to 0.35.1.
- [Release notes](https://github.com/thanos-io/thanos/releases)
- [Changelog](https://github.com/thanos-io/thanos/blob/v0.35.1/CHANGELOG.md)
- [Commits](thanos-io/thanos@v0.35.0...v0.35.1)

---
updated-dependencies:
- dependency-name: github.com/thanos-io/thanos
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* chore: refactor tokens management in the assets package

This is a follow-up of prometheus-operator#6537 and prometheus-operator#6557.

Signed-off-by: Simon Pasquier <[email protected]>

* chore: add test-e2e-image target to Makefile

This change also simplifies the end-to-end testing instructions.

Signed-off-by: Simon Pasquier <[email protected]>

* Add `mode` field in PrometheusAgent CRD (prometheus-operator#6640)

* Add mode field in PrometheusAgent CRD

* build(deps): bump github.com/prometheus/common from 0.53.0 to 0.54.0

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: refactor sigv4 management in the assets package

This is a follow-up of prometheus-operator#6537 and prometheus-operator#6557 and prometheus-operator#6641.

Signed-off-by: Simon Pasquier <[email protected]>

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* chore: refactor AzureAD management in the assets package

This is a follow-up of prometheus-operator#6537 and prometheus-operator#6557, prometheus-operator#6641 and prometheus-operator#6644.

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump github.com/prometheus-community/prom-label-proxy

Bumps [github.com/prometheus-community/prom-label-proxy](https://github.com/prometheus-community/prom-label-proxy) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/prometheus-community/prom-label-proxy/releases)
- [Changelog](https://github.com/prometheus-community/prom-label-proxy/blob/main/CHANGELOG.md)
- [Commits](prometheus-community/prom-label-proxy@v0.8.1...v0.9.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus-community/prom-label-proxy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump golang.org/x/net from 0.25.0 to 0.26.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.25.0 to 0.26.0.
- [Commits](golang/net@v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* ScrapeConfig CRD: Add DockerswarmSDConfigs to the ScrapeConfig CRD

* ScrapeConfig: Add LinodeSDConfigs To The ScrapeConfig CRD

* ScrapeConfig CRD: Add PuppetDB Service Discovery Configurations

* build(deps): bump sigs.k8s.io/controller-runtime from 0.18.3 to 0.18.4

Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.3 to 0.18.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.18.3...v0.18.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add NODE_NAME env in config reloader (prometheus-operator#6636)

* Add NODE_NAME env in config reloader

* feat: add `prometheus_operator_feature_gate_info` metric

This change also moves the feature gates to the operator config struct.
It means that after a feature gate is enabled/disabled, the operator
will reconcile the managed Prometheus resources which should be the
right thing to do.

Signed-off-by: Simon Pasquier <[email protected]>

* chore: bump code-generator to v0.30.1

The gen tools arguments have changed a bit, the Makefile commands have
been adjusted accordingly.

Signed-off-by: Simon Pasquier <[email protected]>

* Changed the description for ```overrideHonorLabels``` field (prometheus-operator#6653)

* Changed the decription for overrideHonorLabels

* Update pkg/prometheus/promcfg.go

Co-authored-by: Simon Pasquier <[email protected]>

* build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2

Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity

Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md)
- [Commits](Azure/azure-sdk-for-go@sdk/internal/v1.5.2...sdk/azcore/v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* build(deps): bump imjasonh/setup-crane from 0.3 to 0.4

Bumps [imjasonh/setup-crane](https://github.com/imjasonh/setup-crane) from 0.3 to 0.4.
- [Release notes](https://github.com/imjasonh/setup-crane/releases)
- [Commits](imjasonh/setup-crane@v0.3...v0.4)

---
updated-dependencies:
- dependency-name: imjasonh/setup-crane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* [Enhancement] Replacing t.Fatal with testify/require package  (prometheus-operator#6659)

chore: pkg/operator: Replace t.Fatal with require.testify

* chore: Add feature-gated tests to CI

Signed-off-by: Arthur Silva Sens <[email protected]>

* ScrapeConfig CRD: Add LightSail Service Discovery Config Options

* chore: bump to k8s.io libs v0.30.2

Signed-off-by: Simon Pasquier <[email protected]>

* build(deps): bump github.com/prometheus-community/prom-label-proxy

Bumps [github.com/prometheus-community/prom-label-proxy](https://github.com/prometheus-community/prom-label-proxy) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/prometheus-community/prom-label-proxy/releases)
- [Changelog](https://github.com/prometheus-community/prom-label-proxy/blob/main/CHANGELOG.md)
- [Commits](prometheus-community/prom-label-proxy@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus-community/prom-label-proxy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Alertmanager pkg,t.Fatal->require pkg

* chore: fix build after prom-label-proxy bump

Signed-off-by: Simon Pasquier <[email protected]>

* Replacing t.fatal with require Package  (prometheus-operator#6680)

chore: Replace t.Fatal with require package

* feat(remote): add support prometheus remote write/read ProxyConfig  (prometheus-operator#6512)

* update prometheus remote write/read proxy config

Signed-off-by: dongjiang1989 <[email protected]>



---------

Signed-off-by: dongjiang1989 <[email protected]>

* WIP: Refactor common test code between Prometheus Agent's StatefulSet and DaemonSet modes (prometheus-operator#6688)

* Refactor test code between Prometheus Agent's StatefulSet and DaemonSet modes

* update default thanos version

Signed-off-by: dongjiang1989 <[email protected]>

* build(deps): bump github.com/prometheus/prometheus from 0.52.1 to 0.53.0

Bumps [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus) from 0.52.1 to 0.53.0.
- [Release notes](https://github.com/prometheus/prometheus/releases)
- [Changelog](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md)
- [Commits](prometheus/prometheus@v0.52.1...v0.53.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/prometheus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* update prometheus version

Signed-off-by: dongjiang1989 <[email protected]>

* config-reloader: create correct probes when `listenLocal` is set to `true`

When the prometheus operator is started with `--enable-config-reloader-probes`
it will now create `exec` probes that run curl/wget in the config-reloader
container against localhost to check the /healthz endpoint if `listenLocal` is
set to `true`. Otherwise, it creates `httpGet` probes as before.

Fixes prometheus-operator#6682

* Nit: Check if EnableFeatures already contains agent mode's features (prometheus-operator#6701)

* Check if EnableFeatures already contains ageent mode's features

* [CHORE] Nicolas as release volunteer

Signed-off-by: Nicolas Takashi <[email protected]>

* Add `ttl` obj to alertmanagercfgs resource (prometheus-operator#6515)

* add ttl obj into alertmanagerConfig rsc


---------

Co-authored-by: Nicolas Takashi <[email protected]>
Co-authored-by: Simon Pasquier <[email protected]>

* chore: factorize prober code

This is a quick follow-up of prometheus-operator#6698.

Signed-off-by: Simon Pasquier <[email protected]>

* chore: Replace StringPtrValOrDefault with ptr.Deref

Signed-off-by: Arthur Silva Sens <[email protected]>

* Proposal for DaemonSet deployment of Prometheus Agent (prometheus-operator#6600)

chore: Add Proposal for Daemonset deployment of Prometheus Agent

* chore: refactor TLS management in the assets package

This is a follow-up of prometheus-operator#6537, prometheus-operator#6557, prometheus-operator#6641, prometheus-operator#6644 and prometheus-operator#6645.

Signed-off-by: Simon Pasquier <[email protected]>

* Refactor the common implementation code (not including tests) between Prometheus's modes (prometheus-operator#6686)

* Refactor the common implementation code (not including tests) between Prometheus's modes

* Continue prometheus-operator#6688: Refactor common test code between Prometheus modes (prometheus-operator#6694)

* chore: optimize get secret key from store (prometheus-operator#6700)

* optimize code

Signed-off-by: dongjiang1989 <[email protected]>


---------

Signed-off-by: dongjiang1989 <[email protected]>

* build(deps): bump github.com/go-test/deep from 1.1.0 to 1.1.1

Bumps [github.com/go-test/deep](https://github.com/go-test/deep) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/go-test/deep/releases)
- [Changelog](https://github.com/go-test/deep/blob/master/CHANGES.md)
- [Commits](go-test/deep@v1.1.0...v1.1.1)

---
updated-dependencies:
- dependency-name: github.com/go-test/deep
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: bump go dependencies before release

Signed-off-by: Jayapriya Pai <[email protected]>

* feat(xds): Add OVHcloud service discovery to the ScrapeConfig CRD (prometheus-operator#6689)

* add service discovery for ovhcloud

Signed-off-by: dongjiang1989 <[email protected]>

---------

Signed-off-by: dongjiang1989 <[email protected]>

* chore: cut 0.75.0

Signed-off-by: Jayapriya Pai <[email protected]>

* cherry-pick 6722

Signed-off-by: dongjiang1989 <[email protected]>

* chore: cut 0.75.1

Signed-off-by: Jayapriya Pai <[email protected]>

* fix: avoid invalid alerting config with TLS

Signed-off-by: Simon Pasquier <[email protected]>

* chore: cut 0.75.2

Signed-off-by: Jayapriya Pai <[email protected]>

* conflict fix

Signed-off-by: Coleen Iona Quadros <[email protected]>

* conflict

Signed-off-by: Coleen Iona Quadros <[email protected]>

* conflict files

Signed-off-by: Coleen Iona Quadros <[email protected]>

* conflict files

Signed-off-by: Coleen Iona Quadros <[email protected]>

* conflict files

Signed-off-by: Coleen Iona Quadros <[email protected]>

---------

Signed-off-by: Simon Pasquier <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Jayapriya Pai <[email protected]>
Signed-off-by: dongjiang1989 <[email protected]>
Signed-off-by: Yoan Blanc <[email protected]>
Signed-off-by: Arthur Silva Sens <[email protected]>
Signed-off-by: Arthur Silva Sens <[email protected]>
Signed-off-by: Mathieu Parent <[email protected]>
Signed-off-by: Nicolas Takashi <[email protected]>
Signed-off-by: junotx <[email protected]>
Signed-off-by: Coleen Iona Quadros <[email protected]>
Co-authored-by: Kemal Akkoyun <[email protected]>
Co-authored-by: Simon Pasquier <[email protected]>
Co-authored-by: Jayapriya Pai <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Arthur Silva Sens <[email protected]>
Co-authored-by: dongjiang <[email protected]>
Co-authored-by: M Viswanath Sai <[email protected]>
Co-authored-by: Horaci Macias <[email protected]>
Co-authored-by: Kapil Ramwani <[email protected]>
Co-authored-by: Nicolas Takashi <[email protected]>
Co-authored-by: Yoan Blanc <[email protected]>
Co-authored-by: Arthur Silva Sens <[email protected]>
Co-authored-by: Ashwin Sriram <[email protected]>
Co-authored-by: Muhammad Hamza Zaib <[email protected]>
Co-authored-by: mviswanathsai <[email protected]>
Co-authored-by: Mathieu Parent <[email protected]>
Co-authored-by: haanhvu <[email protected]>
Co-authored-by: junot <[email protected]>
Co-authored-by: janluak <_>
Co-authored-by: Ha Anh Vu <[email protected]>
Co-authored-by: Ashwin <[email protected]>
Co-authored-by: Simon Dickhoven <[email protected]>
Co-authored-by: Afzal Ansari <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Coleen Iona Quadros <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants