Getting Started Developer Guide Feature Catalog Operator Guide Reference
Docs/Reference

Reference

CLI commands, management API, configuration, and slice API.

Status: in active development — release-candidate series toward GA; current candidate 1.0.0-rc3 (2026-09-02). Not yet production-ready.

CLI Tools

ToolPurpose
aetherCluster management CLI — 60+ commands, batch and REPL modes
aether-nodeRun a cluster node
aether-forgeLocal cluster simulator with visual dashboard
jbctCode validation, formatting, project scaffolding

CLI Command Groups

GroupCommands
statusCluster status, leader, node count, health
nodesList nodes, roles, states
slicesCluster-wide and per-node slice listing
routesHTTP routes, cluster-wide and per-node
metricsSystem metrics, historical queries (5m/15m/1h/2h)
healthCluster health score, component status
scaleManual scaling, instance count adjustment
deployBlueprint deployment with strategy selection
artifactUpload, list, inspect artifacts
blueprintList, inspect, delete blueprints
configView and update runtime configuration
loggingDynamic log level management
eventsCluster event history and streaming
nodeDrain, activate, shutdown individual nodes
clusterBootstrap, scale, upgrade cluster
observabilityEnable/disable tracing and metrics per method
alertsActive and historical alerts
thresholdsWarning/critical threshold configuration
backupTrigger, list, restore cluster backups
schemaMigration status, manual retry
node-slicesPer-node slice listing
node-routesPer-node route listing
invocation-metricsPer-method P50/P95/P99 latency
controllerScaling controller configuration
scheduled-tasksList, pause, resume, trigger scheduled tasks
topologyCompile-time data-flow graph
workersWorker pool management and health
streamStream management, consumer groups, lag
storageAHSE storage management
certCertificate operations
ab-testA/B test management

Authentication

# Via flag
aether --api-key mykey123 status

# Via environment
export AETHER_API_KEY=mykey123
aether status

Management API

190+ REST endpoints, every one under /api/v1 except the two health probes. All endpoints accept JSON and return JSON. The table below shows key endpoints — see the full API in the management API reference.

EndpointMethodDescription
/health/liveGETLiveness probe (not under /api/v1)
/health/readyGETReadiness probe (not under /api/v1)
/api/v1/cluster/statusGETCluster status: leader, core count, phase
/api/v1/cluster/…GETTopology, generation, membership, provisioning
/api/v1/nodesGETList cluster nodes
/api/v1/nodes/routesGETList HTTP routes
/api/v1/nodes/drain/{id}POSTDrain a node
/api/v1/nodes/shutdown/{id}POSTShut down a node
/api/v1/slicesGETList deployed slices
/api/v1/scalePOSTSet scaling config
/api/v1/deployPOSTDeploy a blueprint (canary, blue-green, rolling)
/api/v1/blueprintsGET/POSTBlueprint CRUD
/api/v1/config/…PUTRuntime configuration overrides
/api/v1/metrics/…GETSystem, per-node, per-slice metrics
/api/v1/metrics/prometheusGETPrometheus scrape endpoint

WebSocket Endpoints

EndpointDescription
/ws/dashboardLive metrics stream
/ws/statusCluster state changes
/ws/eventsReal-time cluster events with delta broadcasting

Default Ports

PortPurposeNotes
8070App HTTP (slice endpoints)TCP, per node. Configurable
8080Management APITCP, per node. Configurable
8090Cluster transport (QUIC: consensus, KV-Store, HTTP forwarding, DHT)UDP, per node
8190SWIM failure detectionUDP, per node
8888Dashboard (Forge)Configurable via FORGE_PORT

Slice API

Built-In Annotations

AnnotationTargetPurpose
@SliceInterface (TYPE)Marks a service interface for annotation processing
@ResourceQualifierAnnotation (ANNOTATION_TYPE)Meta-annotation for defining custom resource qualifiers
@PgSqlParameter, InterfacePostgreSQL type-safe persistence (Aether Store)
@SqlParameterGeneric SQL connector (config: "database")
@HttpParameterHTTP client (config: "http")
@NotifyParameterNotification sender (config: "notification")
@ContentStoreQualifierParameterContent store access
@PartitionKeyRecord componentMarks partition key field for stream routing

Custom Qualifier Patterns

These are defined per-project using @ResourceQualifier. The resource type and target determine the behavior:

Resource TypeTargetPurpose
Subscriber.classMETHODPub-sub topic subscription
Scheduled.classMETHODScheduled task (cron/interval configured in TOML)
StreamPublisher.classPARAMETERStream publishing
StreamSubscriber.classMETHODStream push-based consumption
StreamAccess.classPARAMETERStream pull-based access
PgNotificationSubscriber.classMETHODPostgreSQL LISTEN/NOTIFY
ConfigurationSection.classPARAMETER, METHODTyped config injection + runtime update notification
MethodInterceptor.classMETHODMethod-level interceptors (retry, circuit breaker)

Core Types

TypePurpose
Promise<T>Asynchronous computation result. All slice methods return this
Result<T>Success or failure. Used for validation, parsing, error handling
Option<T>Present or absent value. Replaces null
CauseSealed error interface. Replaces exceptions
UnitVoid replacement for Promise<Unit>

Configuration

Aether is configured via aether.toml. Key sections:

SectionPurpose
[cluster]Cluster name, peer addresses, ports
[server]HTTP server port, worker threads
[app-http]Application HTTP server, API keys, RBAC
[database.*]Database connections
[http.*]HTTP client configurations
[cloud]Cloud provider settings
[timeouts.*]13 subsystem-specific timeout groups
[storage]AHSE tier configuration (memory/disk/S3)
[app.*]Application configuration (merged with slice defaults)
[endpoints.*]Infrastructure endpoint definitions

Environment Variables

Variables with AETHER_ prefix are imported automatically. Converted from SCREAMING_SNAKE_CASE to dot.notation.lowercase:

Environment VariableConfig Key
AETHER_DATABASE_HOSTdatabase.host
AETHER_SERVER_PORTserver.port
AETHER_CLUSTER_SECRETcluster.secret

For complete configuration reference including all timeout groups, see configuration.md and timeout-configuration.md in the repository.