We have a bunch of Streamlit apps deployed on Google AppEngine, but GAE doesn’t scale to zero instances which is big issue for the cost of low-traffic applications.
Cloud Run seems to be a cheaper alternative, but requires a bit more configuration to get Identity-Aware Proxy working - we have an External HTTPS Load Blancer with a Serverless cloud-run back-end in front of it, and use IAP for user auth.
My guess is that the proxied connection isn’t browser-based (the load balancer connects to your app, you never connect directly), so the Streamlit server doesn’t serve the JS, but I’m stuck on how to get around this. I need Streamlit to behave as it would if we were connecting directly.
This example project uses essentially the same TF configuration as I do: GitHub - tosh2230/streamlit-run: Streamlit apps on Cloud Run with Identity-Aware Proxy (IAP).
On this medium blog the author casually drops that he uses IAP but doesn’t go into detail:
A Practical Use-Case of Cloud-Native and Secured Dashboard with Google Cloud and Python Streamlit | by Ryo Koyajima / 小矢島 諒 | Medium
Has anyone else faced this issue and overcome it? Based on the two linked blogs, it seems like it should ‘just work’. I’m not sure if there’s no discussion of this in the forum because no one has ever tried before, or because everyone has found this so easy and I’m missing something obvious.
Any advice would be appreciated!