- operator-sdk
- Controller Runtime Client API
- A complete guide to Kubernetes Operator SDK
- OperatorHub
- Extend the Kubernetes API with CustomResourceDefinitions
- Groups and Versions and Kinds, oh my!
- Level Triggering and Reconciliation in Kubernetes
- A deep dive into Kubernetes controllers
Setup go workspace
# add to .bashrc or .bash_profile
export GOPATH=$HOME/go
export PATH=$PATH:$(go env GOPATH)/bin
Initialize project
# create project
mkdir -p $GOPATH/src/github.com/edgelevel && cd $_
operator-sdk new lastpass-operator --dep-manager=dep
# add crd
operator-sdk add api --api-version=edgelevel.com/v1alpha1 --kind=LastPass
operator-sdk generate k8s
# add controller
operator-sdk add controller --api-version=edgelevel.com/v1alpha1 --kind=LastPass