Skip to content

Custom Resources

Sympozium models every agentic concept as a Kubernetes Custom Resource:

CRD Kubernetes Analogy Purpose
Agent Namespace / Tenant Per-user gateway — channels, provider config, memory settings, skill bindings
AgentRun Job / Sandbox CR Single agent execution — task, model, result capture, memory extraction. Optionally uses Agent Sandbox CRDs for kernel-level isolation
SympoziumPolicy NetworkPolicy Feature and tool gating — what an agent can and cannot do
SkillPack ConfigMap Portable skill bundles — kubectl, Helm, or custom tools — mounted into agent pods as files, with optional sidecar containers for cluster ops
SympoziumSchedule CronJob Recurring tasks — heartbeats, sweeps, scheduled runs with cron expressions
Ensemble Helm Chart / Operator Bundle Pre-configured agent bundles — activating a pack stamps out Agents, Schedules, and memory for each persona
Model Deployment + Service Cluster-local inference — declares a model (GGUF or HuggingFace), controller deploys an inference server (llama.cpp, vLLM, or TGI) and exposes an OpenAI-compatible endpoint
MCPServer Deployment + Service Managed Model Context Protocol server — external tool providers with auto-discovery and allow/deny filtering
SympoziumConfig Cluster configuration Platform-wide singleton — gateway, canary, and pricing settings

Agent

The core resource representing an agent identity. Each instance has:

  • An LLM provider configuration (model, API key reference, base URL)
  • Skill bindings (which SkillPacks are active)
  • Channel connections (Telegram, Slack, etc.)
  • Memory settings (enabled/disabled, max size)
  • A policy reference
  • Optional node selector for pinning agent pods to specific nodes (e.g. GPU nodes running Ollama)
apiVersion: sympozium.ai/v1alpha1
kind: Agent
metadata:
  name: my-agent
spec:
  agents:
    default:
      model: gpt-4o
  skills:
    - skillPackRef: k8s-ops
    - skillPackRef: code-review
  policyRef: default-policy

AgentRun

Represents a single agent execution. The controller reconciles each AgentRun into an ephemeral Kubernetes Job containing the agent container, IPC bridge, and any skill sidecars.

apiVersion: sympozium.ai/v1alpha1
kind: AgentRun
metadata:
  name: quick-check
spec:
  agentRef: my-agent
  agentId: default
  sessionKey: "quick-check-001"
  task: "How many nodes are in the cluster?"
  model:
    provider: openai
    model: gpt-4o
    authSecretRef: my-openai-key
  skills:
    - skillPackRef: k8s-ops
  timeout: "5m"

Phase transitions: PendingRunningSucceeded (or Failed). When lifecycle hooks with postRun are defined: PendingRunningPostRunningSucceeded (or Failed).

Setting spec.backend: celln routes the run to a hardware-isolated microVM instead of a Job — no ensembles, delegation, or shared memory, and the run's own model: field is ignored in favor of whatever AI provider is configured on the KVM host. See Celln Backend.


SympoziumPolicy

Gates features and tools at admission time. The webhook evaluates policies before a pod is created.

Policy Who it is for Key rules
Permissive Dev clusters, demos All tools allowed, no approval needed
Default General use execute_command requires approval, everything else allowed
Restrictive Production, security All tools denied by default, must be explicitly allowed

SkillPack

Portable skill bundles mounted into agent pods as files. Can optionally declare sidecar containers with runtime tools and RBAC rules. See Skills & Sidecars for details.


SympoziumSchedule

Cron-based recurring agent runs. See Scheduled Tasks for details.


Ensemble

Pre-configured agent bundles. See Ensembles for details.