Aegis Orchestrator
Deployment

Deployment Profiles

Profile-based deployment for AEGIS — minimal, development, and full profiles with pod composition, use cases, and environment configuration.

Deployment Profiles

The aegis-deploy repository uses deployment profiles to control which pods are started. Profiles let you deploy only the services you need, from a minimal agent execution setup to the full production stack.


Profile Comparison

Podminimaldevelopmentfull
pod-core (aegis-runtime)
pod-secrets (OpenBao)
pod-database (PostgreSQL)
pod-temporal (Temporal + worker)
pod-iam (Keycloak)
pod-observability (Jaeger, Prometheus, Grafana, Loki)
pod-storage (SeaweedFS)
pod-seal-gateway (SEAL Gateway)

Proprietary add-on pods (Cortex, Zaru, Zaru Edge) are available under commercial license and deployed via separate profiles not included in the public aegis-deploy repository.


Selecting a Profile

# Deploy with a specific profile
make deploy PROFILE=minimal
make deploy PROFILE=development
make deploy PROFILE=full

# Default profile (if PROFILE is omitted) is 'development'
make deploy

minimal

Use case: Bare-minimum agent execution for testing or resource-constrained environments.

Includes: pod-core + pod-secrets

The minimal profile starts only the AEGIS runtime and OpenBao. You must provide an external PostgreSQL instance and configure it in .env. Workflows, IAM, storage, and observability are not available.

Required external services:

  • PostgreSQL 15+ (set AEGIS_DB_HOST and POSTGRES_PASSWORD in .env)

development

Use case: Local development, testing, and CI environments.

Includes: pod-core + pod-secrets + pod-database + pod-temporal + pod-iam + pod-observability

The development profile starts all core services including the full observability stack. Storage uses the local filesystem (no SeaweedFS). This is the recommended profile for development and testing.

What's missing vs full:

  • No SeaweedFS (volumes use local storage)
  • No SEAL Gateway (direct tool routing only)

full

Use case: Production, staging, and enterprise deployments.

Includes: All 8 public pods.

The full profile starts every public service including distributed storage (SeaweedFS) and the SEAL tooling gateway. This is the recommended profile for production deployments.


Environment Overrides

All profiles read from the same .env file. Profile-specific behavior is controlled by which pods are started, not by different configuration values. However, you may want to adjust these variables per environment:

VariableDevelopmentProduction
AEGIS_IMAGE_TAGlatestPinned semver (e.g., 1.2.3)
RUST_LOGdebug or info,aegis_orchestrator=debuginfo
AEGIS_LOG_FORMAT(unset, defaults to pretty)json
GRAFANA_ADMIN_PASSWORDadminStrong password
KEYCLOAK_ADMIN_PASSWORDchangemeStrong password
POSTGRES_PASSWORDaegisStrong password

Custom Profiles

To create a custom profile, add a new profile definition in the aegis-deploy Makefile or deploy pods individually:

# Deploy specific pods manually
make deploy-pod POD=core
make deploy-pod POD=database
make deploy-pod POD=observability

See Also

On this page