https://github.com/tilt-dev/ctlptl
Making local Kubernetes clusters fun and easy to set up
https://github.com/tilt-dev/ctlptl
Last synced: 21 days ago
JSON representation
Making local Kubernetes clusters fun and easy to set up
- Host: GitHub
- URL: https://github.com/tilt-dev/ctlptl
- Owner: tilt-dev
- License: apache-2.0
- Created: 2020-10-16T18:30:00.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-24T16:01:45.000Z (2 months ago)
- Last Synced: 2026-05-29T17:06:48.460Z (26 days ago)
- Language: Go
- Size: 924 KB
- Stars: 706
- Watchers: 6
- Forks: 43
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Notice: NOTICE
Awesome Lists containing this project
- awesome-starred - tilt-dev/ctlptl - Making local Kubernetes clusters fun and easy to set up (others)
README
# ctlptl
[](https://circleci.com/gh/tilt-dev/ctlptl)
[](https://pkg.go.dev/github.com/tilt-dev/ctlptl)
Want to mess around with Kubernetes, but don't want to spend an ocean on
hardware?
Maybe you need a `ctlptl`.
## What is ctlptl?
`ctlptl` (pronounced "cattle patrol") is a CLI for declaratively setting up
local Kubernetes clusters.
Inspired by `kubectl` and
[ClusterAPI's](https://github.com/kubernetes-sigs/cluster-api) `clusterctl`, you
declare your local cluster with YAML and use `ctlptl` to set it up.
## How do I install it?
Install your cluster of choice: [Docker for
Desktop](https://www.docker.com/products/docker-desktop),
[Kind](https://kind.sigs.k8s.io/),
[k3d](https://k3d.io/) or
[Minikube](https://minikube.sigs.k8s.io/). Then run:
### Homebrew (Mac/Linux)
```
brew install tilt-dev/tap/ctlptl
```
### Scoop (Windows)
```
scoop bucket add tilt-dev https://github.com/tilt-dev/scoop-bucket
scoop install ctlptl
```
### Go install
```
go install github.com/tilt-dev/ctlptl/cmd/ctlptl@latest
```
### Alternative Options
If automatic installers aren't your cup of tea, check out the [installation
appendix](INSTALL.md) for more options.
## How do I use it?
`ctlptl` supports 4 major commands:
- `ctlptl get` - see all running clusters
- `ctlptl create cluster [product]` - create a cluster and make it the current `kubectl` context
- `ctlptl apply -f cluster.yaml` - ensure a cluster exists, or create one
- `ctlptl delete -f cluster.yaml` - delete a cluster and its state
### Examples
#### Docker for Mac: Enable Kubernetes and set 4 CPU
Create:
```
ctlptl docker-desktop open
ctlptl create cluster docker-desktop --min-cpus=4
```
or ensure exists:
```
cat <