I think if you told our team to go back to Docker Compose they'd revolt on the spot haha
If I can run external dependencies in docker locally, I can setup my app to run entirely from my laptop. That's all docker-compose does, just runs dev deps like DBs and other services i'm not editing code of.
As far as code reloading goes, there is a million tools to do that already. Go already compiles locally much faster than seconds.
All that being said, why are people choosing to develop in containers/kubernetes?
Maybe apps that need to be more tightly integrated with kube would benefit from this?
- Service discovery
- Volume mounts
- Ingress and Certificates
- Metrics scraping and configuration
- Dashboards
It’s really quite powerful and replaces the need to mock things out with docker compose. If you’re deploying to Kubernetes, Tilt gives you the option to avoid “development-only” setups like docker compose.
otherwise I think it's meant for systems where system that you need for testing is to big to work on your local machine.
By default, Tilt is actually intended for local development using kind, minikube or other similar tooling. It supports developing against a multi-node cluster but it requires extra configuration and slows down iteration time.
Do we really struggle bringing up services as containers and applying kube configs?
For my development of services that run in kube, I don't dev with kube, you shouldn't have to. I also use docker-compose for most dev env services.
Perhaps i'm not developing the right kind of software. Whoever finds this type of tool useful, when would you use it?