Skip to content

Adds EnvoyProxy Support to Kubernetes Provider#861

Merged
danehans merged 1 commit intoenvoyproxy:mainfrom
danehans:issue_713_kube
Jan 17, 2023
Merged

Adds EnvoyProxy Support to Kubernetes Provider#861
danehans merged 1 commit intoenvoyproxy:mainfrom
danehans:issue_713_kube

Conversation

@danehans
Copy link
Copy Markdown
Contributor

@danehans danehans commented Jan 5, 2023

Adds EnvoyProxy support to the Kubernetes provider.

  • Updates status pkg to support GatewayClass InvalidParamtersRef status condition.
  • Updates the Kube controller to watch for EnvoyProxy API objects and trigger GatewayClass reconciliation. This supports processing the paramtersRef and updating GatewayClass status conditions.
  • Adds unit and integration tests.

Signed-off-by: danehans daneyonhansen@gmail.com

@danehans danehans requested a review from a team as a code owner January 5, 2023 01:04
@danehans danehans added area/config Issues related to config management, e.g. Config Manager, Config Sources, etc. provider/kubernetes Issues related to the Kubernetes provider labels Jan 5, 2023
@danehans danehans added this to the 0.3.0-rc.1 milestone Jan 5, 2023
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jan 5, 2023

Codecov Report

Merging #861 (2e42dcd) into main (22131aa) will increase coverage by 0.31%.
The diff coverage is 72.53%.

@@            Coverage Diff             @@
##             main     #861      +/-   ##
==========================================
+ Coverage   63.91%   64.22%   +0.31%     
==========================================
  Files          50       51       +1     
  Lines        6506     6616     +110     
==========================================
+ Hits         4158     4249      +91     
- Misses       2087     2104      +17     
- Partials      261      263       +2     
Impacted Files Coverage Δ
internal/gatewayapi/resource.go 54.83% <0.00%> (-1.83%) ⬇️
internal/gatewayapi/zz_generated.deepcopy.go 0.00% <0.00%> (ø)
internal/status/gatewayclass.go 0.00% <0.00%> (ø)
internal/provider/kubernetes/controller.go 49.68% <65.06%> (+2.14%) ⬆️
api/config/v1alpha1/validation/envoyproxy.go 90.00% <90.00%> (ø)
internal/provider/kubernetes/helpers.go 79.72% <100.00%> (+1.86%) ⬆️
internal/status/conditions.go 96.00% <100.00%> (ø)
internal/xds/translator/cluster.go 95.77% <0.00%> (+1.33%) ⬆️
... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@danehans danehans mentioned this pull request Jan 5, 2023
@danehans
Copy link
Copy Markdown
Contributor Author

danehans commented Jan 5, 2023

@zirain thanks for the review. Commit 2e42dcd resolves your comments, PTAL.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

curious why this function Is needed instead of just capturing the gateway class and the envoy proxy associated with it here

acceptedGC := cc.acceptedClass()

Copy link
Copy Markdown
Contributor Author

@danehans danehans Jan 13, 2023

Choose a reason for hiding this comment

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

cc and acceptedGC are created during a reconcile event, e.g. Reconcile(). This method creates the reconcile request for the GC that ref's the watched EnvoyProxy. EnvoyProxy does not bind/ref other resources, e.g. parentRef, so the method must list all GCs to see which one references the watched EnvoyProxy. This is similar to listing all HTTPRoutes for a Gateway CRUD to understand which HTTPRoutes are used to calculate listener conditions.

Copy link
Copy Markdown
Member

@Xunzhuo Xunzhuo left a comment

Choose a reason for hiding this comment

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

Mostly LGTM, but can this be merged after TCPRoute Implementation get merged? Or there will be more conflicts I need to resolve.

@danehans
Copy link
Copy Markdown
Contributor Author

@arkodg @Xunzhuo thanks for the review. I've been busy with other responsibilities over the past several days. I'll respond and resolve review comments shortly.

@danehans
Copy link
Copy Markdown
Contributor Author

@arkodg I commented/resolved your review feedback, PTAL.

arkodg
arkodg previously approved these changes Jan 14, 2023
zirain
zirain previously approved these changes Jan 15, 2023
Signed-off-by: danehans <daneyonhansen@gmail.com>
@danehans danehans dismissed stale reviews from zirain and arkodg via f4e288c January 16, 2023 17:26
@danehans danehans merged commit 81ca4b9 into envoyproxy:main Jan 17, 2023
@danehans danehans deleted the issue_713_kube branch January 17, 2023 02:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config Issues related to config management, e.g. Config Manager, Config Sources, etc. provider/kubernetes Issues related to the Kubernetes provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants