Skip to content

Command reference

Quick lookup for kubectl shortcuts, Task targets, and Helm commands used with Kollect. For narrative walkthroughs, see Quick start and Development setup.

Assumptions

Commands assume a working cluster and kubectl context. Local kind bootstrap: task kind-dev-up (DEVELOPMENT.md).

kubectl — custom resources

Kollect CRDs register short names for faster typing (CR-REFERENCE.md).

Kind Short name Example
KollectProfile kprof kubectl get kprof -n team-a
KollectSnapshotSink ksnap kubectl get ksnap -A
KollectDatabaseSink kdb kubectl get kdb -A
KollectEventSink kevt kubectl get kevt -A
KollectTarget ktgt kubectl get ktgt -A
KollectInventory kinv kubectl get kinv -A
KollectScope kscope kubectl get kscope -A
KollectConnectionTest kconntest kubectl get kconntest -A
KollectClusterScope kcscope kubectl get kcscope
KollectClusterTarget kctgt kubectl get kctgt
KollectClusterInventory kcinv kubectl get kcinv

Pipeline status

kubectl get kprof,ksnap,kdb,kevt,ktgt,kinv,kscope -n <namespace>
kubectl apply -k config/samples/
kubectl explain kollectinventory.spec

Conditions and describe

kubectl describe kollectsnapshotsink <name> -n <namespace>
kubectl describe kollectdatabasesink <name> -n <namespace>
kubectl describe kollecteventsink <name> -n <namespace>
kubectl describe kollectinventory <name> -n <namespace>
kubectl get kinv <name> -n <namespace> -o jsonpath='{.status.conditions}'

Wait for probe

kubectl wait --for=condition=ConnectionVerified kollectdatabasesink/<name> \
  -n <namespace> --timeout=60s
kubectl wait --for=condition=ConnectionVerified kollectconnectiontest/<name> \
  -n <namespace> --timeout=60s

Connection test annotation

kubectl annotate kollectsnapshotsink <name> -n <namespace> \
  kollect.dev/test-connection=true --overwrite

See Annotations and labels.

Operator and webhooks

kubectl -n kollect-system rollout status deployment/kollect-controller-manager
kubectl -n kollect-system logs deployment/kollect-controller-manager -f --tail=200
kubectl get pods -n kollect-system -l app.kubernetes.io/name=kollect

Task targets

Run from repository root with Task. Full list: task --list-all.

Daily development

Task Purpose
task dev-up Bootstrap: build, kind cluster, Helm install, samples
task kind-dev-up Create kollect-dev cluster and deploy operator
task kind-dev-down Delete kollect-dev cluster
task kind-dev-status Show cluster and operator health
task build Compile manager binary
task test Unit tests + envtest (race)
task lint golangci-lint
task verify Codegen drift gate
task lint:markdown Markdownlint on docs/

Minimal kind install

Skip ingress/Grafana addons: KOLLECT_DEV_MINIMAL=1 task dev-up.

Install and deploy

Task Purpose
task install:crds Apply CRD bundle to current context
task docker:build Build kollect-controller-manager:dev image
task docker:build:local Build ghcr.io/konih/kollect:local for kind/minikube load
task docker:push:local Build and push maintainer-only tag to GHCR (default test-<short-sha>)
task deploy:operator Helm install to kollect-system
task kind-dev-load Load dev image into kind

Quality and release

Task Purpose
task scrub Scan staged diff for private strings
task test-integration Sink integration tests (Docker)
task helm-test helm lint + helm-docs drift + chart unit tests
task helm-docs Regenerate charts/kollect/README.md
task helm-docs:verify Fail if chart README drift
task release-dry-run Build dist/install.yaml and chart tarball
task changelog:verify Fail if CHANGELOG.md drift

Documentation

pip install -r docs/requirements-docs.txt
mkdocs serve          # local preview
mkdocs build --strict # CI-equivalent build

Helm

Install and upgrade

helm install kollect ./charts/kollect -n kollect-system --create-namespace
helm upgrade kollect ./charts/kollect -n kollect-system -f values.yaml
# omit --version for latest; pin e.g. --version 0.5.0 in production
helm install kollect oci://ghcr.io/konih/kollect \
  -n kollect-system --create-namespace

CRD upgrades

Helm does not upgrade CRDs on helm upgrade. Apply CRDs separately:

kubectl apply -f dist/install-crds.yaml
helm upgrade kollect ./charts/kollect -n kollect-system -f values.yaml

See Operator manual — Upgrade.

Per-team install

helm install kollect ./charts/kollect -n kollect-system --create-namespace \
  --set tenantMode=true \
  --set-json 'watchNamespaces=["team-a"]' \
  --set mode=single

Or use a values file — see Operator manual — Per-team install.

Key values

Key Default Notes
mode single Only supported runtime mode (ADR-0501)
tenantMode false Namespaced RBAC for team installs
watchNamespaces [] Restrict informer cache
featureGates.inventoryHttp.enabled false Debug HTTP API
image.tag chart default Pin in production

Full list: charts/kollect/values.yaml. Validation: task helm-test.

Uninstall

CRD retention

helm uninstall removes the operator but not CRDs or tenant CRs. CRD deletion garbage-collects all custom resources — avoid in production.

helm uninstall kollect -n kollect-system