Add GAMMA support to Cilium Operator#32744
Merged
sayboras merged 4 commits intocilium:mainfrom Jun 4, 2024
Merged
Conversation
8bbf9b9 to
82e074d
Compare
Contributor
Author
|
/test |
Member
|
Change this to release-note/major due to the huge interest from users. |
aanm
requested changes
May 29, 2024
xtineskim
reviewed
May 29, 2024
Contributor
Author
|
/test |
aanm
requested changes
May 30, 2024
Contributor
Author
|
/test |
This first commit adds support for reconciling GAMMA HTTPRoute objects, updates the status. Also adds GAMMA reconciler parent checks. Signed-off-by: Nick Young <nick@isovalent.com>
GAMMA objects will now be correctly ingested, with predicates added to both the GAMMA ingestion and the standard Gateway API ingestion to ensure that each only sees relevant HTTPRoute updates. Signed-off-by: Nick Young <nick@isovalent.com>
This also adds the HTTPRoute as a second source to each Listener in the model.Model, which allows the HTTPRoute to be set as the owner of the generated CiliumEnvoyConfig. Signed-off-by: Nick Young <nick@isovalent.com>
ghost
approved these changes
Jun 4, 2024
ghost
left a comment
There was a problem hiding this comment.
I left one docs suggestion, but not blocking.
Member
|
/test |
Updates Gateway API conformance tests to include Mesh tests. GAMMA conformance requires supporting the Port field in parentRef. This adds support for this for GAMMA only. This change also does groundwork necessary to support the Gateway API feature `HTTPRouteListenerPortMatching` for regular Gateway API objects, which allows HTTPRoutes to select Gateway parents using the Port field in parentRef. A followup PR will implement this feature. As part of the GAMMA work, we now support the GatewayPort8080 Gateway API feature as well, so that is now added to the conformance test workflow. The `MeshConsumerRoute` feature cannot be supported without significant changes to the model (it requires _egress_ CiliumEnvoyConfigs, which are still being worked on.) Mesh examples are left for a followup PR. Dedicated Ingresses using a Nodeport need to _not_ have the port set in their CiliumEnvoyConfig. Added a test to verify this for the future. Signed-off-by: Nick Young <nick@isovalent.com>
Contributor
Author
|
/test |
3 tasks
This was referenced Jun 7, 2024
3 tasks
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.
Adds a separate ingestion step for GAMMA objects, with predicates added to both the GAMMA ingestion and the standard Gateway API ingestion to ensure that each only sees relevant HTTPRoute updates.
GAMMA listeners use the existing Gateway API translator, some changes have been made there:
model.Model, which allows the HTTPRoute to be set as theowner of the generated CiliumEnvoyConfig.
This change also does groundwork necessary to support the Gateway API feature
HTTPRouteListenerPortMatchingfor regular Gateway API objects, which allows HTTPRoutes to select Gateway parents using the Port field in parentRef.
A followup PR will implement this feature.
As part of this GAMMA work, we now support the
GatewayPort8080Gateway API feature, which allows the use of ports other than80or443as well, so that is now added to the conformance test workflow.The
MeshConsumerRoutefeature cannot be supported without significant changes to the model (it requires egressCiliumEnvoyConfigs, which are still being worked on.)
Fixes: #22512