Agent Fleet
Scaffolds the AI-workload composite on top of a Platform tenant. Produces an AgentFleet CR (agents.nanohype.dev/v1alpha1) declaring one or more agents — each a container image bound to a named gateway route — behind a KEDA scaler, plus a ModelGateway CR whose routes resolve a Bedrock model, fix the wire format callers speak, cap request rate and attach a Guardrail. Pairs with k8s-app-tenant — the Platform CR there owns the tenant boundary; this composes the AI pieces inside it.
| Name | agent-fleet |
| Version | 0.1.0 |
| Category | ai-systems |
| License | Apache-2.0 |
| Persona | engineering |
| Tags | kubernetes, bedrock, agents, gateway, keda, nanohype |
| Source | templates/agent-fleet |
Render it
Three front doors, one catalog. Pick whichever suits the caller.
# CLI
npx @nanohype/sdk render agent-fleet --out ./my-app
# SDK
import { LocalSource, renderTemplate } from "@nanohype/sdk";
const result = await renderTemplate(source, "agent-fleet", variables);
# MCP — from an agent
get_template({ name: "agent-fleet" })Prerequisites
| Tool | Version | Why |
|---|---|---|
kubectl | >=1.28 | Apply the AgentFleet and ModelGateway CRs during initial setup |
Variables
Required
FleetNamestring- Kebab-case fleet name — used as AgentFleet CR name and label selector. Must be lowercase kebab-case starting with a letter.
Tenantstring- Owning team — must match the Platform CR's spec.tenant. Must be lowercase kebab-case.
AppNamestring- Companion Platform tenant name (matches k8s-app-tenant's AppName). Must be lowercase kebab-case.
RouteNamestring- ModelGateway route name. Referenced by each AgentFleet.spec.agents[].modelRoute. Must be lowercase kebab-case.
AgentImagestring- Container image the agent runs. The operator runs it as a Deployment, so the agent framework is whatever the image carries.
Optional
ModelFamilystring — defaults toanthropic- Bedrock model family for the ModelGateway route. One of: anthropic, meta, mistral, cohere, amazon-titan, amazon-nova, stability.
ModelIdstring — defaults tous.anthropic.claude-sonnet-5- Bedrock inference-profile ID, or a foundation-model ID for a family that still offers on-demand invoke. The current Claude family is inference-profile-only, so it needs the geo prefix.
What it produces
3 files. Placeholder names such as __APP_NAME__ are what the renderer substitutes into.
agentfleet.yaml
modelgateway.yaml
README.mdComposes with
- Pairs with
k8s-app-tenant - Pairs with
agentic-loop - Pairs with
mcp-server-ts - Pairs with
mcp-server-python - Nests inside
monorepo