Skip to main content
In this quickstart, you’ll deploy an AI agent powered by Claude. You’ll create a dependency chain: a secret stores your API key, a model references the secret, an agent uses the model, and a runner deploys the agent to a GKE cluster that Pragmatiks also manages.
Time estimate: 20 minutes. You’ll need an Anthropic API key and a GCP project.

What you’ll build

Eight resources, wired together. When you apply them, Pragmatiks resolves the dependency graph automatically — secrets first, then the model and the cluster, then the agent and the cluster access, then the runner.

Prerequisites

Install the CLI

Authenticate

This opens your browser. Sign in, and you’re connected.

Build your agent

1

Create your secret

Secrets store sensitive values like API keys. Create a file called secret.yaml:
secret.yaml
Replace sk-ant-your-key-here with your actual Anthropic API key.
2

Create a model

The model resource configures which LLM to use. It references your secret via a field reference — instead of hardcoding the API key, it pulls it from the secret’s outputs.Create model.yaml:
model.yaml
The api_key field uses a field reference: it points to the ANTHROPIC_API_KEY output of the anthropic-key secret. Pragmatiks resolves this automatically.
3

Create an agent

The agent resource defines the AI agent’s behavior. It references the model as a dependency — a link to the entire resource, not just one field.Create agent.yaml:
agent.yaml
The model field is a dependency: it references the full claude model resource. When the model changes, the agent rebuilds automatically.
4

Deploy it

The runner deploys your agent to a Kubernetes cluster. It needs the agents to deploy, a kubernetes/config for cluster access, and a kubernetes/namespace to deploy into.First, store your GCP service account key as a secret. Create gcp-credentials.yaml:
gcp-credentials.yaml
Paste your GCP service account JSON key as the credentials_json value. You can get one from the GCP Console under Keys > Add Key > JSON.
Then describe the cluster, how to reach it, and the namespace to deploy into. Create cluster.yaml:
cluster.yaml
The kubernetes/config resource gives Kubernetes resources access to the GKE cluster, and kubernetes/namespace creates the agents namespace in it.
GKE cluster creation takes 5-10 minutes. Resources that depend on the cluster wait until it is READY.
Then deploy the agent. Create runner.yaml:
runner.yaml
5

See it work

Check the status of all your resources:
You should see all eight resources in READY state:
Get details about your deployed agent:
This shows the runner’s outputs including the service URL where your agent is running.

What just happened?

You created a dependency chain of resources:
  1. Secret stores your API key securely
  2. Model references the secret via a field reference (field: outputs.ANTHROPIC_API_KEY)
  3. Agent depends on the model (whole-resource dependency)
  4. Cluster: gcp/gke reads its credentials from a second secret; kubernetes/config gives access to it and kubernetes/namespace creates the agents namespace
  5. Runner depends on the agent, the Kubernetes config, and the namespace
Pragmatiks resolved the entire chain automatically. It figured out the correct order, waited for each resource to become READY before processing its dependents, and wired the values through. If you update the secret with a new API key, Pragmatiks propagates the change: the model rebuilds with the new key, the agent rebuilds with the updated model, and the runner redeploys.

Full YAML

Here’s everything in a single multi-document file you can copy-paste. Create agent-stack.yaml:
agent-stack.yaml
Apply everything at once:
Pragmatiks resolves the dependency order automatically — you don’t need to apply resources in sequence.

Next steps

Build a Reactive AI Pipeline

Add tools, knowledge bases, and multi-agent teams.

Reactive Dependencies

Understand how change propagation works.