ko

command module
v0.15.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

README

ko: Easy Go Containers

GitHub Actions Build Status GoDoc Go Report Card SLSA 3


🎉 Google has applied for ko to join the Cloud Native Computing Foundation as a Sandbox project! Learn more here!

ko is a simple, fast container image builder for Go applications.

It's ideal for use cases where your image contains a single Go application without any/many dependencies on the OS base image (e.g., no cgo, no OS package dependencies).

ko builds images by effectively executing go build on your local machine, and as such doesn't require docker to be installed. This can make it a good fit for lightweight CI/CD use cases.

ko makes multi-platform builds easy, produces SBOMs by default, and includes support for simple YAML templating which makes it a powerful tool for Kubernetes applications.

Install ko and get started!

Acknowledgements

This work is based heavily on experience from having built the Docker and Kubernetes support for Bazel. That work was presented here.

Discuss

Questions? Comments? Ideas? Come discuss ko with us in the #ko-build channel on the Kubernetes Slack! See you there!

Community Meetings

You can find all the necessary details about the community meetings in this page.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
pkg
Package ko holds libraries used to implement the ko CLI.
Package ko holds libraries used to implement the ko CLI.
build
Package build defines methods for building a v1.Image reference from a Go binary reference.
Package build defines methods for building a v1.Image reference from a Go binary reference.
internal/testing
Package testing holds a variety test doubles to help with testing
Package testing holds a variety test doubles to help with testing
publish
Package publish defines methods for publishing a v1.Image reference and returning the published digest for embedding back into a Kubernetes yaml.
Package publish defines methods for publishing a v1.Image reference and returning the published digest for embedding back into a Kubernetes yaml.
publish/kind
Package kind defines methods for publishing images into kind nodes.
Package kind defines methods for publishing images into kind nodes.
resolve
Package resolve defines logic for resolving K8s yaml inputs to ko.
Package resolve defines logic for resolving K8s yaml inputs to ko.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL