tilt icon indicating copy to clipboard operation
tilt copied to clipboard

Provide a way to list the available project resources without starting up everything to help product owners discover them

Open BracketJohn opened this issue 3 years ago • 5 comments

Describe the Feature You Want

I would love to see a command like:

> tilt list
backend
frontend
storybook
database
db-ui
frontend-test

# or
> tilt list-resources
backend
frontend
storybook
database
db-ui
frontend-test

That allows a user to discover the available resources without having to run tilt up and already consuming the necessary CPU, RAM, ... just to see the available service names that could be started separately.

Current Behavior

Currently, we recommend our product managers to:

  • use tilt up and read the names in the web ui
  • scroll through the Tiltfile and use everything that has name="..."

Why Do You Want This?

We've recently introduced Tilt to help new developers onboard quicker and unify development environmentes. We've also introduced it to allows product owners to test PRs more quickly.

The proposal would be especially helpful for our product owners/project managers that lack the technical skill to read the Tiltfile and sometimes work on resource constrained machines. It would also help our developers (although to a lesser extend, as they are able to read Tiltfiles more easily).

Additional context

I've searched through the github issues and the documentation but was not able to find this feature. It surprised me that this does not exist, so I'm thinking that it is rather me who missed something than the feature actually not being available.

Thanks for building Tilt - we soon want to introduce it everywhere as initial feedback from both devs and PMs has been great!

BracketJohn avatar Jan 12 '22 11:01 BracketJohn

Hi @BracketJohn thanks for filing this issue, this is a great write-up! We are indeed working on something that will hopefully help you with what you are trying to achieve, though that's still a bit further away, so I can't give out any details on that at this time.

Until then, you could use this alpha command (alpha meaning this command is unstable, and we might change its behavior) to parse the Tiltfile and print the names of your resources

# Run this from the location of your Tiltfile or pass in the file with -f flag
tilt alpha tiltfile-result  | jq -r '.Manifests[].Name'

For more info: https://docs.tilt.dev/cli/tilt_alpha_tiltfile-result.html

You could wrap this in a bash script and provide it to your non-technical folks. Let me know if this works for you.

lianmakesthings avatar Jan 12 '22 16:01 lianmakesthings

Hey @lianmakesthings!

Sure thing, thanks for getting back so quickly (and closing my duplicate, I'm unsure how that happened 🤷)

We are indeed working on something that will hopefully help you with what you are trying to achieve, though that's still a bit further away, so I can't give out any details on that at this time.

Sounds great! Looking forward (:

Until then, you could use this alpha command (alpha meaning this command is unstable, and we might change its behavior) to parse the Tiltfile and print the names of your resources

thanks! This is closer to what we need, but I think:

  • still a bit too much for the regular workflows of our POs who have only the most basic terminal knowledge (even as a bash script, which is not known for nice UX if things go wrong),
  • still a bit too much for a developer that can also read the Tiltfile manually OR have a powerful enough machine to just start everything at once (wasting additional seconds every time), instead of trying to press the up key until this command is reached in their history

Not trying to be ungrateful, this is already better than what we have until now (recommending to startup everything OR manually parsing the Tiltfile), just giving honest feedback/perspective.

We'll wait for the new feature to come + add what you've suggested in our tooling documentation, thanks already 🚀

BracketJohn avatar Jan 12 '22 17:01 BracketJohn

No worries at all. This is actually very helpful for us to understand what you need and how we can improve our tool, so thank you for taking the time to write this up! Once we are closer to designing & speccing out that feature, would you be open to us contacting you for more questions, maybe even doing a user research session?

lianmakesthings avatar Jan 12 '22 19:01 lianmakesthings

Once we are closer to designing & speccing out that feature, would you be open to us contacting you for more questions, maybe even doing a user research session?

Sure thing, feel free to get in touch when you need it :+1: I also talked to one of our PMs and he would be happy to join if helpful.

BracketJohn avatar Jan 13 '22 14:01 BracketJohn

Last week we launched a collection of features that might solve this problem: Disabling Resources

If you add config.clear_enabled_resources() in your Tiltfile, then Tilt will start with all resources visible but not running, and users can just enable them from the UI without having to go back to tilt up. (You could put config.clear_enabled_resources() under an if statement with a tiltfile arg like --start-none, depending on what behavior you want)

landism avatar Feb 11 '22 18:02 landism