Core Noxus Components
Noxus Frontend
Noxus Frontend
Next.js application that serves the user interface and talks to Noxus
Backend over API/WebSocket.
Noxus Backend
Noxus Backend
API/control plane for workflows, auth, configuration, integrations, and
orchestration.
Noxus Workers
Noxus Workers
Async execution plane for runs. In Kubernetes, workers are pool-based
(
worker.pools) with HPA or KEDA autoscaling.Noxus Relays
Noxus Relays
Optional integration webhook/event handlers (for external events and relay
endpoints). Off by default.
Agent Sandbox
Agent Sandbox
Isolated execution for Run Code nodes and all plugin execution. Off by
default; the plugin system is disabled without it. See Agent
Sandbox.
Data Layers
- PostgreSQL: domain entities, analytics, platform audit logs, embeddings (pgvector), and the job queue
- Redis: cache, distributed locks, and live-stream coordination
- Cold Storage: object/file persistence (
s3,gcloud,minio, local-compatible options)
The job queue lives in PostgreSQL
Workers poll a PostgreSQL-backed queue rather than consuming from a message broker. Two consequences worth planning around:- Database connection count scales with worker replicas. Each Backend and Worker pod opens its own connection pools —
POSTGRES_POOL_SIZE(default 64) plus a separate vector pool and a queue pool. A deployment with 2 Backend and 10 Worker replicas can request well over a thousand connections before any user traffic. Run a connection pooler; the Helm chart bundles PgBouncer for this. - Backlog is directly observable, which is what makes queue-driven autoscaling accurate. KEDA reacts to actual queue depth instead of waiting for CPU to rise after work has already been sitting.
allkeys-lru eviction so it degrades under memory pressure rather than erroring on write.
Traffic And Domains
The platform default ingress model uses three entrypoints for the platform. As an example:<domain>-> Noxus Frontendapi.<domain>-> Noxus Backendrelay.<domain>-> Noxus Relays (if enabled)
<domain>-> Noxus Frontend<domain>/api/backend-> Noxus Backend<domain>/relays-> Noxus Relays (if enabled)
Long-lived connections
Agent responses stream over SSE and WebSocket connections held open for minutes. Default proxy read timeouts are 60 seconds, which truncates responses mid-answer. Raise the timeout on whatever terminates TLS — load balancer idle timeout,proxy-read-timeout on nginx, a BackendConfig on GKE — and check any CDN or WAF in front, which applies its own limit regardless of the origin setting.
Deployment Overview
Entry point to deployment models, config, security, and operations
Kubernetes
Helm-based architecture with worker pools, KEDA, and ingress
Agent Sandbox
Isolated code execution, required for plugins
noxus-infra
Terraform modules, Helm chart, and operational runbooks