Skip to content

fix: flip weight semantics - higher weight takes precedence#9046

Merged
naemono merged 7 commits intoelastic:mainfrom
pkoutsovasilis:fix/flip_scp_weight_semantics
Jan 18, 2026
Merged

fix: flip weight semantics - higher weight takes precedence#9046
naemono merged 7 commits intoelastic:mainfrom
pkoutsovasilis:fix/flip_scp_weight_semantics

Conversation

@pkoutsovasilis
Copy link
Contributor

This PR flips the semantics of weight property of StackConfigPolicy and now policies with higher weight take precedence. Follow up of this comment

@prodsecmachine
Copy link
Collaborator

prodsecmachine commented Jan 16, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions
Copy link

github-actions bot commented Jan 16, 2026

🔍 Preview links for changed docs

pkoutsovasilis and others added 2 commits January 16, 2026 20:22
Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>
Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>
pkoutsovasilis and others added 3 commits January 16, 2026 21:32
Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
Copy link
Contributor

@naemono naemono left a comment

Choose a reason for hiding this comment

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

lgtm

Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>
@naemono naemono merged commit afa5b3b into elastic:main Jan 18, 2026
10 checks passed
naemono added a commit to naemono/cloud-on-k8s that referenced this pull request Jan 18, 2026
…9046)

* fix: flip weight semantics - higher weight takes precedence

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>

---------

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>
Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>
(cherry picked from commit afa5b3b)
@naemono
Copy link
Contributor

naemono commented Jan 18, 2026

💚 All backports created successfully

Status Branch Result
3.3

Questions ?

Please refer to the Backport tool documentation

