tilt-dev / tilt-dev/tilt

user-specified image push strategy

Open
#2,958 0 comments 0 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

Currently, Tilt has a few different mechanisms for how to push images (* see below)

I was talking to the kubemacs team on k8s slack (https://github.com/kubemacs/kubemacs), and they have a more complicated cluster configuration.

They'd like to specify a custom command-line for loading images. Having Tilt auto-detect it from the kubeconfig is difficult, because their kubeconfig is already pretty complex.

Something like 'kind load', but configured manually


  • current image push strategies:
  • If if finds a "tilt.dev/registry=localhost:5000" annotation on the node, it will use that. This is what powers Kind local registries (https://github.com/windmilleng/kind-local)
  • If it detects you're using kind, it will try to figure out how to use kind load to copy the image
  • If it detects you're using microk8s' local registry plugin, it will try to push to the microk8s registry
  • If it detects you're using minikube w/ docker, it will try to talk to the docker socket directly and build in-cluster
  • if it detects you're using docker for desktop, it will assume it doesn't need to push
  • if you specify a default registry with the Tiltfile default_registry() command, it will use that

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 Tilt's existing image-push strategies and the Tiltfile default_registry() entry point, comparing the kind load path with the other detection paths. The work is done when users can configure a custom image-loading command for a cluster while the existing automatic strategies continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
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.