Skip to content

HeliosProxy platform-tier demos — 22 hands-on showcases

One self-contained demo per platform-tier feature: the WASM plugin runtime and its host APIs, the first-party plugins, the edge proxy, anomaly detection, the admin console and REST API, and the companion operator and infrastructure providers. This is a historical set, written for the release that introduced the platform tier: the demos still run, but they are not a tour of the current release. For what has changed since, see the Release History and the repo CHANGELOG.

Each demo:

  • has a README.md with what the demo does, use cases, and a step-by-step walkthrough,
  • includes a docker-compose.yml with a PostgreSQL 17 backend,
  • and a demo.sh entry point with up / run / down subcommands.
Terminal window
cd <demo-dir>
./demo.sh # interactive walkthrough
./demo.sh up # just bring up services + leave them running
./demo.sh down # tear everything down + remove volumes

Prerequisites

  • Docker + Docker Compose v2
  • psql (PostgreSQL 14+ client)
  • curl and jq
  • For plugin demos: a Rust toolchain with wasm32-unknown-unknown target, OR pre-built .wasm artefacts dropped into the per-demo plugins/ directory.

Demo index

#DemoModuleRunnableWhat it proves
1Anomaly Detectionanomaly-detectionyesSQLi + auth burst + novel query — three families fire concurrently against a single backend
2Edge / Geo Proxyedge-proxyyesTwo proxies (home + edge), invalidation broadcast on write, ~40× cache speedup
3Plugin host KV bridgewasm-pluginsyes (via Demo 11)Per-plugin namespaced state survives across hook invocations
4Plugin host cryptowasm-pluginswalkthroughRFC 6234 SHA-256 vector check + audit-chain producing real digests
5Plugin Ed25519 signatureswasm-pluginsyesopenssl-signed .wasm loads; tampered or unsigned refuses
6Plugin OCI artefact loaderwasm-pluginsyeshelios-plugin pack → drop tarball → proxy loads + validates SHA-256
7RouteResult::Blockwasm-pluginsyes (via Demo 18)Route hook produces clean PG ErrorResponse on rejection
8trust_root config knobwasm-pluginswalkthroughSame proxy binary, different TOML → permissive vs enforced
9Admin Web UI(always-on)yes10-panel dashboard at http://localhost:9090/, auto-refresh
10Admin REST API tour(always-on)yescurl tour of all 8 new endpoints
11Plugin: cost-governorcompanion pluginyesPer-tenant budget exhaustion → block; recovery after window resets
12Plugin: ai-classifiercompanion pluginyesLLM detection from application_name keywords + generated-by markers
13Plugin: token-budgetcompanion pluginyesPer-(agent, model) cost gate for AI traffic
14Plugin: llm-guardrailcompanion pluginyesDROP, missing WHERE, missing tenant_id all refused for AI traffic
15Plugin: pgvector-routercompanion pluginyesVector top-K → pg-vector replica; non-vector → pg-primary
16Plugin: column-maskcompanion pluginyesSame query, different roles, masked vs raw PII
17Plugin: audit-chaincompanion pluginyesHash-chained tamper-evident log; verify_chain catches mutation
18Plugin: residency-routercompanion pluginyesEU users → EU replica; US users → US replica; unknown region → block
19helios-plugin CLI(build tool)walkthroughPack/inspect/verify with openssl-generated key
20Kubernetes operatorcompanion operatoryes (kind cluster)One CR brings up ConfigMap + Deployment + Service; status flips Pending → Ready
21Terraform providercompanion Terraform providerwalkthrough (needs Demo 20)Five resources via main.tf; Terraform-tracked state
22Pulumi providercompanion Pulumi providerwalkthrough (needs Demo 20)Same five resources via TypeScript

Shared assets

The _shared/ directory next to the demos contains files multiple demos depend on:

  • proxy.base.toml — minimal proxy config
  • init.sql — sample schema (users + orders + events) with mask functions and roles
  • wait-for.sh — TCP-port poller used by every demo.sh
  • plugin-demo.sh — shared bring-up logic sourced by per-plugin demos

Backend

Every demo uses postgres:17-alpine as the default backend so docker compose up works on any laptop.

Container image

The demo compose files in the repo pin the older proxy image tag they were last fixed against (that fix also replaced a local build: context that no longer exists). To run them against the current release, swap the image: line for ghcr.io/heliosdatabase/hdb-heliosdb-proxy:latest or a current release tag; the admin API now binds loopback by default, so a demo that reaches the admin port across the compose network needs admin_address (and admin_token) set explicitly.

The image is published by the docker workflow on each release tag (the release version, its major.minor line, and latest); if you’re running against an unreleased build, swap the image: line for build: pointing at your local proxy repo.

Where to file improvements

github.com/HeliosDatabase/HeliosDB-Proxy/issues — one issue per demo, please. Pull requests welcome; new demos follow the layout described at the top of this file.