Skip to content

clustermesh: cli: output cluster values to dict conditionally#40959

Merged
marseel merged 5 commits intocilium:mainfrom
MrFreezeex:pr/mrfreezeex/cli-output-dict-cond
Aug 26, 2025
Merged

clustermesh: cli: output cluster values to dict conditionally#40959
marseel merged 5 commits intocilium:mainfrom
MrFreezeex:pr/mrfreezeex/cli-output-dict-cond

Conversation

@MrFreezeex
Copy link
Copy Markdown
Member

@MrFreezeex MrFreezeex commented Aug 5, 2025

Fixes #40796
Followup to #40879

First commit allow disabling ReuseValues on helm upgrade and second commit to output clustermesh.config.clusters to a dict if running Cilium >= 1.20. See the commit description for a bit more details.

clustermesh: cli: support outputting `clustermesh.config.clusters` to the new dict format if the cluster is running Cilium >= 1.20

Test PR to output in the dict format in >= 1.19: #40960

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 5, 2025
@github-actions github-actions bot added cilium-cli This PR contains changes related with cilium-cli cilium-cli-exclusive This PR only impacts cilium-cli binary labels Aug 5, 2025
@MrFreezeex MrFreezeex added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. area/clustermesh Relates to multi-cluster routing functionality in Cilium. and removed dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. labels Aug 5, 2025
@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch 2 times, most recently from 49ccc7c to 06909a2 Compare August 5, 2025 22:13
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 06909a2 to dc020b4 Compare August 5, 2025 22:51
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from dc020b4 to 6f287a1 Compare August 5, 2025 23:20
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 6f287a1 to 9473b20 Compare August 6, 2025 00:01
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 9473b20 to 7791b3f Compare August 6, 2025 08:39
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 7791b3f to 3b3d278 Compare August 6, 2025 10:14
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex
Copy link
Copy Markdown
Member Author

MrFreezeex commented Aug 6, 2025

