Skip to content

Example: Cluster-scoped rollup

Prerequisites

A running operator with cluster-scope RBAC and existing namespaced profiles and family sinks.

Apply

kubectl apply -f config/samples/kollect_v1alpha1_kollectclustertarget.yaml
kubectl apply -f config/samples/advanced/kollect_v1alpha1_kollectclusterinventory.yaml

Verify

kubectl get kctgt,kcinv
kubectl describe kcinv cluster-inventory

If it didn't work

Check structured name/namespace references, cluster RBAC, selectors, and status conditions.

Cleanup

kubectl delete -f config/samples/advanced/kollect_v1alpha1_kollectclusterinventory.yaml
kubectl delete -f config/samples/kollect_v1alpha1_kollectclustertarget.yaml

Further reading

Cluster inventory reference · Multi-cluster

Prerequisites

Platform cross-namespace collection requires cluster-scoped RBAC and labeled workload namespaces. For team-scoped e2e, use deployment-inventory.md first.

A namespaced KollectProfile (in kollect-system) + KollectClusterTarget + KollectClusterInventory roll up platform-wide rows and export to sinks resolved per ref namespace.

KollectClusterTarget.spec.profileRef requires explicit name + namespace; cluster-inventory sink refs resolve by name + namespace, defaulting to spec.sinkNamespace (kollect-system) when a ref omits namespace — no cluster-scoped static config kinds (ADR-0208).

Samples in config/samples/kustomization.yaml.

Dedupe: spec.dedupekeepAll (default) or byResourceUID (ADR-0305).