You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
Given that we cannot specify https backend protocol with Ingress, and the Tyk - and the API Definition resource doesn't support specifying the protocol separately, only expecting TargetURL - we cannot enable routing to https backends.
API Definition Controller:
We might be able to get around this by implementing #180 and adding a protocol field to the k8s_service object.
When the Api Definition reconciler sees protocol: https it will know how to reconstruct the URL for the upstream service.
ApiDefinition Ingress Template:
When the Ingress Controller generates the API Definition object, it will do so based on the ingress template. And the ingress template will be as per:
So using the backend object from the ingress, plus the optional protocol from the ingress template - we should be able to safely determine the upstream protocol and then leave it to the ApiDefinition controller to reconstruct the URL.
The next step would be how can we dynamically load the root certificate of the service mesh into Tyk's certificate manager, and use this as a trusted certificate for the upstream.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
By default, we have hardcoded Tyk's Ingress controller to only route to http backends. This is standard practice for K8s ingress.
If Tyk is providing ingress to a service mesh, such as OSM, or ISTIO - it may be necessary to have the ingress route to a https backend. example:
https://github.com/openservicemesh/osm/blob/main/docs/patterns/ingress.md#exposing-an-http-or-https-service-using-ingress
Given that we cannot specify https backend protocol with Ingress, and the Tyk - and the API Definition resource doesn't support specifying the protocol separately, only expecting
TargetURL
- we cannot enable routing to https backends.API Definition Controller:
We might be able to get around this by implementing #180 and adding a
protocol
field to thek8s_service
object.When the Api Definition reconciler sees
protocol: https
it will know how to reconstruct the URL for the upstream service.ApiDefinition Ingress Template:
When the Ingress Controller generates the API Definition object, it will do so based on the ingress template. And the ingress template will be as per:
So using the backend object from the ingress, plus the optional protocol from the ingress template - we should be able to safely determine the upstream protocol and then leave it to the ApiDefinition controller to reconstruct the URL.
The next step would be how can we dynamically load the root certificate of the service mesh into Tyk's certificate manager, and use this as a trusted certificate for the upstream.
Any thoughts @buger @excieve @gernest
Beta Was this translation helpful? Give feedback.
All reactions