Categorygithub.com/frantjc/kontrol
repositorypackage
0.2.1
Repository: https://github.com/frantjc/kontrol.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

kontrol CI godoc goreportcard license

Kontrol is a CLI and Kubernetes controller with the goal of making packaging and deploying other controllers easier. It does this by providing a way to package a controller along with the Kubernetes manifests required for it to run.

It doesn't reinvent the wheel; it intends to operate on the controller's image after something like docker has built it, it can be used with kubebuilder and it outputs manifests that can be applied with kubectl.

install

From a release.

Using brew:

brew install frantjc/tap/kontrol

From source:

git clone https://github.com/frantjc/kontrol
cd kontrol
make

Using go:

go install github.com/frantjc/kontrol/cmd/kontrol

In GitHub Actions:

  - uses: frantjc/[email protected]

usage

Package

Build your controller's image:

docker build path/to/controller -t your/tag

Bundle your controller's manifests with the image:

kontrol package your/tag \
    --crds path/to/crds.yaml \
    --roles path/to/role.yaml

Deploy

Apply your controller's manifests:

kontrol deploy your/tag | kubectl apply -f -