Skip to content
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

ROX-21779 Add envoy active listener #1602

Merged
merged 1 commit into from
Jan 18, 2024

Conversation

ludydoo
Copy link
Collaborator

@ludydoo ludydoo commented Jan 18, 2024

Openshift ingress does not forward SNI headers, so envoy is unable to distinguish requests coming from fleet-manager-envoy vs fleet-manager-active services, and unable to resolve the correct certificate.

The solution is to add a separate listener on a different port, to server the fleet-manager-active service and use the correct certificate.

filter_chains:
- filter_chain_match:
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This whole filter chain was an attempt at using sni-based certificate selection, which doesn't work with openshift ingress

@@ -859,87 +859,15 @@ objects:
address: 0.0.0.0
port_value: 9001
listener_filters:
- name: tls_inspector
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

TLS inspector was also added to perform SNI-based routing. No longer needed

- transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
full_scan_certs_on_sni_mismatch: true
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This was added to try selecting the proper certificate

Comment on lines -941 to -942
- certificate_chain: {filename: "/secrets/active-tls/tls.crt"}
private_key: {filename: "/secrets/active-tls/tls.key"}
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This listener doesn't use this certificate, it was added to try resolving the correct cert

Copy link
Contributor

@johannes94 johannes94 left a comment

Choose a reason for hiding this comment

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

Looks reasonable. I'm looking at this envoy config for the first time may be worth to get another review, but IIUC the only difference here is the TLS cert served by the new listener.

Copy link
Contributor

openshift-ci bot commented Jan 18, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: johannes94, ludydoo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ludydoo ludydoo merged commit 1d5f45a into main Jan 18, 2024
5 checks passed
@ludydoo ludydoo deleted the ROX-21779-add-envoy-listener-for-active-route branch January 18, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants