IIO Architecture
One single engine with any number of adapters. This is how production-ready systems emerge from tenant profiles.
1. System Structure: One Engine, Many Adapters
IIO consists of a core — the Governance Engine — and a variety of adapters that enable different ways of working:
- Governance Engine: Policy Decision Points (PDPs), HITL gates, compliance checks, evidence trail
- 5 Adapters:
coding— AI coding agents with sandbox and planner-worker-judgeflow-runner— declarative workflows from flow.yamlwww-publishing— content, websites, living booksexecution-dispatch— remote operations (SSH, Ansible, stack ops)direct-executor— direct configuration and calculations
- Projection Engine: takes a tenant profile (SME, enterprise, developer partner) and materializes a concrete system state
Result: a tenant with the enterprise profile gets Keycloak, monitoring, dedicated GPU, service topology — automatically. A kmu-standard tenant gets shared GPU, central Keycloak, simpler monitoring.
2. Execution Path: Intent → Policy → Adapter → Evidence
Every action in IIO follows the same path — whether coding, deployment, content publishing, or infrastructure operations:
Execution path as steps:
- State intent: Operator or agent expresses a wish: "Deploy Keycloak to this server", "Generate code for feature X", "Publish blog post".
- Policy Decision Point (PDP) checks:
The PDP aggregates 5 sources: governance policy, infra mode, cost budget, data sensitivity, deployment zone. Example:
- Small change on standard server → AUTO
- Production deploy → HITL (gate opens, operator approves)
- Costly cluster restart during cost hold → BLOCK
- PDP decides: AUTO / HITL / BLOCK
- AUTO: adapter is invoked immediately
- HITL: gate opens, operator waits for approval
- BLOCK: action is stopped, reason is documented
- Adapter selects execution mode:
Depending on the action type (code-feature, flow, content, infra, config):
- coding: sandbox spins up, planner-worker-judge loop, code is generated
- flow-runner: flow.yaml is processed sequentially/in parallel, HITL gates respected
- www-publishing: emotion sensitivity determines tone, GEO optimization scales images
- execution-dispatch: SSH command or Ansible playbook on multi-server, with automatic retry
- direct-executor: direct YAML write or configuration application
- Action executed: The adapter does the work (code, deployment, content, calculation).
- Log evidence:
Every step is documented:
- Git commit SHA or deployment manifest ID
- Gate ID (if HITL)
- Actor (operator/agent ID)
- Timestamp and result
- Audit trail complete: The action is traceable forever. No silent state — everything is evidence.
3. Flow Model: Workflows with Gates and Maturity
IIO defines 683 flows — declarative workflows that build complex operations from reusable stages.
Flow structure:
- flow.yaml: declaration of a workflow sequence (or DAG)
- Stages: each stage has a distinct task (Ansible, Bash, Python, HTTP call, etc.)
- HITL gates: any number of gates per flow — operator can pause and approve workflows
- Evidence collection: every stage writes its outputs (logs, metrics, results)
- Maturity: flows have status (draft, stable, production, deprecated) — checked at execution time
Example: the deploy-new-tenant flow is part of 3803 cumulative steps across all flows. A single flow can have 20–50 stages.
For inspection: /flows (page shows all flows with maturity, last run, and details).
4. Operating Models: Shared, Dedicated, On-Prem
The Projection Engine can instantiate any tenant in one of three operating models:
Shared
Multiple tenants share infrastructure: Keycloak, monitoring, AI Hub on central servers. Low cost, fast setup.
Ideal for: SMEs, pilots, small teams
Isolation: namespace + RBAC in Keycloak, VLAN optional
Dedicated
Each tenant gets its own servers (Keycloak, AI Hub, monitoring). Higher cost, full control. Hetzner Cloud as the default.
Ideal for: enterprise, privacy-critical, high-compute
Isolation: physical servers + firewall
On-Premise
Tenant uses its own infrastructure. The IIO agent runs in the customer's data center as a managed service — no data flows to Intelego.
Ideal for: regulation, sovereignty, legacy integration
Isolation: customer infra, IIO stays in control
A tenant can mix multiple models: e.g. database dedicated, AI inference shared, secret keys on-prem.
5. AI Operations: Local Models, LiteLLM Router, €0 Token Cost
IIO operates local AI models on Nvidia GPUs. That means: all inference runs inside our own data center, €0 token cost.
Infrastructure:
- GPU fleet: several specialized machines with Nvidia GPUs (H100, A40, etc.), pooled under Ollama
- LiteLLM router: intelligently distributes requests to the best GPU. Load balancing and fallback on failures.
- Ollama: open-source server that hosts local models (Llama, Mistral, CodeLlama)
- Cost Guard: monitors GPU utilization, memory, heat. Automatic shutdown on thermal issues.
Why €0?
When a coding agent sends requests or an operator starts a publishing flow, the AI computation happens locally:
- Request comes in → LiteLLM router decides which GPU
- Ollama runs inference locally (in our own data center)
- Result comes back
- Zero outbound network traffic → zero external API cost
Boundary: External APIs
Explicit boundary: we only use external APIs when it's not possible locally:
- Real-time financial quotes → external API (costs ~€0.02/request)
- Legal validation (GDPR query) → external specialist API (costs €0.50/query)
- Image generation via FLUX → local, or external FLUX API if the GPU is too slow
Transparency: every tenant knows where the boundaries are. We state the costs explicitly.
6. Data Storage and Tenant Separation
Every tenant has a logical data boundary. Physically, multiple tenants may share infrastructure, but data is isolated:
- Database namespace: PostgreSQL/Directus schemas per tenant
- Keycloak realm: each tenant has its own SSO realm, or shares realms with RBAC separation
- Filesystem separation: S3 buckets or local volumes per tenant
- HITL identity: access policy determines who may access which tenant's data
No tenant sees another tenant's data. This is enforced by policy and monitored with automatic audit control.
7. Observability: Metrics, Logs, Alerts, Rogue-Unit Detection
IIO operates a continuous monitoring system that observes every layer of the infrastructure:
Pillars of observability:
- Metrics: VictoriaMetrics collects time-series data (CPU, memory, network, GPU VRAM) from all servers
- Logs: Loki stores structured and unstructured logs (syslog, Docker, application logs) with 30-day retention
- Alerts: Grafana + Alertmanager trigger on critical metrics (e.g. disk >90%, API error rate >5%)
- Health checks: Blackbox exporter tests service reachability every 30 seconds
- Service Topology: monitors which systemd services are authorized on each server (and detects illegal/suspicious services)
Service Topology — Rogue-Unit Detection:
The Service Topology Layer maintains a desired-state list of all authorized systemd services per server. On every check, the actual list is compared against the desired list:
- Expected: e.g.
caddy.service,iio-mcp.service— authorized - Missing: e.g.
fail2ban.serviceshould be running, is missing → WARN, service is reconstructed - Rogue: e.g.
crypto-miner.serviceis running but not on the desired list → CRITICAL, HITL gate opens immediately, service is disabled
Practical example: if a security incident smuggles a systemd unit with a suspicious name (e.g. system-update-helper.service, which is actually a cryptominer) onto a server, Service Topology detects it on the next scan and reports it as a rogue unit with top priority.
Node Health:
Per-server state is continuously updated: disk usage, swap, Docker daemon health, SSH key rotation, certificate expiry. Proactive notifications ahead of critical events.
8. Cooperation with External Systems: MCP, A2A, Agent Docking
IIO is designed to cooperate with external systems. Three protocols connect external agents/tools to IIO:
- MCP (Model Context Protocol): Claude, ChatGPT, Cursor and others can call 12 IIO governance tools. Via stdio or HTTP.
- A2A (Agent-to-Agent): other AI agents (e.g. Gemini, CrewAI, AutoGen) can send tasks to IIO and wait for results.
- Agent Docking: a coding agent or agency AI can "dock" itself into IIO — then gets access to Keycloak, queue, HITL gates.
For details: /kooperation (page shows protocols, examples and integration steps).
9. Boundaries: What IIO Does Not Solve
What IIO delivers
- ✓ Automated governance: HITL gates, policy decision points, compliance checks
- ✓ Agentic coding: sandbox, planner-worker-judge, prompt-to-deploy
- ✓ Decentralized data flows: flow model with stages and gates
- ✓ Local AI without token costs: Ollama + LiteLLM router
- ✓ Enterprise monitoring: metrics, logs, alerts, rogue-unit detection
- ✓ Multi-tenant isolation: namespace, RBAC, audit trail
- ✓ Cooperation: MCP, A2A, agent docking
What IIO is not
- – No user-operated business logic without a code framework (e.g. mouse-driven workflow builder — we are developer-first)
- – No guaranteed <5ms latency (we optimize for 50–200ms for typical operations)
- – No blockchain/Web3-native features (we can call blockchains, but do not build on top of them)
- – No magic data lineage without user annotation (data governance needs manual schema mapping)
- – No fully autonomous agent swarm without HITL (critical decisions = always a gate)
- – No prediction of failures before they occur (we react fast, but do not prevent clairvoyantly)
Summary: Architecture in Brief
Engine: governance + Policy Decision Point (PDP) + evidence trail.
Adapters: 5 execution modes (coding, flows, publishing, remote ops, direct). Every intent is routed through the PDP.
Scaling: Projection Engine materializes systems from profiles (SME, enterprise, developer, partner). No manual setups.
Operations: shared/dedicated/on-prem — one engine, three operating modes. Cost flexibility for everyone.
AI: local models, zero token cost. Ollama + LiteLLM router on the GPU fleet.
Observation: complete monitoring with rogue-unit detection — no hidden processes.
Cooperation: MCP, A2A, agent docking — external systems work together with IIO.
Boundaries: developer-first, not no-code. HITL is safety-bound, not optional. We are fast, not magic.