Skip to content
NewFinOps, Kubernetes and AI, on one platform
Book a demo
UnitVane docs
API referenceReleases

Turn on write access

Let KubeOn apply savings in a cluster, feature by feature, through a separate controller. Off by default, and the read-only agent is unchanged.

On this page

Optional

Without write access, every saving stays a proposal your pipeline ships. Pull requests need a connected repository, not write access.

What you can grant

FeatureKeyIn the clusterIn the cloud
Workload rightsizingrightsizingPatch Deployments, StatefulSets and DaemonSetsNothing
Node pools and Spot fallbacknode_poolsPatch Karpenter NodePoolsResize managed node pools
Node autoscalerautoscalerRead pods and nodes, cordon nodes, evict podsResize pools and remove instances
Container live migrationlive_migrationCheckpoint containers, and create and remove pods in the namespaces you listNothing

Requirements

The node autoscaler does not run alongside Karpenter or cluster-autoscaler. Live migration needs CRI-O or containerd 2, a registry for checkpoint images, and namespaces that allow it.

Turn it on

Create the cluster's controller token in Settings > Integrations > Kubernetes clusters. Then connect with the CLI, or set the chart values with Helm.

kubeon CLI
kubeon cluster connect --automation rightsizing,node_pools

For managed node pools, kubeon cluster connect creates a separate cloud automation role. It is never the billing role.

Choose how changes run

In Automation settings, set each cluster to Team approval or Automatic. Every change passes the same safeguards as a pull request. Workloads deployed by Argo CD or Flux are changed through their repository, so connect it.

Stay in control

  • The controller asks the API server what it may do on every poll, tells KubeOn, and refuses any change for a feature it does not hold.
  • KubeOn cannot grant itself more. Features change only when the cluster's owner re-runs the CLI or Helm.
  • Admins can pause a cluster's write access in KubeOn at any time, and nothing is applied while it is paused.
  • To remove it, set automation.enabled: false and upgrade the release.
Need help with this guide?Contact support