Provide a way to (programmatically) see all resources Tilt is planning to launch
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 10.1k
- Forks
- 413
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 6
Description
We have a relatively large stack that Tilt manages for us, which includes several different git-backed resources that we launch with the git_resource extension. We also often only launch a subset of services with something like tilt up -- --with-some-subset. However, because git_resource tasks are all executed during the compile/build phase, we find ourselves waiting for tilt to git checkout every. single. git-repo. in our stack -- even though we're only planning to actually launch 1 or 2 of them. The same applies to the resources in our stack that make use of helm_remote since it will pull and template ALL charts declared regardless of which ones we're actually planning to deploy. Sometimes we can be waiting as much as 5 minutes just for the "load tiltfile" phase to complete and building/deploying to actually start.
It would be really excellent if there were a way to know which services Tilt was planning to launch, so that we could then do something like this:
allQueued = getAllQueuedResources() # everything tilt is planning to launch
if 'resource-A' in allQueued:
git_resource('myRepoA')
if 'resource-B' in allQueued:
helm_remote('myChartB')
That way, we're cloning/checking-out/templating only the items we need rather than boiling the whole ocean.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining how Tiltfile resource selection interacts with the git_resource and helm_remote calls described here. Define what "all queued resources" should include and how it can be queried before expensive checkout or chart templating; completion requires a documented, usable programmatic mechanism that avoids processing unselected resources.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100