-
Notifications
You must be signed in to change notification settings - Fork 327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(kuma-dp) override bootstrap version #1412
Conversation
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
…de-bootstrap-ver Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits, otherwise LGTM
@@ -64,6 +64,7 @@ func (b *BootstrapHandler) Handle(resp http.ResponseWriter, req *http.Request) { | |||
|
|||
resp.WriteHeader(http.StatusOK) | |||
resp.Header().Set("content-type", "text/x-yaml") | |||
resp.Header().Set(types.BootstrapVersionHeader, string(version)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a better approach would be to convert this to a GRPC service and gave a dedicated field instead of the header. But I guess we can live with it as it is proposed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gRPC is overkill in my opionion. Simple REST service with JSON with fields "version" and "bootstrap config" is probably a better idea of those two, but this brings even more problems with backward compatibility, so unless we need more control I'd stick to this for now.
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com> (cherry picked from commit 118e86f) # Conflicts: # pkg/sds/server/v3/server_test.go # pkg/xds/bootstrap/generator.go
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
Summary
This PR introduces an option to override Bootstrap Version on Kuma DP side.
The regular case is that Kuma CP decides which Bootstrap Version (and API Version) it will serve to the DP.
Envoy 1.17 technically drops V2 support, but you can still use it when you specify explicitly
--bootstrap-verison 2
as CLI args to Envoy.Kuma DP did not know about Bootstrap version so far, so I added extra header that we return from the Kuma CP so Kuma DP can pass the version to Envoy.
Additionally, there are some cases when you would like to override Bootstrap Version for one Kuma DP (for example to V3, while keeping the default Bootstrap to V2 for all other DPs). Those use cases are
Documentation