# Install ctlptl with Homebrew, Nix, zypper

Making local Kubernetes clusters fun and easy to set up. Version 0.9.4 via Homebrew; verified 2026-07-27. Also installable with nix: nix profile install nixpkgs#ctlptl.

## Install

```sh
sudo av install brew:ctlptl
```

## Agent safety answer

ctlptl manages local Kubernetes clusters and container registry wiring.

- **Credential access:** Reads kubeconfig, local cluster config, and registry settings.
- **Remote mutation:** Primarily local, but can affect reachable Kubernetes contexts.
- **Publish/artifact risk:** Can change local cluster state used for builds and deploy tests.
- **Recommended control:** Gate cluster create/delete and registry mutation commands.
- **Agent-use guidance:** Allow status and config review; require approval for cluster lifecycle changes.

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ctlptl
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ctlptl
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ct/ctlptl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install ctlptl
```

  Evidence: openSUSE Tumbleweed package metadata: ctlptl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:ctlptl
- **Package manager:** Homebrew
- **Version:** 0.9.4
- **Source summary:** Making local Kubernetes clusters fun and easy to set up
- **Homepage:** <https://github.com/tilt-dev/ctlptl>
- **Repository:** <https://github.com/tilt-dev/ctlptl>
- **Last updated:** 2026-07-27T22:04:06+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ctlptl (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.9.4
## Project history and usage

ctlptl is a Tilt-developed CLI for declaratively creating and managing local Kubernetes clusters. It uses Kubernetes-style YAML to drive local cluster products such as Docker Desktop, kind, k3d, and minikube.

### Project history

The README says ctlptl was inspired by kubectl and Cluster API's clusterctl, with the idea that users declare a local cluster in YAML and let the CLI set it up. Tilt created it after helping teams debug repeated local-development environment misconfigurations.

The project reached v0.1.0 in November 2020 and has continued as a 0.x tool, with official release artifacts reaching v0.9.4 in June 2026.

### Adoption history

Official installation paths include Homebrew on macOS and Linux, Scoop on Windows, and go install. The README emphasizes interoperability with common local Kubernetes products rather than replacing them.

### How it is used

Common commands include ctlptl get, create cluster, apply -f cluster.yaml, and delete -f cluster.yaml. Typical package use is in developer-workstation setup scripts and CI-friendly local-cluster recipes where a registry, CPU limits, Kubernetes version, or Docker Desktop setting needs to be repeatable.

### Why package nerds care

ctlptl is packaging glue for the local Kubernetes stack: it wraps existing cluster implementations, exposes declarative YAML, and provides package-manager-friendly binaries for developers who want reproducible local infrastructure without maintaining bespoke shell scripts.

### Timeline

- 2020: v0.1.0 release published.
- 2020: Early releases added declarative local-cluster workflows around kind, k3d, minikube, and Docker Desktop.
- 2026: v0.9.4 release published.

### Related projects

- ctlptl is explicitly related to kubectl, Cluster API's clusterctl, kind, k3d, minikube, Docker Desktop, and Tilt's local-development tooling.

### Sources

- <https://github.com/tilt-dev/ctlptl#readme>
- <https://github.com/tilt-dev/ctlptl/tree/main/docs>
- <https://api.github.com/repos/tilt-dev/ctlptl/releases?per_page=100>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: cluster.yaml
## Other Package-Manager Records

- Nix - ctlptl: normalized package name match | nixpkgs package indexes: pkgs/by-name/ct/ctlptl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - ctlptl - 0.9.4-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ctlptl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | CLI for declaratively setting up local Kubernetes clusters | https://github.com/tilt-dev/ctlptl
- zypper - ctlptl-bash-completion - 0.9.4-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ctlptl-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Bash Completion for ctlptl | https://github.com/tilt-dev/ctlptl
- zypper - ctlptl-fish-completion - 0.9.4-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ctlptl-fish-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Fish Completion for ctlptl | https://github.com/tilt-dev/ctlptl
- zypper - ctlptl-zsh-completion - 0.9.4-1.3: normalized package name match | openSUSE Tumbleweed package metadata: ctlptl-zsh-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Zsh Completion for ctlptl | https://github.com/tilt-dev/ctlptl


## Combined YAML source

View the package source record on GitHub. [combined/ctlptl.yml](https://github.com/mxcl/pkgdb/blob/main/combined/ctlptl.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
- curated agent safety answer
