Skip to content

Kubetap Development

This section provides information about Kubetap development processes and how to contribute.

Kubetap overview

Kubtap is developed by Matt Hamilton at Soluble.ai as an Apache v2 Licensed open source project.

Kubetap arose from a need to quickly and efficiently proxy Kubernetes Services without imposing a CNI mandate.

Building kubetap requires the following dependencies:

dependency purpose notes
kubectl ... mandatory for integration tests
docker Build containers not needed to build kubectl-tap binary
go Build kubectl-tap minimum Go version 1.13
zsh Build scripts scripting is nicer than bash or sh

Script-managed dependencies, installed using go get and ci.mod or ig-tests.mod:

dependency purpose notes
golangci-lint Linting (ci.mod) used as Go code linter
gotestsum Testing (ci.mod) used to make test output prettier
kind Testing (ig-tests.mod) required for integration tests
helm Testing (ig-tests.mod) used to deploy test apps to kind cluster

Hacking on Kubetap

Assuming you have built kubetap from source, you're ready to hack on kubetap.

$ cd ${GOPATH}/src/github.com/soluble-ai/kubetap

$ go generate .

$ go build ./cmd/kubectl-tap