Adds xDS Server Configuration API #224
Conversation
Codecov Report
@@ Coverage Diff @@
## main #224 +/- ##
==========================================
- Coverage 57.40% 56.67% -0.73%
==========================================
Files 30 30
Lines 2702 2765 +63
==========================================
+ Hits 1551 1567 +16
- Misses 1058 1104 +46
- Partials 93 94 +1
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
|
isn't the comment referring to making as a const.If we plan on retrieving the xds address from the config package, it should at least be part of the config API imho, but for now I see most of the definitions in which is fine for now |
|
What Arko said is how I intended it. I just saw a global value that didn't look like it should change declared as |
|
Ah, sorry, I reviewed without reading the comments. I'll unapprove and leave y'all to sort this one out. |
|
hmm, seems I can't unapprove, sorry. More caffeine required for me today. |
98feabd to
55fc448
Compare
api/config/v1alpha1/helpers.go
Outdated
There was a problem hiding this comment.
Note: This function was unused.
d255d87 to
e53053b
Compare
|
@danehans would prefer if you split up the work in this PR into multiple smaller PRs so it would be easier for reviewers to review this code, for e.g. would be great if there was 1 PR was just the API changes for introducing the |
Signed-off-by: danehans <daneyonhansen@gmail.com>
e53053b to
34bdda6
Compare
|
thanks for just including the API changes in this PR ! reviewing rn .... |
| @@ -18,8 +23,21 @@ type EnvoyProxy struct { | |||
|
|
|||
| // EnvoyProxySpec defines the desired state of EnvoyProxy. | |||
| type EnvoyProxySpec struct { | |||
There was a problem hiding this comment.
Just refreshed my memory by going through https://github.com/envoyproxy/gateway/blob/main/docs/design/CONFIG_API.md#data-plane-api
based on the agreed upon design, the EnvoyGateway config, passed via the cmdline arg, decides the configuration for the control plane components/runners/services
and the EnvoyProxy resources passed into K8s, linked to the GatewayClass decides the configuration of the dataplane Envoy proxy fleet.
The Xds Server address & port (not included here but is required) is needed by the proxy to connect to the server and the same address (optional, can bind to all addresses) and port is required by the server to listen for xds client connections, so such a configuration is needed in EnvoyGateway too and the values in both must match .
It has been hardcoded in the xds-server for now
There was a problem hiding this comment.
@arkodg agreed that we should have logic to ensure the EnvoyProxy xds config aligns with how EG is running. IMO we need to be careful to not outsmart ourselves as different client/server config permutations will work. I think we track this as an issue to improve in the future. In the meantime, the API docs should suffice or I can elaborate on the docs if needed. THoughts @arkodg @LukeShu @youngnick @skriss
|
Closing since we don't want to expose config to users in v0.2.0. This can be reopened or used as a reference EnvoyProxy API implementation in the future. |
Adds xDS Server Configuration API and generates deepcopy funcs, manifests, etc.
Signed-off-by: danehans daneyonhansen@gmail.com