Quickstart¶
This operator assumes Harbor already exists. The local development flow uses Kind only as a convenient way to run Harbor and the operator together.
Start a Local Stack¶
For the fastest local cluster:
make kind-up
For a local cluster with Cilium and Hubble:
make kind-up-cilium
Both targets:
- create a Kind cluster
- install Traefik
- install Harbor from the official Helm chart
- build and deploy the operator
Core Workflow¶
- Start the stack with
make kind-upormake kind-up-cilium - Change code or CRD types
- Redeploy with
make kind-refresh - Exercise the operator with sample CRs or focused manifests
Refresh the Operator¶
After changing controller code, CRD types, generated assets, or chart wiring:
make kind-refresh
That rebuilds the image, reloads it into Kind, regenerates assets, reapplies CRDs, and redeploys the operator.
Apply Sample Resources¶
make apply-samples
To remove Harbor custom resources again:
make delete-crs
Useful Commands¶
make kind-refresh
make kind-redeploy
make test
make test-e2e
kind-refreshredeploys the operator onto the current Kind clusterkind-redeployresets operator-managed state and deploys againtestruns the non-E2E test suitetest-e2eruns the live end-to-end suite against the current Kind cluster
Build the Docs¶
Generate the CRD API reference:
make generate-docs
Build the site:
make docs-build
Serve it locally:
make docs-serve
The docs site always runs through the squidfunk/mkdocs-material container image.