cuddly-jelly-27016
08/25/2023, 4:14 PMFlyteRemote can talk to admin through the IAP, e.g. to retrieve executions, start new ones etc.)
☑︎ Unit tests added
☑︎ Code documentation added
☐ Any pending items have an associated Issue
Complete description
• Add a new option called proxyCommand to the platform config in which users can specify an external command which, if specified, is used to generate ID tokens for a proxy in front of Flyte.
• This idea is derived from the existing command (external command auth type) which is used to generate tokens for Flyte itself.
• The ID tokens generated by this proxyCommand are added as "proxy-authorization" header to every request (http, gRPC) that flytekit's client makes to flyteadmin, including the initial unauthenticated requests of the auth flow with flyteadmin. These additional ID tokens in the "proxy-authorization" header allow clients to interact with a flyteadmin that is protected by GCP Identity Aware Proxy (or in theory similar services from other providers)
• Refactor the AuthorizationClient which currently can only be used for a pkce auth flow (despite its doc string claiming it works for a general OAuth 2.0 flow) to actually work for both pkce and default OAuth 2.0.
• Add a plugin which provides a CLI that generates ID tokens for GCP Identity Aware Proxy
• This plugin re-uses the AuthorizationClient in flytekit to perform an OAuth 2.0 flow with <http://accounts.google.com|accounts.google.com>.
• The command is to be used as proxyCommand in the platform config for Flyte deployments protected with IAP
• Add a step-by-step guide on how to deploy Flyte protected with GCP IAP
Tracking Issue
https://github.com/flyteorg/flyte/issues/
Follow-up issue
NA
OR
https://github.com/flyteorg/flyte/issues/
flyteorg/flytekit
GitHub Actions: build (macos-latest, 3.11)
✅ 15 other checks have passed
15/16 successful checksacoustic-carpenter-78188
08/25/2023, 4:14 PMacoustic-carpenter-78188
09/20/2023, 6:52 PM