{
  "id": 5796931,
  "title": "Deploying an Agent Substrate Actor After ActorTemplate Left Kubernetes",
  "url": "https://urgent.news/2026/09/05/deploying-an-agent-substrate-actor-after-actortemplate-left-kubernetes",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-05T16:22:48.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/thenjdevopsguy/deploying-an-agent-substrate-actor-after-actortemplate-left-kubernetes-mcn"
  },
  "original_language": "en",
  "account": "As of September 2, 2026, the ActorTemplate object is no longer present. It was originally created to serve as a template for deploying Actors with specific settings and configurations. This blog post explains how to deploy Actors without the need for an ActorTemplate and provides insights into the reasoning behind this change. To follow along with the blog post and deploy Actors hands-on, you will need a GKE cluster or a raw k8s cluster (such as microk8s or kubeadm) with direct access to the API server and the Agent Substrate installed. If you don't have a cluster, you can still follow along theoretically and implement later. The primary reason for removing the ActorTemplate object was to prevent it from leaking the wrong identity, naming, lifecycle, and authentication into the public API. ActorTemplate, being a k8s object, exposed conventions like kubectl apply, namespaces, and CRD, which made it difficult for CLI, SaaS, and gRPC clients to share a single surface, and for the schema to evolve independently of Kubernetes. Since Actors are an ateapi object, it made sense to have their templates as ateapi objects as well. The ate-api-server now manages templates through the following commands: - ateapi.Control - `CreateActorTemplate` - `GetActorTemplate` - `ListActorTemplates` - `DeleteActorTemplate`. Although some objects/CRDs still exist in Kubernetes, the core knowledge of what exists and what has changed is crucial for deploying resources effectively. The blog post provides an example configuration for creating a new template called \"counter\" in the \"ate-demo-counter\" namespace, including a Worker Selector, container specifications, volume mounts, resource limits, snapshot configurations, and sandbox settings. After saving this configuration as counter-template.yaml, you can create the atespace and the template using the following commands: kubectl ate create atespace ate-demo-counter kubectl ate create actor-template -f counter-template.yaml To create an Actor using the template, you need to provide a unique Actor ID, the atespace where the template resides, and the template name. For example, the command kubectl ate create actor my-counter-1 --atespace ate-demo-counter --template-ref counter creates an Actor with the specified settings. Agent Substrate is a rapidly evolving project, and the decision to change the Template to Substrate API instead of relying on the Kubernetes API is a strategic move to split the responsibility effectively.",
  "summary": "As of 09/02/2026, the ActorTemplate object no longer exists. It was created, as the name suggests, to be the template/golden template that Actors use to deploy with particular settings and configurations for it to run as expected. In this quickstart blog post, you'll see how to deploy Actors without an ActorTemplate and also understand the reasoning behind this change. Prerequisites To follow…",
  "key_points": [
    "ActorTemplate object removed as of September 2, 2026",
    "ActorTemplate leaked wrong identity, naming, lifecycle, authentication",
    "Agent Substrate replaces Kubernetes API for templates"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}