tilt-dev / tilt-dev/tilt

enable / disable considers resource dependencies

Open
#5,472 2 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
10.1k
Forks
413
Avg merge
1d 10h
Merged PRs (30d)
6

Description

Describe the Feature You Want

Andy Martin on k8s slack says that their team has multiple resources that depend on other resources, so the enable/disable resource button in the UI may be misleading.

we have some services that require more to initialize than what can currently be done via the UI, so we'd like to avoid giving users the impression that these services can be enabled from the UI alone for now

If enabling and disabling resources took resource_deps into consideration, that would solve the main issue.

Andy added:

I think there's an additional complicating factor because resource_deps only goes in one direction (a depends on b but not vice versa) but it may not make sense to ever run b on its own

Current Behavior

If resource a depends on resource b:

  • enabling a will not also enable b. It will only enable a.
  • disabling b will not also disable a. It will only disable b.

Technically, you can make your own UIButtons that use the tilt enable and disable commands to enable/disable the appropriate resource dependencies. So (with the above example) you could tilt disable b && tilt disable a, but the UI doesn't display UIButtons on a disabled resource, so that workaround is moot when you need to (re)enable resources.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the UI enable/disable actions and the tilt enable and tilt disable command paths, then inspect how resource_deps is represented and used. Define behavior for enabling a resource with dependencies and disabling a dependency, including whether one-way dependencies should be operated independently. Done means the UI no longer presents misleading actions and the documented examples behave consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.