Detailed Setup

Everything beyond the Quick Start: environment configuration, TLS, storage, scaling, backup, retention, and the production-ready checklist. The in-platform docs go deeper still — this is the marketing-tier reference.

Environment configuration

All services read configuration from environment files in deploy/env/. The compose files mount each component's env file as the container's environment. For Kubernetes, the same values become a ConfigMap + Secret pair (see the Helm values.yaml).

api-server.env

VariableDefaultNotes
DATABASE_DSNpostgres://aethonlog:aethonlog@postgres:5432/aethonlog?sslmode=disableUse strong creds + sslmode=require in production
BROKER_BROKERSredpanda:9092Comma-separated list for HA
OPENSEARCH_URLhttp://opensearch:9200HTTPS + auth in prod
LISTEN_HTTP:8080HTTP listen address
PUBLIC_ADDRlocalhost:8080Used by agent install scripts; set to your public hostname
GRPC_PUBLIC_ADDRlocalhost:9091Agents reach this for streaming logs
UI_PATH/srv/uiPath to compiled React assets
DATABASE_MIGRATIONS_PATH/srv/migrationsSQL migrations run at startup
SMTP_HOST + port/user/pass/fromemptyFor invite emails & alert notifications
LOG_LEVELinfodebug for verbose; warn for quieter

ingest-gateway.env

VariableDefault
BROKER_BROKERSredpanda:9092
LISTEN_GRPC:9091
LISTEN_HTTP:8081

syslog-gateway.env

VariableDefault
BROKER_BROKERSredpanda:9092
LISTEN_UDP:1514
LISTEN_TCP:1514

TLS / HTTPS

The platform itself listens HTTP-only for simplicity; production deployments terminate TLS in front. Two common patterns:

For Kubernetes, the Helm chart includes an Ingress definition; pair it with cert-manager + ClusterIssuer (Let's Encrypt or your internal CA) for auto-rotating certs.

Storage

PostgreSQL

Stores tenants, users, alert rules, audit log, and saved searches. Footprint stays small (typically < 10 GB even on large deployments). Production recommendations:

OpenSearch

The bulk of your storage — every log event is indexed here. Plan ~1 GB on disk per 1 GB of ingested logs at default replica settings (1 primary + 1 replica).

Redis

Holds sessions, rate-limit counters, and query result cache. Production:

Scaling

Every service except the three stateful systems (Postgres, OpenSearch, Redis) is stateless and scales horizontally.

ComponentScale signalNotes
api-serverRequest latency, CPUStateless; put behind a load balancer; sticky sessions not required
ingest-gatewayBackpressure on RedpandaStateless; scale to ingest peak
syslog-gatewayUDP packet lossUDP is per-instance; consider keepalived VIPs for HA
parser-workerConsumer lagScale on Redpanda consumer group lag
routing-workerConsumer lagOne per tenant routing rule complexity; usually fewer than parsers
sink-connectorOpenSearch bulk queue depthMatch to OpenSearch write capacity

On Kubernetes, set HPAs on every workload component. Sane starting values for a 1 TB/day deployment: 3 api-servers, 2 ingest-gateways, 4 parser-workers, 2 routing-workers, 3 sink-connectors.

Backup & disaster recovery

Three things to back up, each on its own schedule:

  1. PostgreSQL — daily pg_dump + continuous WAL archiving. Restore drills quarterly.
  2. OpenSearch — daily snapshots to off-site object storage. Test a restore each release cycle.
  3. Configuration — the env files + any custom parsers, alert rules, and SAML metadata. Keep in version control alongside your infra.

Redis is cache + ephemeral state — no backup needed.

Retention policies

Configured per tenant in AdminRetention Policies. Each policy is a query filter + a TTL. Common pattern:

OpenSearch's ILM enforces the TTL by rolling indices to a delete phase. Compliance presets (HIPAA, SOC 2, PCI-DSS, FedRAMP) ship as templates.

Security & compliance

Authentication

Authorization

Data protection

Production checklist

This is the marketing-tier reference. The full operational manual — every env var, every API endpoint, the complete aethonctl CLI, the parser DSL grammar, the alert rule reference, the Helm values schema — lives in the installable docs. After install, browse http://YOUR_SERVER:8080/docs/.