pkoutsovasilis added a commit that referenced this pull request Jan 19, 2026
) (#9048)

* fix: flip weight semantics - higher weight takes precedence (#9046)

* fix: flip weight semantics - higher weight takes precedence

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/controller_test.go

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>

* Update pkg/controller/stackconfigpolicy/stackconfigpolicy.go

Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>

---------

Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>
Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>
(cherry picked from commit afa5b3b)

* Update api reference for 3.3 (make generate)

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>

---------

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Panos Koutsovasilis <panos.koutsovasilis@elastic.co>
Co-authored-by: Karthikeyan Valliyurnatt <135071014+kvalliyurnatt@users.noreply.github.com>
Co-authored-by: Peter Brachwitz <peter.brachwitz@gmail.com>
@pebrc pebrc added the exclude-from-release-notes Exclude this PR from appearing in the release notes label Jan 21, 2026
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Feb 3, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [eck-operator](https://github.com/elastic/cloud-on-k8s) | minor | `3.2.0` → `3.3.0` |

---

### Release Notes

<details>
<summary>elastic/cloud-on-k8s (eck-operator)</summary>

### [`v3.3.0`](https://github.com/elastic/cloud-on-k8s/releases/tag/v3.3.0)

[Compare Source](elastic/cloud-on-k8s@v3.2.0...v3.3.0)

##### Elastic Cloud on Kubernetes 3.3.0

- [Quickstart guide](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s#eck-quickstart)

##### Release Highlights

##### AutoOps Integration (Enterprise feature)

ECK now supports integration with Elastic AutoOps through a new `AutoOpsAgentPolicy` custom resource. This allows you to instrument multiple Elasticsearch clusters at once for automated health monitoring and performance recommendations. The [AutoOps documentation](https://www.elastic.co/docs/deploy-manage/monitor/autoops) provides more details.

##### Elastic Package Registry Integration

ECK now supports deploying and managing Elastic Package Registry (EPR) through a new `PackageRegistry` custom resource. This is particularly useful for air-gapped environments, enabling Kibana to reference a self-hosted registry instead of the public one. The [package registry documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/package-registry) provides more details.

##### Multiple Stack Configuration Policies composition support (Enterprise feature)

ECK now includes support for multiple Stack Config Policies targeting the same Elasticsearch cluster or Kibana instance, using a weight-based priority system for deterministic policy composition. The [stack config policy documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies) provides more details.

##### Features and enhancements

- AutoOpsAgentPolicy support [#&#8203;8941](elastic/cloud-on-k8s#8941) (issue: [#&#8203;8789](elastic/cloud-on-k8s#8789))
- ElasticPackageRegistry support [#&#8203;8800](elastic/cloud-on-k8s#8800) (issue: [#&#8203;8925](elastic/cloud-on-k8s#8925))
- Stack Config Policies composition support [#&#8203;8917](elastic/cloud-on-k8s#8917)
- Use standard Kibana labels and Helm labels on the ECK Operator pod [#&#8203;8840](elastic/cloud-on-k8s#8840) (issue: [#&#8203;8584](elastic/cloud-on-k8s#8584))
- Add service customization support for Elasticsearch remote cluster server [#&#8203;8892](elastic/cloud-on-k8s#8892)
- Removal of Elasticsearch 6.x support from codebase [#&#8203;8979](elastic/cloud-on-k8s#8979)

##### Fixes

- Upgrade master StatefulSets last when performing a version upgrade of Elasticsearch [#&#8203;8871](elastic/cloud-on-k8s#8871) (issue: [#&#8203;8429](elastic/cloud-on-k8s#8429))
- Fix race condition for pre-existing Stack Config Policy [#&#8203;8928](elastic/cloud-on-k8s#8928) (issue: [#&#8203;8912](elastic/cloud-on-k8s#8912))
- Do not set Kibana server.name [#&#8203;8930](elastic/cloud-on-k8s#8930) (issue: [#&#8203;8929](elastic/cloud-on-k8s#8929))
- Do not write `elasticsearch.k8s.elastic.co/managed-remote-clusters` when not necessary [#&#8203;8932](elastic/cloud-on-k8s#8932) (issue: [#&#8203;8781](elastic/cloud-on-k8s#8781))
- Cleanup orphaned secret mounts when removed from StackConfigPolicy [#&#8203;8937](elastic/cloud-on-k8s#8937) (issue: [#&#8203;8921](elastic/cloud-on-k8s#8921))
- Avoid duplicate error logging for generate GET operations on a GVK [#&#8203;8957](elastic/cloud-on-k8s#8957)
- Remove single master at a time upscale restriction [#&#8203;8940](elastic/cloud-on-k8s#8940) (issue: [#&#8203;8939](elastic/cloud-on-k8s#8939))
- AutoOps: Ignore deprecated ES clusters [#&#8203;9008](elastic/cloud-on-k8s#9008) (issue: [#&#8203;9000](elastic/cloud-on-k8s#9000))
- AutoOps: Require 9.2.1 for AutoOps agent [#&#8203;9007](elastic/cloud-on-k8s#9007) (issue: [#&#8203;9000](elastic/cloud-on-k8s#9000))
- Multi-SCP: Flip weight semantics - higher weight takes precedence [#&#8203;9046](elastic/cloud-on-k8s#9046)

##### Documentation improvements

- Update Google Cloud LoadBalancer recipe for new requirements [#&#8203;8843](elastic/cloud-on-k8s#8843)
- Fix minUnavailable typo in PDB documentation [#&#8203;8898](elastic/cloud-on-k8s#8898)
- Use GKE ComputeClass instead of DaemonSet for GKE AutoPilot [#&#8203;8982](elastic/cloud-on-k8s#8982)
- Adjust `vm.max_map_count` to [`1048576`](elastic/cloud-on-k8s@1048576) in GKE AutoPilot recipes [#&#8203;8986](elastic/cloud-on-k8s#8986)
- Remove support for Stack 7.17. [#&#8203;9038](elastic/cloud-on-k8s#9038)

##### Dependency updates

- Go 1.25.2 => 1.25.6
- github.com/KimMachineGun/automemlimit v0.7.4 => v0.7.5
- github.com/elastic/go-ucfg v0.8.9-0.20250307075119-2a22403faaea => v0.8.9-0.20251017163010-3520930bed4f
- github.com/gkampitakis/go-snaps v0.5.15 => v0.5.19
- github.com/google/go-containerregistry v0.20.6 => v0.20.7
- github.com/googlecloudplatform/compute-class-api => v0.0.0-20251208134148-ae2e7936c1f8
- github.com/prometheus/common v0.67.1 => v0.67.5
- github.com/spf13/cobra v1.10.1 => v1.10.2
- go.elastic.co/apm/v2 v2.7.1 => v2.7.2
- go.uber.org/zap v1.27.0 => v1.27.1
- golang.org/x/crypto v0.40.0 => v0.46.0
- k8s.io/api v0.34.1 => v0.35.0
- k8s.io/apimachinery v0.34.1 => v0.35.0
- k8s.io/client-go v0.34.1 => v0.35.0
- k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 => v0.0.0-20251002143259-bc988d571ff4
- sigs.k8s.io/controller-runtime v0.22.2 => v0.22.4
- sigs.k8s.io/controller-tools v0.19.0 => v0.20.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjMiLCJ1cGRhdGVkSW5WZXIiOiI0My4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNoYXJ0Il19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3682
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Feb 3, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [elastic/cloud-on-k8s](https://github.com/elastic/cloud-on-k8s) | minor | `v3.2.0` → `v3.3.0` |

---

### Release Notes

<details>
<summary>elastic/cloud-on-k8s (elastic/cloud-on-k8s)</summary>

### [`v3.3.0`](https://github.com/elastic/cloud-on-k8s/releases/tag/v3.3.0)

[Compare Source](elastic/cloud-on-k8s@v3.2.0...v3.3.0)

### Elastic Cloud on Kubernetes 3.3.0

- [Quickstart guide](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s#eck-quickstart)

##### Release Highlights

##### AutoOps Integration (Enterprise feature)

ECK now supports integration with Elastic AutoOps through a new `AutoOpsAgentPolicy` custom resource. This allows you to instrument multiple Elasticsearch clusters at once for automated health monitoring and performance recommendations. The [AutoOps documentation](https://www.elastic.co/docs/deploy-manage/monitor/autoops) provides more details.

##### Elastic Package Registry Integration

ECK now supports deploying and managing Elastic Package Registry (EPR) through a new `PackageRegistry` custom resource. This is particularly useful for air-gapped environments, enabling Kibana to reference a self-hosted registry instead of the public one. The [package registry documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/package-registry) provides more details.

##### Multiple Stack Configuration Policies composition support (Enterprise feature)

ECK now includes support for multiple Stack Config Policies targeting the same Elasticsearch cluster or Kibana instance, using a weight-based priority system for deterministic policy composition. The [stack config policy documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies) provides more details.

##### Features and enhancements

- AutoOpsAgentPolicy support [#&#8203;8941](elastic/cloud-on-k8s#8941) (issue: [#&#8203;8789](elastic/cloud-on-k8s#8789))
- ElasticPackageRegistry support [#&#8203;8800](elastic/cloud-on-k8s#8800) (issue: [#&#8203;8925](elastic/cloud-on-k8s#8925))
- Stack Config Policies composition support [#&#8203;8917](elastic/cloud-on-k8s#8917)
- Use standard Kibana labels and Helm labels on the ECK Operator pod [#&#8203;8840](elastic/cloud-on-k8s#8840) (issue: [#&#8203;8584](elastic/cloud-on-k8s#8584))
- Add service customization support for Elasticsearch remote cluster server [#&#8203;8892](elastic/cloud-on-k8s#8892)
- Removal of Elasticsearch 6.x support from codebase [#&#8203;8979](elastic/cloud-on-k8s#8979)

##### Fixes

- Upgrade master StatefulSets last when performing a version upgrade of Elasticsearch [#&#8203;8871](elastic/cloud-on-k8s#8871) (issue: [#&#8203;8429](elastic/cloud-on-k8s#8429))
- Fix race condition for pre-existing Stack Config Policy [#&#8203;8928](elastic/cloud-on-k8s#8928) (issue: [#&#8203;8912](elastic/cloud-on-k8s#8912))
- Do not set Kibana server.name [#&#8203;8930](elastic/cloud-on-k8s#8930) (issue: [#&#8203;8929](elastic/cloud-on-k8s#8929))
- Do not write `elasticsearch.k8s.elastic.co/managed-remote-clusters` when not necessary [#&#8203;8932](elastic/cloud-on-k8s#8932) (issue: [#&#8203;8781](elastic/cloud-on-k8s#8781))
- Cleanup orphaned secret mounts when removed from StackConfigPolicy [#&#8203;8937](elastic/cloud-on-k8s#8937) (issue: [#&#8203;8921](elastic/cloud-on-k8s#8921))
- Avoid duplicate error logging for generate GET operations on a GVK [#&#8203;8957](elastic/cloud-on-k8s#8957)
- Remove single master at a time upscale restriction [#&#8203;8940](elastic/cloud-on-k8s#8940) (issue: [#&#8203;8939](elastic/cloud-on-k8s#8939))
- AutoOps: Ignore deprecated ES clusters [#&#8203;9008](elastic/cloud-on-k8s#9008) (issue: [#&#8203;9000](elastic/cloud-on-k8s#9000))
- AutoOps: Require 9.2.1 for AutoOps agent [#&#8203;9007](elastic/cloud-on-k8s#9007) (issue: [#&#8203;9000](elastic/cloud-on-k8s#9000))
- Multi-SCP: Flip weight semantics - higher weight takes precedence [#&#8203;9046](elastic/cloud-on-k8s#9046)

##### Documentation improvements

- Update Google Cloud LoadBalancer recipe for new requirements [#&#8203;8843](elastic/cloud-on-k8s#8843)
- Fix minUnavailable typo in PDB documentation [#&#8203;8898](elastic/cloud-on-k8s#8898)
- Use GKE ComputeClass instead of DaemonSet for GKE AutoPilot [#&#8203;8982](elastic/cloud-on-k8s#8982)
- Adjust `vm.max_map_count` to [`1048576`](elastic/cloud-on-k8s@1048576) in GKE AutoPilot recipes [#&#8203;8986](elastic/cloud-on-k8s#8986)
- Remove support for Stack 7.17. [#&#8203;9038](elastic/cloud-on-k8s#9038)

##### Dependency updates

- Go 1.25.2 => 1.25.6
- github.com/KimMachineGun/automemlimit v0.7.4 => v0.7.5
- github.com/elastic/go-ucfg v0.8.9-0.20250307075119-2a22403faaea => v0.8.9-0.20251017163010-3520930bed4f
- github.com/gkampitakis/go-snaps v0.5.15 => v0.5.19
- github.com/google/go-containerregistry v0.20.6 => v0.20.7
- github.com/googlecloudplatform/compute-class-api => v0.0.0-20251208134148-ae2e7936c1f8
- github.com/prometheus/common v0.67.1 => v0.67.5
- github.com/spf13/cobra v1.10.1 => v1.10.2
- go.elastic.co/apm/v2 v2.7.1 => v2.7.2
- go.uber.org/zap v1.27.0 => v1.27.1
- golang.org/x/crypto v0.40.0 => v0.46.0
- k8s.io/api v0.34.1 => v0.35.0
- k8s.io/apimachinery v0.34.1 => v0.35.0
- k8s.io/client-go v0.34.1 => v0.35.0
- k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 => v0.0.0-20251002143259-bc988d571ff4
- sigs.k8s.io/controller-runtime v0.22.2 => v0.22.4
- sigs.k8s.io/controller-tools v0.19.0 => v0.20.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjMiLCJ1cGRhdGVkSW5WZXIiOiI0My4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3685
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>bug Something isn't working exclude-from-release-notes Exclude this PR from appearing in the release notes v3.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants