R.4

kubectl ate commands

The kubectl ate plugin at v1.0.0 has 11 verbs over seven resources, and most commands are one call to the Substrate API.

The plugin is the binary kubectl-ate. It finds ate-api-server through your kubeconfig and opens a port-forward for each command, unless you pass --endpoint. Section 2.2 shows how to install and use it. In our runs we built it from the checkout with go install ./cmd/kubectl-ate.

Three kinds of command do more or less than one call. logs actor also reads the logs of the worker pod through the Kubernetes API. proxy actor sends its traffic through atenet-router and not through ate-api-server. The admin commands write Kubernetes Secrets and call no Substrate API.

Global flags

outputthe help text of one command, with the global flagsFull log
Error: unknown flag "-A"

Usage:
  kubectl-ate get worker [worker-name ...] [flags]

Aliases:
  worker, workers

Flags:
  -a, --atespace string        filter worker pods hosting actors in a specific atespace
  -h, --help                   help for worker
  -n, --namespace string       scope output to a specific Kubernetes namespace
      --sandbox-class string   filter by sandbox class (e.g. gvisor, microvm)
  -l, --selector string        filter by worker pool labels

Global Flags:
      --context string      kubeconfig context to use
      --endpoint string     manual override for the gRPC target (e.g., localhost:8080); if omitted, automatically port-forwards
      --kubeconfig string   path to the kubeconfig file
  -o, --output string       output format: table, json, or yaml (default "table")
      --preview             allow the use of preview features enabled on the server
      --token-file string   path to a bearer token for ate-api authentication, or - for stdin (defaults to a Kubernetes ServiceAccount token)
      --trace               enable tracing for the request
  -v, --verbose count       output verbosity; may be repeated (e.g. -v, -vv, -vvvvv)
The output of a wrong command in our first run, kubectl ate get worker -A. The CLI printed the error and then this help.
FlagUse it when
--contextthe machine has more than one cluster. A wrong context sends the command to a cluster with no Substrate.
--endpointyou keep one port-forward open and run many commands
--token-fileyou act as your own identity. Without it the CLI uses a shared ServiceAccount and prints a warning, as section 5.1 explains.
-o yamlyou need the uid, the version, or the snapshots of an object
--previewthe server has a preview feature on and you want to use it
--versionyou want the version of the plugin. It is a flag of the root command only, so the help text of a subcommand above does not list it. It has no -v short form, because -v means --verbose.

Actors

CommandFlagsWhat it does
get actor [name ...]-a, -ALists actors in one atespace or in all, or prints the named ones.
create actor <name>--template, -a, --tagCreates a suspended actor from a template or from a tag. --template takes atespace/name or a name.
update actor <name>-a, --template, --worker-selectorPoints the actor at another template, or changes its worker selector.
suspend actor <name>-a, --modeSuspends. --mode is async by default, or sync.
resume actor <name>-aResumes without a request.
revert actor <name>-aReturns the actor to its durable snapshot.
delete actor <name>-aDeletes the actor in any state.
logs actor <name>-a, -f, -c, --sourcePrints logs. --source is all, containers, or lifecycle. -c _sandbox prints the sandbox runtime log.
proxy actor <name> [[local:]remote ...]-a, --addressOpens a local port that forwards to the actor through the router. Listens on 127.0.0.1 by default.

Templates, tags, and atespaces

CommandFlagsWhat it does
get actor-template [name ...]-a, -ALists or prints templates.
create actor-template -f <manifest>-fCreates one template from a JSON or YAML file, or from standard input with -.
delete actor-template <name>-aDeletes the template and its golden snapshot.
get tag [name ...]-a, -ALists or prints tags.
create tag <name>-a, --actor, --scopeTags the snapshot of a suspended actor. --scope is atespace or published.
update tag <name>-a, --scopeChanges the scope.
delete tag <name>-aDeletes the tag and its snapshot.
get atespace [name ...]noneLists or prints atespaces.
create atespace <name>noneCreates an atespace.
delete atespace <name>noneDeletes an empty atespace.

The CLI has no command that updates a template. To change one, create a template with a new name and point actors at it with update actor --template.

Egress policies and access policies

CommandFlagsWhat it does
get egress-policy <actor>-aPrints the policy of one actor.
create egress-policy <actor> -f <manifest>-a, -fCreates the policy.
update egress-policy <actor> -f <manifest>-a, -fReplaces the policy. The manifest must carry metadata.uid and metadata.version.
delete egress-policy <actor>-a, --uid, --versionDeletes the policy, with optional preconditions.
get access-policy-a or --globalPrints the access policy of an atespace, or the global one.
create access-policy -f <manifest>-a or --global, -fCreates it.
update access-policy -f <manifest>-a or --global, -fReplaces it.
delete access-policy-a, --uid, --versionDeletes the policy of an atespace. The global policy has no delete.

Workers

CommandFlagsWhat it does
get worker [name ...]-n, -a, -l, --sandbox-classLists workers with state, actors, CPU, and memory against capacity.
top worker-n, -a, -l, --sandbox-classPrints the CPU and memory use of workers.

Workers have no atespace. get workers lists the workers of all Kubernetes namespaces by default, and get workers -A fails with unknown flag "-A". The -n and -l flags narrow the list, and -a keeps only the workers that host an actor of that atespace.

Admin commands

These commands read and write Kubernetes Secrets directly. They take --name and --secret-namespace.

CommandFlagsWhat it does
admin make-ca-pool--ca-id, --key-type, --validityCreates a pool with one CA. The key type is ECDSAP256 by default, and the validity is 365 days.
admin make-jwt-pool--alg, --key-idCreates the pool that signs actor JWTs. The algorithm is ES256 by default, or RS256.
admin list-jwt-keysnoneLists the keys of a pool.
admin add-jwt-key--alg, --key-idAdds a key that verifies and does not yet sign.
admin activate-jwt-key--key-idMakes a key the signing key.
admin remove-jwt-key--key-idRemoves a key.

Section 5.3 explains the tokens, and section 8.5 notes that the rotation is manual.

Commands that older text names and v1.0.0 does not have

kubectl ate pause actor and the flag --template-ref do not exist at v1.0.0. Section 8.4 lists the replacements.

Agent Substrate 1.0.0 · b34fbee · 2026-11-05 · Edition 2026.11