tilt-dev / tilt

Define your dev environment as code. For microservice apps on Kubernetes.
https://tilt.dev/
Apache License 2.0
7.73k stars 308 forks source link

Interactivity during build steps #3830

Open calvinytong opened 4 years ago

calvinytong commented 4 years ago

We have a custom_build and local_resource that call out to git fetch. These builds cause Tilt to hang if the user has cloned in https or their ssh key has a passcode because it will wait forever for user input. It would be nice to be able to allow users to respond to these prompts at build time.

joseph-zhong commented 4 years ago

This reminds me of earlier discussion with @nicks about possible future deprecation for the native Terminal/shell interface in favor of interfacing via the browser, which also seems like a good direction here?

nicks commented 4 years ago

Hi @calvinytong @joseph-zhong !

as of Tilt v0.17.5, we should be setting GIT_TERMINAL_PROMPT=0 in the environment of all custom_build and local_resource commands. I think that should prevent passcode prompts...are you still seeing it wait forever after you upgrade?

Background: I spent some time researching how the go team handled this for go get. (go get also uses git underneath to fetch code). This is how they suppress it. I could imagine supporting stdin interfacing via the browser (like jupyter does) for other reasons, but I go back and forth on if that would make sense for password entry.

calvinytong commented 4 years ago

Yeah I think that's working correctly, but the trouble is that setting that we'd like to support users with different git configurations. Right now we can only support users who are cloned in ssh and have not password protected their ssh keys. We'd like to be able to support whatever local configuration the user has.

I'm fine triaging this to low priority if it's not on any current roadmaps since we have workarounds now