Repository navigation
feat: propagate multi-port status to WgGatewayServer and GatewayServer - #3337
Open
MircoBarone wants to merge 3 commits into
Open
MircoBarone wants to merge 3 commits into
MircoBarone wants to merge 3 commits into
Conversation
Collaborator
|
Hi @MircoBarone. Thanks for your PR! I am @adamjensenbot.
Make sure this PR appears in the liqo changelog, adding one of the following labels:
|
16 of 17 tasks
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
from
July 23, 2026 20:21
e8d55c6 to
aafe56e
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
3 times, most recently
from
August 17, 2026 19:04
3986956 to
044fde1
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
5 times, most recently
from
August 25, 2026 21:05
b768e27 to
ae06a5a
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
2 times, most recently
from
September 10, 2026 16:42
3dd1e01 to
2b20f84
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
4 times, most recently
from
September 19, 2026 00:11
35d4168 to
b9df8a9
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
2 times, most recently
from
September 24, 2026 16:40
203384d to
8d70cfe
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
3 times, most recently
from
October 6, 2026 19:52
68d98d1 to
b20a151
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
2 times, most recently
from
October 12, 2026 22:26
58d4ed1 to
6151154
Compare
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
2 times, most recently
from
October 14, 2026 20:12
136e7f7 to
48407e6
Compare
Tests added: - pkg/liqo-controller-manager/networking/external-network/utils/getters_test.go: ParseEndpoint - pkg/liqo-controller-manager/networking/external-network/wireguard/wggatewayserver_controller_test.go: forgeEndpointStatusClusterIP, forgeEndpointStatusLoadBalancer Notes: - forgeEndpointStatusNodePort is not covered, as it requires an active gateway pod and a node in the fake client. - ParseEndpoint tests cover only the ports field; the other fields are parsed with unchecked type assertions and are left out of scope.
MircoBarone
force-pushed
the
PR11-multitunnel-servicestatus
branch
from
October 15, 2026 20:39
48407e6 to
0e1125a
Compare
This branch has not been deployed
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.
Context & Motivation
Part of the multi-tunnel WireGuard implementation (7th PR related to #3225).
The controller (
wggatewayserver_controller.go) must publish all exposed server ports in the status of theWgGatewayServerandGatewayServerresources.While
EndpointStatushas already been extended to support multiple ports, the status-forging logic was still reporting only a single port. This PR updates the controller to collect all the ports exposed by the underlying Kubernetes Service and propagate them through the CRD status.Solution
forgeEndpointStatusClusterIP,forgeEndpointStatusNodePort, andforgeEndpointStatusLoadBalancerinwggatewayserver_controller.go.NodePorts forNodePortServices) are collected and populated in theEndpointStatus.Portsfield.ParseEndpointingetters.go(controller-manager) to parse theportsfield, ensuring that multi-port endpoint information is correctly deserialized and propagated when copying the status betweenWgGatewayServerandGatewayServer.Tests
Added unit tests for
ParseEndpointand for the ClusterIP and LoadBalancer endpoint status forging, covering the single-port and multi-port cases. The NodePort variant is not covered.