Test PR that can output to the dict form in the current cilium version + the helm chart support commit (#40857) to test the whole flow/CI: #40960

@MrFreezeex MrFreezeex marked this pull request as ready for review August 6, 2025 12:49
@MrFreezeex MrFreezeex requested a review from a team as a code owner August 6, 2025 12:49
@MrFreezeex MrFreezeex requested a review from marseel August 6, 2025 12:49
@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 3b3d278 to a01933d Compare August 6, 2025 18:57
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from a01933d to 147edc3 Compare August 6, 2025 19:00
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

Copy link
Copy Markdown
Member

@marseel marseel left a comment

Choose a reason for hiding this comment

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

Thanks and apologies for late review!

@marseel marseel self-requested a review August 18, 2025 16:00
@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch 2 times, most recently from 939acbc to 9c458ee Compare August 19, 2025 23:32
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex requested a review from marseel August 20, 2025 09:11
This commit adds support for setting ReuseValues to false in the
helmUpgrade function. This is helpful to prepare for outputting
`clustermesh.config.clusters` to a dict in the CLI and prevent
uncontrolled deep merged if we were using ReuseValues.

Since we now only need the clusters map and not the "full" values this
commit rename a lot of code to replace most usage of "values" by
"clusters".

Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
Output `clustermesh.config.clusters` to a dict if the cluster is running
at least Cilium 1.20. We are still output-ing in a list form since the
dict form will be supported from Cilium 1.19 and we keep one additional
minor version with the list form to allow users to downgrade and reusing
the same values.

Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 9c458ee to ae6497d Compare August 25, 2025 16:39
@MrFreezeex MrFreezeex requested review from a team as code owners August 25, 2025 16:59
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

The default helm function was not working with disabled cluster, let's use a
not equal to explicitly remove disabled clusters (note that clusters are
enabled by default unless explicitly disabled).

Also adding a deepCopy to make sure we are not mutating the existing
values.

Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
@MrFreezeex MrFreezeex force-pushed the pr/mrfreezeex/cli-output-dict-cond branch from 9876aed to 7c7ae8a Compare August 25, 2025 17:07
@MrFreezeex
Copy link
Copy Markdown
Member Author

/test

@MrFreezeex MrFreezeex requested a review from marseel August 25, 2025 17:28
Copy link
Copy Markdown
Member

@marseel marseel left a comment

Choose a reason for hiding this comment

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

Thanks!

@marseel marseel added this pull request to the merge queue Aug 26, 2025
Merged via the queue into cilium:main with commit 6ad0797 Aug 26, 2025
70 checks passed
zocimek added a commit to zocimek/home-ops that referenced this pull request Oct 1, 2025
… ) (#222)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[aqua:cilium/cilium-cli](https://redirect.github.com/cilium/cilium-cli)
| patch | `0.18.6` -> `0.18.7` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>cilium/cilium-cli (aqua:cilium/cilium-cli)</summary>

###
[`v0.18.7`](https://redirect.github.com/cilium/cilium-cli/releases/tag/v0.18.7)

[Compare
Source](https://redirect.github.com/cilium/cilium-cli/compare/v0.18.6...v0.18.7)

#### What's Changed

## Summary of Changes

**Minor Changes:**

- clustermesh: cli: accept more than one service IPs (excluding when
connecting to NodePort Services) when connecting to remote
clustermesh-apiserver
([cilium/cilium#41253](https://redirect.github.com/cilium/cilium/issues/41253),
[@&#8203;MrFreezeex](https://redirect.github.com/MrFreezeex))
- clustermesh: cli: add support for dict for helm values
`clustermesh.config.clusters`
([cilium/cilium#40879](https://redirect.github.com/cilium/cilium/issues/40879),
[@&#8203;MrFreezeex](https://redirect.github.com/MrFreezeex))
- clustermesh: cli: support outputting `clustermesh.config.clusters` to
the new dict format if the cluster is running Cilium >= 1.20
([cilium/cilium#40959](https://redirect.github.com/cilium/cilium/issues/40959),
[@&#8203;MrFreezeex](https://redirect.github.com/MrFreezeex))

**Bugfixes:**

- Add l7 proxy check to policy-local-cluster-egress connectivity test
([cilium/cilium#40797](https://redirect.github.com/cilium/cilium/issues/40797),
[@&#8203;camrynl](https://redirect.github.com/camrynl))
- cilium-cli: also restart cilium-operator pods on config changes
([cilium/cilium#41067](https://redirect.github.com/cilium/cilium/issues/41067),
[@&#8203;aanm](https://redirect.github.com/aanm))

**CI Changes:**

- Allow Egress Gateway connectivity tests to run concurrently
([cilium/cilium#40980](https://redirect.github.com/cilium/cilium/issues/40980),
[@&#8203;tommyp1ckles](https://redirect.github.com/tommyp1ckles))
- cilium-cli: connectivity tests: Ignore some logs in error log check
([cilium/cilium#40690](https://redirect.github.com/cilium/cilium/issues/40690),
[@&#8203;jrife](https://redirect.github.com/jrife))
- cilium-cli: IPv6 connectivity tests for PodToIngress
([cilium/cilium#39667](https://redirect.github.com/cilium/cilium/issues/39667),
[@&#8203;gentoo-root](https://redirect.github.com/gentoo-root))

**Misc Changes:**

- chore(deps): update all-dependencies (main)
([cilium/cilium#40893](https://redirect.github.com/cilium/cilium/issues/40893),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update all-dependencies (main)
([cilium/cilium#41046](https://redirect.github.com/cilium/cilium/issues/41046),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update all-dependencies (main)
([cilium/cilium#41340](https://redirect.github.com/cilium/cilium/issues/41340),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update all-dependencies (main)
([cilium/cilium#41433](https://redirect.github.com/cilium/cilium/issues/41433),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update docker.io/library/golang:1.25.0 docker digest to
[`5502b0e`](https://redirect.github.com/cilium/cilium-cli/commit/5502b0e)
(main)
([cilium/cilium#41343](https://redirect.github.com/cilium/cilium/issues/41343),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update go to v1.24.6 (main)
([cilium/cilium#40992](https://redirect.github.com/cilium/cilium/issues/40992),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- cilium-cli: Optimized feature detection by running cluster-wide checks
once
([cilium/cilium#40715](https://redirect.github.com/cilium/cilium/issues/40715),
[@&#8203;HadrienPatte](https://redirect.github.com/HadrienPatte))
- Include bgp remote peer capabilities in the sysdump
([cilium/cilium#40719](https://redirect.github.com/cilium/cilium/issues/40719),
[@&#8203;liyihuang](https://redirect.github.com/liyihuang))
- Update all-dependencies (main)
([cilium/cilium#41175](https://redirect.github.com/cilium/cilium/issues/41175),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- Update docker.io/alpine/socat:1.8.0.3 Docker digest to
[`29d0f24`](https://redirect.github.com/cilium/cilium-cli/commit/29d0f24)
(main)
([cilium/cilium#41204](https://redirect.github.com/cilium/cilium/issues/41204),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- Update Go to v1.25.0 (main)
([cilium/cilium#41209](https://redirect.github.com/cilium/cilium/issues/41209),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- Update stable release to v0.18.6 by
[@&#8203;tklauser](https://redirect.github.com/tklauser) in
[#&#8203;3075](https://redirect.github.com/cilium/cilium-cli/pull/3075)
- chore(deps): update golangci/golangci-lint docker tag to v2.3.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3076](https://redirect.github.com/cilium/cilium-cli/pull/3076)
- chore(deps): update golang docker tag to v1.24.6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3079](https://redirect.github.com/cilium/cilium-cli/pull/3079)
- chore(deps): update gcr.io/distroless/static:latest docker digest to
[`2e114d2`](https://redirect.github.com/cilium/cilium-cli/commit/2e114d2)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3077](https://redirect.github.com/cilium/cilium-cli/pull/3077)
- chore(deps): update docker/login-action action to v3.5.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3078](https://redirect.github.com/cilium/cilium-cli/pull/3078)
- chore(deps): update go to v1.24.6 (patch) by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3080](https://redirect.github.com/cilium/cilium-cli/pull/3080)
- chore(deps): update actions/checkout action to v5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3082](https://redirect.github.com/cilium/cilium-cli/pull/3082)
- chore(deps): update golangci/golangci-lint docker tag to v2.4.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3086](https://redirect.github.com/cilium/cilium-cli/pull/3086)
- chore(deps): update golang docker tag to v1.25.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3085](https://redirect.github.com/cilium/cilium-cli/pull/3085)
- chore(deps): update go to v1.25.0 (minor) by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3088](https://redirect.github.com/cilium/cilium-cli/pull/3088)
- chore(deps): update dependency cilium/cilium to v1.18.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3089](https://redirect.github.com/cilium/cilium-cli/pull/3089)
- chore(deps): update dependency kubernetes-sigs/kind to v0.30.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3091](https://redirect.github.com/cilium/cilium-cli/pull/3091)
- chore(deps): update golang-images - autoclosed by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3090](https://redirect.github.com/cilium/cilium-cli/pull/3090)
- Prepare for v0.18.7 release by
[@&#8203;michi-covalent](https://redirect.github.com/michi-covalent) in
[#&#8203;3092](https://redirect.github.com/cilium/cilium-cli/pull/3092)

**Full Changelog**:
<cilium/cilium-cli@v0.18.6...v0.18.7>

</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 becomes conflicted, 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://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45NS4wIiwidXBkYXRlZEluVmVyIjoiNDEuMTMyLjUiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvcGF0Y2giXX0=-->

Co-authored-by: zocimek-renovate[bot] <134739422+zocimek-renovate[bot]@users.noreply.github.com>
Co-authored-by: Łukasz Pospiech <zocimek@users.noreply.github.com>
@cilium-release-bot cilium-release-bot bot moved this to Released in cilium v1.19.0 Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/clustermesh Relates to multi-cluster routing functionality in Cilium. cilium-cli This PR contains changes related with cilium-cli cilium-cli-exclusive This PR only impacts cilium-cli binary release-note/minor This PR changes functionality that users may find relevant to operating Cilium.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

CFP: allow using dict for helm value clustermesh.config.clusters

3 participants