ankra cluster
Commands for managing and operating on clusters. Flagsankra cluster access
List, grant, and revoke per-user access to a cluster’s Kubernetes API through the Ankra gateway (the access used by ‘ankra cluster kubeconfig’ and ‘ankra cluster kube-token’). Managing access requires organisation admin rights. Grants apply to one cluster and one organisation member, identified by email. Examples: ankra cluster access list —cluster my-cluster ankra cluster access grant [email protected] —cluster my-cluster —role view ankra cluster access grant [email protected] —cluster my-cluster —role edit —namespace staging ankra cluster access revoke [email protected] —cluster my-cluster ankra cluster access revoke 6f1f9aca-2c3d-4e5f-8a9b-0c1d2e3f4a5b —cluster my-clusterankra cluster access grant
Grant an organisation member access to a cluster’s Kubernetes API through the Ankra gateway. The grant is cluster-wide by default; pass —namespace to limit it to one namespace. Roles map to the standard Kubernetes ClusterRoles: view, edit, admin, cluster-admin.ankra cluster access list
List access grants for a clusterankra cluster access revoke
Revoke gateway access from a cluster. Pass a grant ID (from ‘ankra cluster access list’) to revoke a single grant, or an email address to revoke every grant that member has on the cluster.ankra cluster addons
Commands to list, manage settings, and uninstall addons.ankra cluster addons available
List addons available for installationankra cluster addons list
List addons for the active cluster; or show details for a single addonankra cluster addons settings
Get settings for an addonankra cluster addons uninstall
Uninstall an addon from the clusterankra cluster addons update
Update addon settings by providing a JSON file that conforms to the settings schema. Example JSON file: { “retry_policy”: { “limit”: 3, “backoff”: { “duration”: “5s”, “factor”: 2, “max_duration”: “3m” } }, “sync_policy”: { “automated”: true, “self_heal”: true, “auto_prune”: false }, “revision_history_limit”: 10 } Usage: ankra cluster addons update my-addon -f settings.jsonankra cluster addons upgrade
Upgrade an addon by patching just the fields you supply. At least one mutating flag is required. Examples:Bump chart version
ankra cluster addons upgrade ankra-website —chart-version 1.0.146—cluster website-demo
Tweak a single Helm values field with —set (mutates the existing values)
ankra cluster addons upgrade website —set image.tag=1.0.146—cluster website-demo
Address a list item by a field instead of an index
ankra cluster addons upgrade website —set ‘env[name=LOG_LEVEL].value=debug’—cluster website-demo
Replace the whole values document
ankra cluster addons upgrade website—values-from-file ./values.yaml —cluster website-demo —set* and —values-from-file are mutually exclusive: —set* mutates the existing values document while —values-from-file replaces it. Changing —namespace is destructive (Helm reinstall in the new namespace, leaves the old release orphaned). Use —yes to skip the confirmation prompt or interactively confirm.
ankra cluster addons values
Print the current Helm values document for an addon. By default the decoded YAML is written to stdout, making it easy to pipe into a file or edit and re-apply with —values-from-file: ankra cluster addons values my-addon > values.yaml ankra cluster addons values my-addon -o raw # base64-encoded formankra cluster agent
Commands to view agent status, get tokens, and upgrade agents.ankra cluster agent status
Get agent status for the selected clusterankra cluster agent token
Get or generate agent token for the selected clusterankra cluster agent upgrade
Upgrade the agent on the selected clusterankra cluster apply
Apply an ImportCluster YAML to the Ankra APIankra cluster clear
Clear the active cluster selectionankra cluster clone
Clone stacks from an existing cluster ImportCluster YAML to a new cluster. The source can be either a local file path or a URL (http/https). Examples: ankra cluster clone cluster.yaml new-cluster.yaml ankra cluster clone https://github.com/user/repo/raw/main/cluster.yaml new-cluster.yaml ankra cluster clone cluster.yaml new-cluster.yaml —stack “monitoring” —stack “networking” Flags: —clean: Replace all stacks in the new cluster with those from the existing cluster —force: Force merge even when stack/addon/manifest names conflict —copy-missing: Copy missing files even for skipped stacks —stack: Clone only specific stacks by name (can be used multiple times) Without flags: Merge stacks, skipping any with conflicting namesankra cluster decrypt
Decrypt SOPS-encrypted values stored on a cluster or in a local cluster.yaml.ankra cluster decrypt addon
Decrypt a SOPS-encrypted addon’s Helm values and print the result to stdout. Two modes: Cluster mode (default): fetch the addon values from a live cluster, decrypt, and print to stdout. File mode (-f cluster.yaml): read the addon values file referenced from a local cluster.yaml, decrypt, and print to stdout. Examples: ankra cluster decrypt addon —name grafana ankra cluster decrypt addon —name grafana —cluster prod —stack monitoring ankra cluster decrypt addon —name grafana -f cluster.yamlankra cluster decrypt manifest
Decrypt a SOPS-encrypted manifest and print the result to stdout. Two modes: Cluster mode (default): fetch the manifest from a live cluster, decrypt it, and print to stdout. File mode (-f cluster.yaml): read the manifest file referenced from a local cluster.yaml, decrypt it, and print to stdout. Examples:Cluster mode against the selected cluster
ankra cluster decrypt manifest db-secretCluster mode against a specific cluster
ankra cluster decrypt manifest db-secret —cluster prodFile mode
ankra cluster decrypt manifest db-secret -f cluster.yamlankra cluster deprovision
Stop a running managed cluster. This will shut down the cluster but not delete it. If no cluster name is provided, uses the currently selected cluster. For cloud clusters (hetzner, ovh, upcloud, digitalocean, proxmox, morpheus) this command routes to the provider-specific deprovision endpoint so cloud resources are released.ankra cluster digitalocean
Commands to create, deprovision, and scale DigitalOcean clusters.ankra cluster digitalocean bastion
Resize the cluster’s single bastion/gateway node. Find its node ID with ‘nodes list’.ankra cluster digitalocean bastion resize
Resize the bastion/gateway node. The provider’s bastion/gateway update job powers it off, resizes it, and powers it back on, causing brief SSH/NAT downtime for the cluster.ankra cluster digitalocean control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster digitalocean control-plane get
Show the current control plane configurationankra cluster digitalocean control-plane set-count
Change the controller count (1 or 3)ankra cluster digitalocean control-plane set-instance-type
Change the controller instance typeankra cluster digitalocean create
Create a new DigitalOcean clusterankra cluster digitalocean k8s-version
Get current Kubernetes version for an DigitalOcean clusterankra cluster digitalocean node-group
List, add, scale, upgrade, and delete node groups.ankra cluster digitalocean nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster digitalocean nodes get
Show full spec and metadata for a single nodeankra cluster digitalocean nodes list
List all nodes for the clusterankra cluster digitalocean nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster digitalocean regions
List the DigitalOcean regions the supplied credential can deploy in.ankra cluster digitalocean sizes
List DigitalOcean droplet sizes. Pass —region to filter by region availability.ankra cluster digitalocean start
Start (re-provision) a stopped DigitalOcean cluster. Use —scope control_plane to bring up only the control plane.ankra cluster digitalocean stop
Stop an DigitalOcean cluster’s compute while keeping its configuration so it can be started again later.ankra cluster digitalocean workers
Get current worker count for an DigitalOcean clusterankra cluster domain
Show the cluster’s generated public domain, queueing the zone if the cluster does not have one yet. The domain nests under the organisation’s Ankra-managed root (ankra.cc by default; organisations may select another offered root, such as smartoptics.dev, in the organisation’s AI environment settings). The call is idempotent: a cluster that already has a zone reports its existing domain unchanged, so this doubles as a lookup. A fresh zone reads “pending” until it is published to the authoritative nameservers and then turns “active”; external-dns is wired to it on the next cloud-provider pass, after which any ingress hostname under the domain resolves with TLS. —remove hands the zone back for teardown instead: the removal step before an organisation switches its Ankra root domain (the switch is refused while cluster zones still live under the old root). A later call without —remove re-enables it under the organisation’s current root.ankra cluster draft
Stage all changes in an ImportCluster YAML as drafts on the cluster without deploying anything. The local checks run first (the same ones as ‘ankra cluster apply —dry-run’), then each stack in the file is saved as a resource draft you can review, edit, and deploy from the Ankra stack builder. If the cluster does not exist yet it is imported first without its stacks, since drafts can only be attached to an existing cluster; every stack in the file is then staged as a draft. Stacks that already match the cluster’s desired state are reported as “no changes” rather than creating an empty draft.ankra cluster encrypt
Encrypt sensitive values in manifest or addon configuration files using SOPS.ankra cluster encrypt addon
Encrypt one or more keys in an addon’s Helm values using SOPS. —key takes the YAML key name whose values should be encrypted. Repeat —key to encrypt several keys in a single run; all keys are encrypted in one SOPS pass and one write. SOPS matches key names anywhere in the document, not dotted paths; a dotted —key is normalised to its last segment. A key whose own name starts with a dot (such as “.dockerconfigjson”) is kept literally. After encrypting, the CLI verifies every value is actually ENC[…] ciphertext and fails if any is not. Two modes: Cluster mode (default): fetch the addon’s values from a live cluster, encrypt the key, and push the result back via the partial-stack PATCH endpoint. The owning stack is resolved automatically. File mode (-f cluster.yaml): rewrite the local addon values file referenced by the cluster.yaml in place, adding the key to encrypted_paths. Examples:Cluster mode against the selected cluster
ankra cluster encrypt addon —name grafana —key adminPasswordCluster mode against a specific cluster, disambiguating stack
ankra cluster encrypt addon —name grafana —key adminPassword —cluster prod —stack monitoringEncrypt several keys in one run
ankra cluster encrypt addon —name grafana —key adminPassword —key smtpPasswordFile mode
ankra cluster encrypt addon —name grafana —key adminPassword -f cluster.yamlankra cluster encrypt manifest
Encrypt one or more keys in a manifest using SOPS. —key takes the YAML key name whose values should be encrypted (for a Secret’s data.password, that is “password”). Repeat —key to encrypt several keys in a single run; all keys are encrypted in one SOPS pass and one write. SOPS matches key names anywhere in the document, not dotted paths; a dotted —key is normalised to its last segment. A key whose own name starts with a dot (such as “.dockerconfigjson” in a kubernetes.io/dockerconfigjson Secret) is kept literally. After encrypting, the CLI verifies every value is actually ENC[…] ciphertext and fails if any is not. —all-data selects every key under data and stringData of a Kubernetes Secret manifest instead of naming keys individually; keys whose values are already encrypted are skipped. The manifest must be a Secret. —all-data and —key are mutually exclusive. Two modes: Cluster mode (default): fetch the manifest from a live cluster, encrypt the key, and push the result back via the partial-stack PATCH endpoint. The owning stack is resolved automatically. File mode (-f cluster.yaml): rewrite a local cluster.yaml’s referenced from_file in place, adding the key to encrypted_paths in the file. Used by GitOps workflows where the source of truth is on disk. In cluster mode, —set applies value edits in-memory BEFORE encrypting, so the new secret value and its encryption land in a single commit - the plaintext value never reaches git history. This is the recommended way to set a new secret value: ankra cluster encrypt manifest db-secret —key password—set ‘data.password=aHVudGVyMg==’ —cluster prod (compared to “manifests upgrade —set” followed by “encrypt manifest”, which commits the plaintext value first). Examples:
Cluster mode against the selected cluster
ankra cluster encrypt manifest db-secret —key passwordCluster mode against a specific cluster
ankra cluster encrypt manifest db-secret —key password —cluster prodSet a new value and encrypt it atomically (single commit, no plaintext)
ankra cluster encrypt manifest db-secret —key password—set ‘data.password=bmV3LXNlY3JldA==’ —cluster prod
Encrypt several keys in one run
ankra cluster encrypt manifest db-secret —key password —key api-tokenEncrypt every data/stringData key of a Secret manifest
ankra cluster encrypt manifest db-secret —all-data —cluster prodFile mode
ankra cluster encrypt manifest db-secret —key password -f cluster.yamlankra cluster get
Get Kubernetes resources from the active cluster. Examples: ankra cluster get pods ankra cluster get deployments -n kube-system ankra cluster get nodes ankra cluster get services —all-namespacesankra cluster get configmaps
List configmaps in the clusterankra cluster get cronjobs
List cronjobs in the clusterankra cluster get daemonsets
List daemonsets in the clusterankra cluster get deployments
List deployments in the clusterankra cluster get events
List events in the clusterankra cluster get ingresses
List ingresses in the clusterankra cluster get k8s-jobs
List Kubernetes jobs in the clusterankra cluster get namespaces
List namespaces in the clusterankra cluster get nodes
List nodes in the clusterankra cluster get pods
List pods or get a specific pod’s manifestankra cluster get resources
Fetch any Kubernetes resource type. Use for kinds not covered by dedicated commands. Kinds outside the core API group need —group (and sometimes —api-version). Example: ankra cluster resources PersistentVolumeClaim -n default ankra cluster resources NetworkPolicy —group networking.k8s.io —all-namespaces ankra cluster resources StorageClass —group storage.k8s.ioankra cluster get secrets
List secrets in the clusterankra cluster get services
List services in the clusterankra cluster get statefulsets
List statefulsets in the clusterankra cluster get storageclasses
List storage classes in the clusterankra cluster gitops
Commands for inspecting which GitOps repository a cluster syncs from.ankra cluster gitops status
Show the GitOps sync status of a cluster: the repository, branch, and credential it syncs from, the last synced commit, and any pending commit or sync error. If no cluster name is provided, uses the currently selected cluster.ankra cluster helm
Commands to list and uninstall Helm releases running in the cluster.ankra cluster helm releases
List Helm releases in the clusterankra cluster helm uninstall
Uninstall a Helm release from the clusterankra cluster hetzner
Commands to create, deprovision, and scale Hetzner clusters.ankra cluster hetzner bastion
Resize the cluster’s single bastion/gateway node. Find its node ID with ‘nodes list’.ankra cluster hetzner bastion resize
Resize the bastion/gateway node. The provider’s bastion/gateway update job powers it off, resizes it, and powers it back on, causing brief SSH/NAT downtime for the cluster.ankra cluster hetzner control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster hetzner control-plane get
Show the current control plane configurationankra cluster hetzner control-plane set-count
Change the controller count (1 or 3)ankra cluster hetzner control-plane set-instance-type
Change the controller instance typeankra cluster hetzner create
Create a new Hetzner clusterankra cluster hetzner k8s-version
Get current Kubernetes version for a Hetzner clusterankra cluster hetzner locations
List the Hetzner Cloud locations the supplied credential can deploy in. Only these locations are valid for cluster creation.ankra cluster hetzner node-group
List, add, scale, upgrade, and delete node groups.ankra cluster hetzner nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster hetzner nodes get
Show full spec and metadata for a single nodeankra cluster hetzner nodes list
List all nodes for the clusterankra cluster hetzner nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster hetzner server-types
List Hetzner Cloud server types. Pass —location to see which types are currently available for provisioning there, and —available-only to hide the rest.ankra cluster hetzner start
Start (re-provision) a stopped Hetzner cluster. Use —scope control_plane to bring up only the control plane.ankra cluster hetzner stop
Stop a Hetzner cluster’s compute while keeping its configuration so it can be started again later.ankra cluster hetzner workers
Get current worker count for a Hetzner clusterankra cluster info
Show details of a specific cluster. If no name is provided, shows details for the currently selected cluster.ankra cluster k3s-versions
List the k3s versions the platform can provision or upgrade to. Use one of these values withankra cluster upgrade <cluster_id> <target_version> (the provider is detected automatically).
ankra cluster kube-token
Print a short-lived Kubernetes ExecCredential so kubectl can authenticate to the Ankra cluster gateway. This command is intended to be invoked by kubectl as a client-go credential plugin, for example in a kubeconfig: users:- name: ankra user: exec: apiVersion: client.authentication.k8s.io/v1 command: ankra args: [“cluster”, “kube-token”, “—cluster”, “<cluster-name-or-id>”, “—org”, “<organisation-id>”]
ankra cluster kubeadm-versions
List the upstream Kubernetes versions the platform can provision or upgrade kubeadm-distribution clusters to. Use one of these values with--kubernetes-version on ankra cluster <provider> create --distribution kubeadm, or with ankra cluster upgrade <cluster_id> <target_version>.
ankra cluster kubeconfig
Add, remove, and list the Ankra cluster contexts in your kubeconfig. By default ‘add’ writes an exec-based context that fetches a short-lived token on demand via ‘ankra cluster kube-token’, so credentials stay ephemeral and SSO-backed (run ‘ankra login’ once). Other clusters/users/contexts already in your kubeconfig are left untouched. These commands read and write a single file: —kubeconfig if given, otherwise the first entry of $KUBECONFIG, otherwise ~/.kube/config. Examples: ankra cluster kubeconfig add my-cluster —use ankra cluster kubeconfig add —all ankra cluster kubeconfig add my-cluster —print > my-cluster.yaml ankra cluster kubeconfig list ankra cluster kubeconfig remove my-cluster ankra cluster kubeconfig remove —allankra cluster kubeconfig add
Add or update an Ankra context in your kubeconfigankra cluster kubeconfig list
List Ankra-managed contexts in your kubeconfigankra cluster kubeconfig remove
Remove Ankra contexts from your kubeconfigankra cluster list
List all clustersankra cluster logs
Stream log output from a pod in the active cluster. By default the stream stays open and prints new lines as they arrive, like kubectl logs -f. Pass —follow=false to print the current backlog and exit, which is what a pipeline into grep or a script wants. Example: ankra cluster logs my-pod -n default -c my-container —tail 100 ankra cluster logs my-pod -n default —since 600 —follow=false | grep ERRORankra cluster managed
Create, delete, stop and start, scale node pools, and upgrade cloud-managed Kubernetes clusters on DOKS, UpCloud UKS, GKE, OVH MKS, AKS, EKS, and Scaleway Kapsule.ankra cluster managed create
Create a managed Kubernetes clusterankra cluster managed delete
Delete a managed Kubernetes clusterankra cluster managed discover
List the managed Kubernetes clusters that already run in the provider account behind a credential, marking the ones already imported into Ankra.ankra cluster managed import
Adopt a managed Kubernetes cluster that already runs at the provider: Ankra fetches the kubeconfig through the provider API and installs the agent automatically, so there is nothing to run against the cluster.ankra cluster managed node-pool
Manage managed cluster node poolsankra cluster managed node-pool add
Add a node pool to a managed clusterankra cluster managed node-pool delete
Delete a managed cluster node poolankra cluster managed node-pool scale
Scale a managed cluster node poolankra cluster managed node-pool update
Update the node count or autoscaling settings of a managed cluster node pool. Pass at least one of —count, —autoscaling, —autoscaling-min, or —autoscaling-max; unspecified settings are left unchanged.ankra cluster managed start
Start a stopped managed Kubernetes cluster. Currently only AKS supports stopping and starting managed clusters.ankra cluster managed stop
Stop a managed Kubernetes cluster’s compute while keeping its configuration so it can be started again later. Currently only AKS supports stopping and starting managed clusters.ankra cluster managed upgrade
Upgrade a managed cluster Kubernetes versionankra cluster manifests
Commands to list, view, upgrade, and delete manifests.ankra cluster manifests delete
Disconnect a manifest from its stack. The manifest’s resources are removed from the cluster and dependent resources are reconnected to the manifest’s own parents. The owning stack is discovered automatically (manifest names are unique per cluster). Use —dry-run to preview the target without making changes.ankra cluster manifests get
Print the current YAML content of a manifest. By default the decoded YAML is written to stdout, making it easy to pipe into a file or edit and re-apply with —from-file: ankra cluster manifests get web > web.yaml ankra cluster manifests get web -o raw # base64-encoded formankra cluster manifests list
List manifests for the active cluster; or show details for a single manifestankra cluster manifests upgrade
Upgrade a manifest by patching just the fields you supply. At least one mutating flag is required. Examples:Patch a single path in-place, e.g. bump a Deployment image tag
ankra cluster manifests upgrade web—set ‘spec.template.spec.containers[name=app].image=nginx:1.27’
—cluster website-demo
When the manifest holds multiple documents, select which one to edit
ankra cluster manifests upgrade web —target-kind Deployment —target-name web—set ‘spec.replicas=3’ —cluster website-demo
Replace the manifest content from a file
ankra cluster manifests upgrade demo-namespace—from-file manifests/demo-namespace.yaml —cluster website-demo
Read the manifest from stdin
cat manifest.yaml | ankra cluster manifests upgrade demo-namespace—manifest - —cluster website-demo —set/—set-string/—set-file MUTATE the existing manifest YAML and address list items by a stable field (e.g. containers[name=app]) as well as by numeric index (containers[0]). —from-file / —manifest - REPLACE the whole manifest and are mutually exclusive with —set*. —from-file / —manifest - accept SOPS-encrypted content: when the file carries a top-level sops: metadata mapping, the keys holding ENC[…] ciphertext are detected and recorded as encrypted_paths automatically (merged with the manifest’s existing encrypted_paths). Use —encrypted-path to declare keys explicitly when auto-detection cannot see them. When no content or —set flag is supplied, the existing content is re-sent unchanged (only namespace is updated). This is required because the backend’s manifest validation rejects empty manifest_base64.
ankra cluster metrics
Query the Prometheus metrics source configured for a cluster. The query is proxied through the Ankra agent to the in-cluster Prometheus endpoint configured in Cluster Settings > Metrics. Flagsankra cluster metrics query
Run an instant PromQL query against the cluster’s Prometheus source. Examples: ankra cluster metrics query ‘up’ ankra cluster metrics query ‘sum(rate(container_cpu_usage_seconds_total[5m])) by (pod)’ankra cluster metrics query-range
Run a range PromQL query against the cluster’s Prometheus source. Provide either —range (a duration relative to now) or both —start and —end (Unix seconds). When —step is omitted a sensible step is chosen automatically. Examples: ankra cluster metrics query-range ‘up’ —range 1h ankra cluster metrics query-range ‘rate(node_cpu_seconds_total[5m])’ —range 6h —step 5m ankra cluster metrics query-range ‘up’ —start 1717000000 —end 1717003600 —step 1mankra cluster morpheus
Commands to create, stop, start, and inspect HPE Morpheus clusters.ankra cluster morpheus clouds
List HPE Morpheus clouds available to a credentialankra cluster morpheus control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster morpheus control-plane get
Show the current control plane configurationankra cluster morpheus control-plane set-count
Change the controller count (1 or 3)ankra cluster morpheus control-plane set-instance-type
Change the controller instance typeankra cluster morpheus create
Create a new HPE Morpheus clusterankra cluster morpheus groups
List HPE Morpheus groups available to a credentialankra cluster morpheus k8s-version
Get current Kubernetes version for an HPE Morpheus clusterankra cluster morpheus layouts
List HPE Morpheus instance-type layouts available to a credentialankra cluster morpheus networks
List HPE Morpheus networks available to a credentialankra cluster morpheus nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster morpheus nodes get
Show full spec and metadata for a single nodeankra cluster morpheus nodes list
List all nodes for the clusterankra cluster morpheus plans
List HPE Morpheus service plans available to a credentialankra cluster morpheus start
Start (re-provision) a stopped HPE Morpheus cluster. Use —scope control_plane to bring up only the control plane.ankra cluster morpheus stop
Stop an HPE Morpheus cluster’s instances while keeping its configuration so it can be started again later.ankra cluster morpheus workers
Get current worker count for an HPE Morpheus clusterankra cluster node-group
List, add, scale, upgrade, and delete node groups on a cloud cluster. The cloud provider (Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE, or HPE Morpheus) is detected automatically from the cluster.ankra cluster node-group add
Add a node groupankra cluster node-group autoscaling
Read or write the Cluster Autoscaler settings of a node group. When autoscaling is enabled, the Ankra-managed Cluster Autoscaler keeps the group’s node count within [min, max] based on pod demand. Manual scaling stays allowed but is clamped into the same bounds.ankra cluster node-group autoscaling get
Show autoscaling settings for a node groupankra cluster node-group autoscaling set
Enable autoscaling with —enabled —min <n> —max <n>, or disable it with —enabled=false. min must be at least 1 (scale-to-zero is not supported); enabling requires the cluster’s ankra-agent to be recent enough to serve the autoscaler, and installs the Cluster Autoscaler on first enable.ankra cluster node-group delete
Delete a node group and all its nodesankra cluster node-group labels
Replace the labels on every node in the group. Pass —labels as a comma-separated list of key=value pairs, or —clear to remove all labels. The cloud provider is detected automatically from the cluster.ankra cluster node-group list
List node groupsankra cluster node-group scale
Scale a node groupankra cluster node-group taints
Replace the taints on every node in the group. Pass —taints as a comma-separated list of key=value:Effect (value optional, effect defaults to NoSchedule), or —clear to remove all taints. The cloud provider is detected automatically from the cluster.ankra cluster node-group upgrade
Upgrade instance type for a node group (cannot be reversed)ankra cluster operations
Commands to list, inspect, retry, and cancel executions and their steps.ankra cluster operations cancel
Cancel one or more running executionsankra cluster operations cancel-step
Cancel a specific step within an executionankra cluster operations list
List executions for the active cluster; optionally, provide an ID for detailsankra cluster operations retry
Retry a terminal execution (failed/cancelled/timeout)ankra cluster operations steps
List the steps of an execution with their status and error excerpt. —results additionally fetches each step’s job result - the structured payload the scheduler recorded when the step finished (for example the resources a teardown deleted, skipped, or failed to reclaim). Results are printed under each step, and merged into the steps in -o json|yaml output.ankra cluster ovh
Commands to create, deprovision, and scale OVH Cloud clusters.ankra cluster ovh access-info
Show the gateway (bastion) and control plane IPs plus ready-to-use SSH jump and Kubernetes API port-forward commands.ankra cluster ovh bastion
Resize the cluster’s single bastion/gateway node. Find its node ID with ‘nodes list’.ankra cluster ovh bastion resize
Resize the bastion/gateway node. The provider’s bastion/gateway update job powers it off, resizes it, and powers it back on, causing brief SSH/NAT downtime for the cluster.ankra cluster ovh control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster ovh control-plane get
Show the current control plane configurationankra cluster ovh control-plane set-count
Change the controller count (1 or 3)ankra cluster ovh control-plane set-instance-type
Change the controller instance typeankra cluster ovh create
Create a new OVH clusterankra cluster ovh k8s-version
Get current Kubernetes version for an OVH clusterankra cluster ovh node-group
List, add, scale, upgrade, label, taint, and delete node groups.ankra cluster ovh nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster ovh nodes get
Show full spec and metadata for a single nodeankra cluster ovh nodes list
List all nodes for the clusterankra cluster ovh nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster ovh regions
List the OVH Cloud regions the supplied credential’s project can deploy in. Only these regions are valid for cluster creation.ankra cluster ovh ssh-keys
Get and set the SSH key credentials authorised to access an OVH cluster’s nodes.ankra cluster ovh start
Start (re-provision) a stopped OVH cluster. Use —scope control_plane to bring up only the control plane.ankra cluster ovh stop
Stop an OVH cluster’s compute while keeping its configuration so it can be started again later.ankra cluster ovh workers
Get current worker count for an OVH clusterankra cluster playground
The playground is a real, writable Kubernetes environment Ankra provisions for you - a virtual cluster on Ankra’s own infrastructure, with the agent already installed. Every organisation may hold one; it expires after a period of inactivity.ankra cluster playground create
Create the organisation’s playground. Provisioning runs in the background: pollankra cluster playground status <cluster_id> until the phase reaches ready.
ankra cluster playground status
Show the provisioning phase of a playgroundankra cluster power-schedules
Manage the cluster’s power schedules: scheduled stop or start actions that fire once at a chosen time or repeatedly on a cron expression, so a development cluster can park itself outside working hours. Power schedules are available for self-managed Hetzner, OVHcloud, UpCloud, DigitalOcean, Scaleway, Proxmox VE, and HPE Morpheus clusters - the same clusters that support manual stop and start. A scheduled stop behaves exactly like stopping the cluster yourself: the provider VMs are terminated and only the cluster’s configuration is preserved for the next start. Examples:Park a development cluster on weekday evenings, back before morning
ankra cluster power-schedules create —action stop —cron ‘0 19 * * 1-5’ —timezone Europe/Stockholm ankra cluster power-schedules create —action start —cron ‘0 7 * * 1-5’ —timezone Europe/StockholmOne-off stop before the weekend
ankra cluster power-schedules create —action stop —at 2026-01-02T19:00:00Zankra cluster power-schedules create
Create a scheduled stop or start on the active cluster. The schedule fires once at —at, or repeatedly per —cron evaluated in —timezone (UTC when omitted). A cluster can hold up to 20 schedules.ankra cluster power-schedules delete
Delete a power schedule: it stops firing immediately and disappears from the cluster’s schedule list. The cluster itself is not touched. To pause a schedule while keeping its configuration, use ‘ankra cluster power-schedules update <schedule_id> … —enabled=false’.ankra cluster power-schedules list
List the active cluster’s power schedulesankra cluster power-schedules update
Replace a power schedule. This is a full replace, not a patch: pass the complete schedule as it should be afterwards - —action plus one of —at or —cron (with —timezone for cron schedules), and —enabled=false to leave it paused. Use ‘ankra cluster power-schedules list’ for the schedule ID and the current values.ankra cluster provision
Start a managed cluster that was previously created but is not yet running. If no cluster name is provided, uses the currently selected cluster.ankra cluster proxmox
Commands to create, stop, start, and inspect Proxmox VE clusters.ankra cluster proxmox bridges
List Proxmox VE network bridges on a host nodeankra cluster proxmox control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster proxmox control-plane get
Show the current control plane configurationankra cluster proxmox control-plane set-count
Change the controller count (1 or 3)ankra cluster proxmox control-plane set-instance-type
Change the controller instance typeankra cluster proxmox create
Create a new Proxmox VE clusterankra cluster proxmox hosts
List the Proxmox VE host nodes the supplied credential can deploy virtual machines on.ankra cluster proxmox k8s-version
Get current Kubernetes version for a Proxmox VE clusterankra cluster proxmox nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster proxmox nodes get
Show full spec and metadata for a single nodeankra cluster proxmox nodes list
List all nodes for the clusterankra cluster proxmox nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster proxmox sizes
List the instance-size presets (px-small, px-medium, …) accepted by the Proxmox VE instance-type flags.ankra cluster proxmox start
Start (re-provision) a stopped Proxmox VE cluster. Use —scope control_plane to bring up only the control plane.ankra cluster proxmox stop
Stop a Proxmox VE cluster’s virtual machines while keeping its configuration so it can be started again later.ankra cluster proxmox storages
List Proxmox VE storages on a host nodeankra cluster proxmox templates
List Proxmox VE VM templates on a host nodeankra cluster proxmox workers
Get current worker count for a Proxmox VE clusterankra cluster reconcile
Trigger a reconciliation for a cluster to sync desired state with actual state. If no cluster name is provided, uses the currently selected cluster. If a cluster name is provided, reconciles that specific cluster.ankra cluster roll-to
Roll a cluster to a specific resource version. Uses the currently selected cluster unless —cluster is provided. Example: ankra cluster roll-to —version abc123ankra cluster scale
Scale the number of default-pool worker nodes up or down for a cloud cluster. The cloud provider (Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE, or HPE Morpheus) is detected automatically from the cluster, so you do not need to remember which provider it runs on. To scale a named node group instead, use ‘ankra cluster node-group scale’. Example: ankra cluster scale 62f4559a-a44d-46d7-aab3-a57c9dd6b4c6 3ankra cluster scaleway
Manage the lifecycle of Scaleway clusters.ankra cluster scaleway nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster scaleway nodes get
Show full spec and metadata for a single nodeankra cluster scaleway nodes list
List all nodes for the clusterankra cluster scaleway nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster scaleway start
Re-provision a stopped Scaleway cluster. Use —scope control_plane to bring up only the control plane.ankra cluster scaleway stop
Stop a Scaleway cluster by terminating its compute while preserving its configuration so it can be re-provisioned later.ankra cluster select
Select a cluster and save it as the active cluster for subsequent commands. If a cluster name is provided, it will be selected directly without prompting. If no name is provided, an interactive picker is shown. Examples: ankra cluster select ankra cluster select my-clusterankra cluster sops-config
Show the SOPS encryption configuration including the public key used for encrypting secrets.ankra cluster ssh-keys
Get, set, and re-sync the SSH key credentials authorised to access a cloud cluster’s nodes. The cloud provider (Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE, or HPE Morpheus) is detected automatically from the cluster.ankra cluster ssh-keys get
Show SSH keys attached to a clusterankra cluster ssh-keys resync
Re-sync the cluster’s SSH key with the cloud provider. Use this to repair a stale provider-side SSH key reference (for example when the key was deleted and re-created in the provider console) that blocks new node creation, and to re-apply the authorised keys to running nodes.ankra cluster ssh-keys set
Replace the SSH key credentials attached to a cluster. Changes take effect on the next reconciliation and are applied to running nodes. Pass —clear to remove all user SSH keys (the Ankra-managed key always remains).ankra cluster stacks
Commands to list, create, delete, rename, and view history of stacks.ankra cluster stacks clone
Clone a stack from the current cluster to a target cluster. The cloned stack will be created as a draft in the target cluster, allowing you to review and modify it before deployment. Encrypted values will be stripped during cloning for security reasons and will need to be reconfigured in the target cluster.ankra cluster stacks delete
Delete a stackankra cluster stacks history
Show history of changes for a stackankra cluster stacks list
List stacks for the active cluster; or show details for a single stackankra cluster stacks rename
Rename a stackankra cluster stacks variables
Manage variables on a specific stack. Stack variables are the most specific scope and shadow cluster and organisation variables of the same name when this stack’s manifests/addons are rendered. ankra cluster stacks variables list <stack> ankra cluster stacks variables get <stack> DB_HOST ankra cluster stacks variables set <stack> DB_HOST db.prod.example.com ankra cluster stacks variables delete <stack> DB_HOST Stack variables are stored on the stack spec itself; edits use the same partial-stack PATCH endpoint as manifests/addons upgrade.ankra cluster stacks variables delete
Delete a variable from a stackankra cluster stacks variables get
Get a single stack variableankra cluster stacks variables list
List variables on a stackankra cluster stacks variables set
Create or update a stack variable. The value can be read from stdin by passing ”-”.ankra cluster upcloud
Commands to create, deprovision, and scale UpCloud clusters.ankra cluster upcloud bastion
Resize the cluster’s single bastion/gateway node. Find its node ID with ‘nodes list’.ankra cluster upcloud bastion resize
Resize the bastion/gateway node. The provider’s bastion/gateway update job powers it off, resizes it, and powers it back on, causing brief SSH/NAT downtime for the cluster.ankra cluster upcloud control-plane
Inspect and change the control plane configuration. The cluster must be stopped to change the controller count or instance type. Only 1 or 3 controllers are allowed (etcd needs an odd number of voting members for quorum). Changes apply the next time the cluster is started.ankra cluster upcloud control-plane get
Show the current control plane configurationankra cluster upcloud control-plane set-count
Change the controller count (1 or 3)ankra cluster upcloud control-plane set-instance-type
Change the controller instance typeankra cluster upcloud create
Create a new UpCloud clusterankra cluster upcloud k8s-version
Get current Kubernetes version for an UpCloud clusterankra cluster upcloud node-group
List, add, scale, upgrade, and delete node groups.ankra cluster upcloud nodes
Inspect every server Ankra manages for the cluster (control plane, workers, and bastion or gateway). Soft-deleted entries from a stopped cluster are included so the saved topology is visible before re-provisioning.ankra cluster upcloud nodes get
Show full spec and metadata for a single nodeankra cluster upcloud nodes list
List all nodes for the clusterankra cluster upcloud nodes restart
Schedule a native reboot (falling back to a power cycle) of the node as a tracked operation. The node must be in the ‘up’ state and have no restart already in flight. Workloads on the node are briefly unavailable while it reboots. Works for any node returned by ‘nodes list’, including the bastion/gateway.ankra cluster upcloud start
Start (re-provision) a stopped UpCloud cluster. Use —scope control_plane to bring up only the control plane.ankra cluster upcloud stop
Stop an UpCloud cluster’s compute while keeping its configuration so it can be started again later. —force also deletes the cluster’s CSI storage volumes and load balancers, which otherwise keep billing while the cluster is stopped - the persisted data is lost.ankra cluster upcloud workers
Get current worker count for an UpCloud clusterankra cluster upgrade
Upgrade the Kubernetes version on all nodes in a cloud cluster. The cloud provider (Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE, or HPE Morpheus) is detected automatically from the cluster, so you do not need to remember which provider it runs on. Both k3s and kubeadm clusters are supported; list the available target versions with ‘ankra cluster k3s-versions’ or ‘ankra cluster kubeadm-versions’. Nodes upgrade one at a time (control plane first, then workers): each node is cordoned, drained respecting PodDisruptionBudgets, upgraded, and gated on being Ready at the target version before the rollout moves on. An etcd snapshot is taken before the control plane upgrade. A drain blocked by a PodDisruptionBudget aborts the rollout; pass —force to proceed anyway. Downgrades and skipping minor versions are not supported. Examples: ankra cluster upgrade 62f4559a-a44d-46d7-aab3-a57c9dd6b4c6 v1.36.1+k3s1 ankra cluster upgrade 62f4559a-a44d-46d7-aab3-a57c9dd6b4c6 v1.33.2 # kubeadmankra cluster validate
Validate an ImportCluster YAML file. The local structural, dependency, and YAML checks run first (the same ones as ‘ankra cluster apply —dry-run’), then the file is sent to the Ankra API for server-side validation that the offline checks cannot perform:- chart existence in the Helm registries connected to your organisation
- plaintext Kubernetes Secret / unencrypted addon value detection
- parent references resolved against a cluster’s existing resources