Skip to content

Enterprise AI Infrastructure

Full enterprise AI stack with agents, tool servers, safety guardrails, evaluation, prompt management, observability, and a Platform tenant chart whose ModelGateway is the stack's model path.

Nameenterprise-ai
Version0.1.0
Tagsenterprise, ai, kubernetes, agents, guardrails
Sourcecomposites/enterprise-ai.yaml

Render it

# CLI
npx @nanohype/sdk render-composite enterprise-ai --out ./my-app

# SDK
import { LocalSource, renderComposite } from "@nanohype/sdk";
const result = await renderComposite(source, "enterprise-ai", variables);

# MCP — from an agent
get_composite({ name: "enterprise-ai" })

What it draws together

TemplateRendered atNotes
monoreporootthe root project
agentic-looppackages/agent
mcp-server-tspackages/tools
guardrailspackages/guardrails
rag-pipelinepackages/ragonly when IncludeRag
a2a-agentpackages/orchestratoronly when IncludeA2a
eval-harnesspackages/evals
prompt-librarypackages/prompts
ts-serviceapps/api
module-auth-tspackages/auth
module-database-tspackages/db
module-observability-tspackages/observability
module-queue-tspackages/queue
module-storage-tspackages/storage
k8s-app-tenantinfra

Variables

Required

ProjectName string
Project name Must be lowercase kebab-case.

Optional

LlmProvider string — defaults to gateway
LLM provider the packages deployed on the substrate call: gateway, the Platform ModelGateway, which holds the Bedrock role there, so none of them holds a model credential. The eval harness runs on a CI runner and keeps its own bedrock default
IncludeRag bool — defaults to true
Include RAG pipeline
IncludeA2a bool — defaults to false
Include multi-agent coordination
Tenant string — defaults to ${ProjectName}
Owning team: the tenants-<team> namespace the Platform, BudgetPolicy and ModelGateway CRs are applied in, the Platform's spec.tenant, and the team label on the tenant chart's resources and telemetry
Image string — defaults to ${ProjectName}
Container image repository the tenant chart deploys, without a tag; each values-<env>.yaml pins one
AppMetric string — defaults to http
Prefix of the RED series the tenant chart's Grafana dashboard reads: <prefix>_requests_total, <prefix>_errors_total and <prefix>_request_duration_seconds. The default, http, is the prefix apps/api (a ts-service) emits them under