Skip to main content

Onboarding Clusters

A cluster is onboarded once, read-only, and can then be scanned on demand or on a schedule. There are two ways in: add a cluster with its credentials, or import one the platform already discovered from a connected cloud account.

Where: Kubernetes Security → Clusters.

Clusters tab: total / active clusters, critical findings and active scans tiles, and a card per cluster (prod-aks-weu, staging-gke-usc1, prod-eks-use1) with severity counts, last scan and Dashboard / Scan actions

Before you start — RBAC profiles

The platform needs a Kubernetes identity that can read the resources it assesses. Rather than hand-writing a ClusterRole, pick a profile on the RBAC Profiles tab and generate the deployment script.

ProfileReadsSecrets / ConfigMapsUse when
Minimal (recommended)Pods, nodes, namespaces, services, endpoints, deployments, daemonsets, statefulsets, jobs, RBAC objects, network policies, ingressesNo accessAlmost always. Production-ready, compliance-ready.
ExtendedEverything in MinimalMetadata only (names, namespaces, labels — never values)You need checks that look at Secret/ConfigMap usage; review with your security team first.

RBAC Profiles tab: Minimal (recommended) vs Extended profile cards with security level, and the Minimal profile's permission grant list

Select Generate Deployment Script, choose the profile, the namespace and the service account name, and copy or download the script. Run it with a kubectl context that has cluster-admin: it creates the namespace if needed, applies the service account, ClusterRole and binding, creates a long-lived service-account token Secret (falling back to a bound token only if the token controller is disabled) and prints the API server URL and token to paste into Add Cluster → Service Account Token. The same ClusterRole is listed in Required Permissions — Bucket B.

Deployment Script dialog: profile, namespace and service account, the generated bash script, and usage instructions with copy/download

Cloud IAM is not enough

An AWS/GCP/Azure role lets the platform discover EKS/GKE/AKS clusters, but reading workloads inside a cluster always needs Kubernetes RBAC. Apply the profile before you onboard.

Add a cluster

Select Add Cluster and fill in:

Add Kubernetes Cluster dialog: cluster name, optional project, cloud provider (Amazon EKS, Google GKE, Azure AKS, On-Premises, Other), and onboarding method (Kubeconfig File, Service Account Token, Service Account)

FieldNotes
Cluster nameHow it appears in dashboards, e.g. production-eks.
Project (optional)Groups clusters in the fleet view, e.g. payments-platform.
Cloud providerAmazon EKS, Google GKE, Azure AKS, On-Premises or Other. Drives provider-specific checks and the console links.
Onboarding methodKubeconfig File — upload or paste a base64-encoded kubeconfig (base64 -w 0 kubeconfig.yaml). Service Account Token — the API server URL plus the token from the RBAC script. Service Account — let the platform create the service account for you where it has admin credentials.
RBAC profileMinimal or Extended, matching what you applied.

On save the platform runs a connectivity test: it reaches the API server, records the Kubernetes version, and counts nodes and namespaces. Success sets the cluster Active; a failure shows the reason (unreachable endpoint, expired token, missing RBAC) and nothing is scanned until it passes. Re-run the test at any time from the cluster card.

Kubeconfig safety

Uploaded kubeconfigs are validated before use — a kubeconfig whose server points at a private or metadata address, or that embeds exec credential plugins, is rejected. Credentials are encrypted at rest.

Import discovered clusters

Every cloud scan discovers the EKS, GKE and AKS clusters in the account (how cloud scans run). On the Clusters tab, discovered-but-not-onboarded clusters are listed for Import from Cloud: pick the ones you want, and the platform creates the cluster records using the cloud credentials for the API endpoint. You still apply an RBAC profile inside each cluster for workload reads.

Managing clusters

Each cluster card shows provider, onboarding method, status (Active, Pending, Scanning, Degraded, Error), findings by severity and the last scan time, with actions:

ActionWhat it does
DashboardOpens the cluster's own view — security score, findings by category and scanner, and quick links. See Scanning & Findings.
ScanStarts a scan now (all scanners by default).
TestRe-runs the connectivity test.
EditChange name, project, provider or credentials.
DeleteRemoves the cluster and cascades its findings, scans and schedules. Select several cards to delete or scan in bulk.

Ungrouped collects clusters without a project; set a project to group them.