Skip to main content

Latest blog: Nuon's Keyboard Culture

Architecture

How Nuon Works

A deep dive into the architecture that powers BYOC deployments at scale.

Architecture

How Nuon Works

Package your app with TOML config. The Control Plane orchestrates deployments. Runners execute in customer infrastructure and stream logs back.

Step 01

Define your app in TOML

Wrap your existing Helm charts, Terraform modules, and container images. Point to your repos and Nuon handles the orchestration.

[public_repo]
repo = "nuonco/aws-eks-sandbox"
directory = "."
branch = "main"
 
[vars]
cluster_name = "{{.nuon.install.id}}"
public_root_domain = "{{.nuon.inputs.domain}}"
nuon apps sync
HelmTerraformKubernetes

Step 02

Manage all installs centrally

View every customer deployment. Push updates, monitor health, and detect drift without SSH-ing into customer environments.

Installs4
Install
Status
Version
acme-prod
Active
v2.1.0
globex-staging
Deploying
v2.0.5 → v2.1.0
initech-prod
Drift
v2.1.0
wayne-prod
Active
v2.1.0

Step 03

Runner executes in customer cloud

A stateless binary deploys into each customer's environment. It polls Nuon for jobs through egress-only connections and never accepts inbound traffic.

Runner Architecture
Egress Only
Nuon Control Plane

API

Queue

Store

poll logs
Customer Infrastructure
acme
runner
globex
runner
wayne
runner

Step 04

Stream deployment logs in real-time

Watch Terraform plan and apply. See Helm install your charts. Debug failures as they happen, not after a customer reports them.

nuon installs logs -f
14:32:01 [runner] Received deploy job: release v2.1.0
14:32:03 [terraform] Initializing backend...
14:32:15 [terraform] Plan: 3 to add, 0 to change, 0 to destroy
14:33:42 [terraform] Apply complete! Resources: 3 added
14:33:45 [helm] Installing chart: api → namespace api
14:34:01 [helm] Release "api" installed successfully
14:34:15 [runner] Running healthcheck: GET /api/health
14:34:16 [runner] Healthcheck passed: 200 OK (45ms)