user-specified image push strategy
Nobody has claimed this yet.
- 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 loadto 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
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 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