acoustic-carpenter-78188
08/28/2023, 7:04 AMinsecure=True, disabling HTTPS completely.
Goal: What should the final outcome look like, ideally?
Ideally, there should be a middle ground between these two extremes, e.g. allowing users of certificates issued by private CAs to validate certificates used for Flyte deployments accessed through the Remote API.
Based on discussions on Slack (see here), I propose to add functionality to the Remote API to pass custom root certificates used for validation.
This functionality could also be used to expand the sandbox cluster deployment with cert-manager and an ingress controller in the future, to move the sandbox closer to how a production deployment of Flyte could look in practice.
Describe alternatives you've considered
gRPC provides the GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable to override the trust root. However, this approach might not desirable depending on the usage scenario, since it affects every gRPC client which can see this variable.
Propose: Link/Inline OR Additional context
My proposal would be to add an optional grpc_credentials kwarg (of type `grpc.ChannelCredentials`) to the constructor of FlyteRemote, which will be passed on to the RawSynchronousFlyteClient instance, which already exposes a similar argument.
Leaving out this argument would default to the current implementation, which would prevent incompatible changes with the current behavior.
I have a local patch ready, which I need to add some tests to and then can submit as a MR for this issue.
☑︎ Are you sure this issue hasn't been raised already?
☑︎ Have you read the Code of Conduct?
flyteorg/flyteacoustic-carpenter-78188
08/28/2023, 7:04 AM