KubeBlocks Controller Manager.
Features/Enhancement:
- Operator developer guides
- Fast Multi-arch build docker images
- Helm Chart for deployment
- Horizontal Pod Auto-Scaler (HPA)
- Prometheus Service Monitor
- RBAC
- Pod Disruption Budget (PDB)
- CRDs installation
- Self-signed certificates for admission webhook configurations
- Configuration template guides
$ make help
Usage:
make <target>
General
help Display this help.
all Make all cmd binaries.
Development
manifests Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
generate Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
fmt Run go fmt against code.
vet Run go vet against code.
cue-fmt Run cue fmt against code.
cue-vet Run cue vet against code.
lint Run golangci-lint against code.
staticcheck Run staticcheck against code.
loggercheck Run loggercheck against code.
build-checks Run build checks.
mod-download Run go mod download against go modules.
mod-vendor Run go mod tidy->vendor->verify against go modules.
ctrl-test-current-ctx Run operator controller tests with current $KUBECONFIG context
test Run tests.
test-webhook-enabled Run tests with webhooks enabled.
cover-report Generate cover.html from cover.out
goimports Run goimports against code.
CLI
dbctl Build bin/dbctl CLI.
clean-dbctl Clean bin/dbctl* CLI tools.
Operator Controller Manager
manager Build manager binary.
webhook-cert Create root CA certificates for admission webhooks testing.
run Run a controller from your host.
run-delve Run Delve debugger.
Deployment
install Install CRDs into the K8s cluster specified in ~/.kube/config.
uninstall Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
deploy Deploy controller to the K8s cluster specified in ~/.kube/config.
dry-run Dry-run deploy job.
undeploy Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
CI
ci-test-pre Prepare CI test environment.
ci-test Run CI tests.
Contributor
reviewable Run code checks to proceed with PR reviews.
check-diff Run git code diff checker.
Helm Chart Tasks
bump-chart-ver Bump helm chart version.
helm-package Do helm package.
WeSQL Cluster Helm Chart Tasks
bump-chart-ver-wqsql-cluster Bump WeSQL Cluster helm chart version.
helm-package-wqsql-cluster Do WeSQL Cluster helm package.
Build Dependencies
kustomize Download kustomize locally if necessary.
controller-gen Download controller-gen locally if necessary.
envtest Download envtest-setup locally if necessary.
install-docker-buildx Create `docker buildx` builder.
golangci Download golangci-lint locally if necessary.
staticchecktool Download staticcheck locally if necessary.
loggerchecktool Download loggercheck locally if necessary.
goimportstool Download goimports locally if necessary.
cuetool Download cue locally if necessary.
helmtool Download helm locally if necessary.
oras Download ORAS locally if necessary.
minikube Download minikube locally if necessary.
brew-install-prerequisite Use `brew install` to install required dependencies.
Minikube
minikube-start Start minikube cluster.
minikube-delete Delete minikube cluster.
Docker containers
build-dev-container Build dev container image.
push-dev-container Push dev container image.
build-cli-container Build dbctl CLI container image.
push-cli-container Push dbctl CLI container image.
build-manager-container Build Operator manager container image.
push-manager-container Push Operator manager container image.