clustermesh: cli: pass every service clustermesh-apiserver IPs#41253
Merged
giorio94 merged 1 commit intocilium:mainfrom Aug 19, 2025
Merged
clustermesh: cli: pass every service clustermesh-apiserver IPs#41253giorio94 merged 1 commit intocilium:mainfrom
giorio94 merged 1 commit intocilium:mainfrom
Conversation
b8126dd to
184b903
Compare
Pass every service IPs instead of only the first one. This seems to have been forgotten during some code refactoring here because the ServiceIPs are correctly filtered in `extractAccessInformation`. For instance, when processing a service NodePort it already only take the first IPs. And for a service LoadBalancer it can get multiple IPs (or an hostname that resolves to multiple ones) and everything should already be handle correctly here. Also the helm code after that state that this should be supported. A few examples of when that would be useful: - On some cloud providers you might get multiple IPs in the load balancer service status (for instance one per AZ) - There could be some dualstack consideration here that were maybe not handled correctly (like connecting a single stack cluster to a dual stack one and the CLI pick an IP with a protocol not supported). While we could just pass all the IPs here and then the client would naturally use the correct IP protocol. - `--destination-endpoint` in the CLI theoretically accept multiple endpoints but then we were just taking into account the first one here. Signed-off-by: Arthur Outhenin-Chalandre <git@mrfreezeex.fr>
184b903 to
1711fcc
Compare
Member
Author
|
/test |
giorio94
approved these changes
Aug 19, 2025
Member
giorio94
left a comment
There was a problem hiding this comment.
Thanks Arthur!
I think that the change overall makes sense, realistically it shouldn't change much, as most likely the service would have a single IP address (especially in the LB case, and a single one it is already forced for NodePorts).
It is also a bit weird that we are resolving possible DNS names, instead of directly propagating them, but I guess that stems from both historical reasons, and for ease of use, as it doesn't require configuring the certificate with extra SANs. Still acceptable considering that the CLI is mostly for testing, while in production environments one should use helm anyways for increased control.
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), [@​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), [@​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), [@​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), [@​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), [@​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), [@​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), [@​jrife](https://redirect.github.com/jrife)) - cilium-cli: IPv6 connectivity tests for PodToIngress ([cilium/cilium#39667](https://redirect.github.com/cilium/cilium/issues/39667), [@​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), [@​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), [@​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), [@​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), [@​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), [@​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), [@​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), [@​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), [@​liyihuang](https://redirect.github.com/liyihuang)) - Update all-dependencies (main) ([cilium/cilium#41175](https://redirect.github.com/cilium/cilium/issues/41175), [@​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), [@​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), [@​cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot]) - Update stable release to v0.18.6 by [@​tklauser](https://redirect.github.com/tklauser) in [#​3075](https://redirect.github.com/cilium/cilium-cli/pull/3075) - chore(deps): update golangci/golangci-lint docker tag to v2.3.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3076](https://redirect.github.com/cilium/cilium-cli/pull/3076) - chore(deps): update golang docker tag to v1.24.6 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​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 [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3077](https://redirect.github.com/cilium/cilium-cli/pull/3077) - chore(deps): update docker/login-action action to v3.5.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3078](https://redirect.github.com/cilium/cilium-cli/pull/3078) - chore(deps): update go to v1.24.6 (patch) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3080](https://redirect.github.com/cilium/cilium-cli/pull/3080) - chore(deps): update actions/checkout action to v5 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3082](https://redirect.github.com/cilium/cilium-cli/pull/3082) - chore(deps): update golangci/golangci-lint docker tag to v2.4.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3086](https://redirect.github.com/cilium/cilium-cli/pull/3086) - chore(deps): update golang docker tag to v1.25.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3085](https://redirect.github.com/cilium/cilium-cli/pull/3085) - chore(deps): update go to v1.25.0 (minor) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3088](https://redirect.github.com/cilium/cilium-cli/pull/3088) - chore(deps): update dependency cilium/cilium to v1.18.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3089](https://redirect.github.com/cilium/cilium-cli/pull/3089) - chore(deps): update dependency kubernetes-sigs/kind to v0.30.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3091](https://redirect.github.com/cilium/cilium-cli/pull/3091) - chore(deps): update golang-images - autoclosed by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​3090](https://redirect.github.com/cilium/cilium-cli/pull/3090) - Prepare for v0.18.7 release by [@​michi-covalent](https://redirect.github.com/michi-covalent) in [#​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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See the commit description for more details
Also there is some additional context here https://cilium.slack.com/archives/C06AC2H4XQ9/p1754995899479629 where we were essentially checking if
/etc/hostssupport multiple IPs and it seems to be the case in Go at least.