Supported environment
“1.24+” is the recommended floor; it is not enforced by the chart. Very old clusters may work but are untested.
Resource footprint
Collector defaults (chart ≥ 5.3.6 / operator ≥ v5.3.5): requests 25m CPU / 64Mi memory, limits 500m CPU / 512Mi memory — grounded in measured usage on a small cluster (~9m CPU / 21Mi for 1 node, ~30 pods) with headroom, since usage scales with cluster size. These are the current defaults, validated on small clusters so far — recommended sizing will firm up as operational experience accumulates across medium, busy, and stress-scale fleets. Override any subset in standard Kubernetes shape, e.g.
--set agent.collector.resources.limits.memory=1Gi. Sizing starting points: up to a few hundred pods, the defaults are comfortable; around a thousand pods, watch collector memory in your normal tooling; well beyond that, raise the memory limit to 1Gi and adjust from observation. Installs on older operator versions have no requests/limits set until upgraded.No PersistentVolumeClaims are created. The collector runs non-root, and its RBAC is strictly read-only (
get/list/watch) — see Permissions & RBAC.Network
- Outbound HTTPS (TCP 443) from the cluster to
api.changeguard.ai(TLS 1.2+). - DNS resolution for
api.changeguard.ai(andinstall.changeguard.aiif you use the one-line installer). - Image pulls from
public.ecr.aws(or your mirror — the chart supports a customglobal.imageRegistryfor air-gapped setups).
Permissions to install
You need rights to create namespaces, a CRD, ClusterRoles/Bindings, and Deployments.cluster-admin is not required, and ChangeGuard AI requests no wildcard RBAC. See Permissions for the exact grants (including that the operator and collector read Secrets and RBAC objects cluster-wide, read-only).
Credentials & secrets
- A ChangeGuard AI API key (create one at app.changeguard.ai → API keys). Treat it like a password.
- The chart creates one Kubernetes Secret,
changeguard-credentials(keyapi-key), inchangeguard-agent. You can also create it yourself and reference it.
Data collected vs. not collected
What the installer changes — and doesn’t
Creates: namespaceschangeguard-system and changeguard-agent; the changeguardagents.changeguard.ai CRD; the operator (Deployment + RBAC); a ChangeGuardAgent custom resource; the collector Deployment; one Secret; optionally scanner CronJobs/DaemonSet.
Does not change: any of your existing workloads, your RBAC for other principals, your Secrets, or your CI/CD — unless you later opt into remediation and apply its namespaced RBAC.
Supported platforms
Kubernetes 1.24+ on EKS, GKE, AKS, or any CNCF-conformant distribution, with Helm 3.8+ andkubectl. Analysis and scoring run in the control plane, so in-cluster requirements stay minimal.
Container images & registries
The cluster pulls images from these registries — allow them in egress policy, or mirror them for air-gapped installs:
Air-gapped or mirrored-registry installs can repoint every image at one registry with
--set global.imageRegistry=<your-registry>.
AI investigation & model access
The default install includes an operator-managed AI investigator (HolmesGPT) that calls your model provider. On EKS with Amazon Bedrock, grant it access via IRSA:Upgrades & uninstall — plan for both before you start
Upgrades are standard Helm upgrades, and most improvements ship control-plane-side with no cluster change — see the Operations handbook. Uninstall removes the in-cluster footprint cleanly, with one manual step (deleting the CRD) — the exact commands are on the install page.Known limitations — read before your security review
- No HTTP(S) proxy support — the cluster needs direct outbound HTTPS to
api.changeguard.ai:443. kubectl get changeguardagentshows blankCSC/PUSHEScolumns — the dashboard is the source of truth for score and push activity.- Key rotation has no self-serve rotation API today; for high-assurance invalidation after a suspected exposure, rotate and confirm with support.
- Data removal is per-cluster in-app; full-tenant erasure goes through support.
You are ready when…
-
kubectlpoints at the cluster you intend to install into (kubectl config current-context). - Helm 3.8+ is installed (
helm version --short). - The cluster runs Kubernetes 1.24+.
- You can create cluster-scoped resources (namespaces, a CRD, ClusterRoles) —
cluster-adminis not required. - The cluster has outbound HTTPS to
api.changeguard.ai:443(no HTTP proxy). - You have a ChangeGuard AI API key (
cg_…), created at app.changeguard.ai. - You’ve decided whether to keep security scanning on — it’s the default and includes a privileged Falco DaemonSet (see Permissions & RBAC).
- (EKS + Bedrock) You know which IAM role the AI investigator will use for model access — see AI investigation & model access.