-
Notifications
You must be signed in to change notification settings - Fork 688
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
design: add fallback certificate design doc #2428
design: add fallback certificate design doc #2428
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2428 +/- ##
=======================================
Coverage 76.72% 76.72%
=======================================
Files 68 68
Lines 5522 5522
=======================================
Hits 4237 4237
Misses 1188 1188
Partials 97 97 Continue to review full report at Codecov.
|
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.
Overall, I think this is a good proposal. I have a couple of questions about the mechanics of the envoy filters, and where we put the Contour config. If you prefer, we can address these in PRs.
The doc uses both "fallback certificate" and "default certificate", so we should standardize on one (I think default is the most common term?)
design/fallbackcert.md
Outdated
Passthrough bool `json:"passthrough,omitempty"` | ||
|
||
// +optional | ||
FallbackCertificatedEnabled bool `json:"fallbackCertificateEnabled,omitempty""` |
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.
The only comparable option I could find in the API was EnableWebsockets
, so maybe we should make this EnableFallbackCertificate
or EnableDefaultCertificate
for consistency.
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.
I like that better, thanks for the suggestion!
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.
I don't see this change, am I looking at the right commit?
So I played around with this in Envoy for a bit. I'm not sure we can enable the fallback cert for specific vhosts. My filter match at the end looks for any that does not match previous filters (e.g. SNI hosts). So in practice, if we enable this, it must be on for all vhosts unless I'm misreading the docs. |
I think that what you can do is in this final filter chain, only add the vhosts that have opted in to accepting a default certificate, #2428 (comment) |
2bb1123
to
5f41d87
Compare
@jpeach I updated the few comments. Also, I think I figured out the routing pieces to only allow the fallback cert to be part of the specific routing chain. |
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.
The API looks good to me, just need to update the name of the fallback field.
design/fallbackcert.md
Outdated
Passthrough bool `json:"passthrough,omitempty"` | ||
|
||
// +optional | ||
FallbackCertificatedEnabled bool `json:"fallbackCertificateEnabled,omitempty""` |
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.
I don't see this change, am I looking at the right commit?
5f41d87
to
74217e0
Compare
@jpeach I updated the design after some more work today. The big changes are the needs for having a new RDS config to point the fallback domains to: https://github.com/projectcontour/contour/blob/74217e0d1bf4f6833a67282e8157ea5bc08108e5/design/fallbackcert.md#envoy-api |
74217e0
to
1c7d9f4
Compare
1c7d9f4
to
1423b6b
Compare
Signed-off-by: Steve Sloka <slokas@vmware.com>
1423b6b
to
3c1d05c
Compare
@stevesloka two questions:
|
Supporting Ingress is tracked in #2453 |
Updates #1503
Signed-off-by: Steve Sloka slokas@vmware.com