# Install ko with Homebrew, apk, MacPorts, Nix, pacman, scoop

Build and deploy Go applications on Kubernetes. Version 0.19.1 via Homebrew; verified 2026-06-29.

## Install

```sh
sudo av install brew:ko
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ko
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ko
```

  Evidence: MacPorts ports tree: devel/ko/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ko
```

  Evidence: Alpine Linux edge package indexes: ko from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#ko
```

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

- pacman (92%):

```sh
sudo pacman -S ko
```

  Evidence: Arch Linux sync databases: ko from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Scoop (92%):

```sh
scoop install main/ko
```

  Evidence: Scoop official bucket manifest trees: bucket/ko.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ko
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ko>
- **Version:** 0.19.1
- **Source summary:** Build and deploy Go applications on Kubernetes
- **Homepage:** <https://ko.build>
- **Repository:** <https://github.com/ko-build/ko>
- **Upstream docs:** <https://ko.build/>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/ko-build/ko/archive/refs/tags/v0.19.1.tar.gz>
- **Last updated:** 2026-06-29T16:04:29Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ko (cli)
- ko (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.19.1
- Package-manager updated: 2026-06-29
- Local data: ok
- Upstream repository: https://github.com/ko-build/ko
- Upstream latest detected: v0.19.1 (current)
## Project history and usage

ko is a Go-focused container image builder for developers who want OCI images without writing Dockerfiles or running Docker locally. Its Homebrew package is a small CLI, but it sits at the intersection of Go modules, Kubernetes manifests, registries, SBOMs, and supply-chain tooling.

### Project history

The project grew out of Google experience building Docker and Kubernetes support for Bazel. Its README describes ko as a simple, fast container image builder that effectively runs `go build` locally, then packages the resulting binary into an image without requiring Docker.

By 2022, the project had moved into the ko-build GitHub organization and the ko.build documentation domain. A 2022-08-19 migration issue laid out the repository move from google/ko to github.com/ko-build, the ko.build vanity import path, image-name changes, and a Slack channel rename. On 2022-10-11, Google announced that it had submitted ko for CNCF Sandbox consideration.

### Adoption history

ko's adoption followed the rise of Go-based cloud-native services that can ship as mostly static binaries. The Google Open Source announcement described growing use by open source and enterprise teams and integration into third-party CI/CD tools.

Package-manager adoption is useful because ko is often installed in developer shells, GitHub Actions, release jobs, and Kubernetes workflows. Its companion setup-ko action made it easy to bootstrap the CLI in CI, while Homebrew, MacPorts, Nix, Arch, Alpine, and Scoop packaging made it available outside a single vendor ecosystem.

### How it is used

The common workflow is `ko build` or `ko resolve`: build Go packages into images, push them to a registry, and optionally rewrite Kubernetes YAML with the produced image references. The docs emphasize no Docker daemon requirement, multi-platform images, SBOM generation, Kubernetes integration, build cache support, and registry authentication through ko login or surrounding CI credentials.

It is particularly attractive for Go services with few operating-system package dependencies. That constraint is part of the tool's appeal: it turns the boring case of a static Go binary into a very short path from source to signed or traceable container artifact.

### Why package nerds care

ko is the package-index shorthand for a whole cloud-native philosophy: build the thing the language already knows how to build, then wrap it as an OCI image with minimal ceremony. It competes less with Docker itself than with Dockerfile boilerplate, bespoke CI shell scripts, and build-system plugins.

For maintainers, it is also a clean example of a single-purpose CLI whose value comes from integration points: Go, registries, Kubernetes, SBOMs, GitHub Actions, and module import paths.

### Timeline

- 2022-02-17: ko v0.10.0 was published; ko docs note that before v0.10 the command was called `ko publish`.
- 2022-08-19: The project opened a migration issue for moving from google/ko to github.com/ko-build and ko.build.
- 2022-08-24: ko v0.12.0 was published during the repository/domain migration period.
- 2022-10-11: Google announced that ko had been submitted for CNCF Sandbox consideration.

### Related projects

- ko is related to go-containerregistry, setup-ko, Skaffold's ko builder integration, Docker/BuildKit workflows, Kubernetes deployment tooling, and Bazel container rules that influenced the original design.

### Sources

- <https://api.github.com/repos/ko-build/ko/releases>
- <https://github.com/ko-build/ko>
- <https://github.com/ko-build/ko/issues/791>
- <https://ko.build/>
- <https://ko.build/get-started/>
- <https://opensource.googleblog.com/2022/10/ko-applies-to-become-a-cncf-sandbox-project.html>


## 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: .ko.yaml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ko
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - ko: normalized package name match | nixpkgs package indexes: pkgs/by-name/ko/ko/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - ko - 0.17.1-r15: normalized package name match | Alpine Linux edge package indexes: ko from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Build containers from Go projects | https://ko.build/
- apk - ko-bash-completion - 0.17.1-r15: normalized package name match | Alpine Linux edge package indexes: ko-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Bash completions for ko | https://ko.build/
- apk - ko-fish-completion - 0.17.1-r15: normalized package name match | Alpine Linux edge package indexes: ko-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Fish completions for ko | https://ko.build/
- apk - ko-zsh-completion - 0.17.1-r15: normalized package name match | Alpine Linux edge package indexes: ko-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Zsh completions for ko | https://ko.build/
- pacman - ko - 0.18.1-2: normalized package name match | Arch Linux sync databases: ko from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Build and deploy Go container images | https://github.com/ko-build/ko
- MacPorts - ko: normalized package name match | MacPorts ports tree: devel/ko/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/ko: normalized package name match | Scoop official bucket manifest trees: bucket/ko.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [kbld](https://www.automicvault.com/pkg/brew/kbld/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, kubernetes.
- [crane](https://www.automicvault.com/pkg/brew/crane/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, go, oci-images.
- [chaoskube](https://www.automicvault.com/pkg/brew/chaoskube/) - Shares av.db curated category or tags: cli, cloud-infrastructure, go, kubernetes.
- [colima](https://www.automicvault.com/pkg/brew/colima/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, kubernetes.
- [container-canary](https://www.automicvault.com/pkg/brew/container-canary/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, kubernetes.
- [containerd](https://www.automicvault.com/pkg/brew/containerd/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, kubernetes.
- [dcp](https://www.automicvault.com/pkg/brew/dcp/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, kubernetes.
- [ecs-deploy](https://www.automicvault.com/pkg/brew/ecs-deploy/) - Shares av.db curated category or tags: cli, cloud-infrastructure, containers, deployment.

## Combined YAML source

View the package source record on GitHub. [combined/ko.yml](https://github.com/automic-vault/db/blob/main/combined/ko.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
