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
| Pod | minimal | development | full |
|---|---|---|---|
| pod-core (aegis-runtime) | ✓ | ✓ | ✓ |
| pod-secrets (OpenBao) | ✓ | ✓ | ✓ |
| pod-database (PostgreSQL) | ✓ | ✓ | |
| pod-temporal (Temporal + worker) | ✓ | ✓ | |
| 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 deployminimal
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, storage, and observability are not available.
Required external services:
- PostgreSQL 15+ (set
AEGIS_DB_HOSTandPOSTGRES_PASSWORDin.env)
development
Use case: Local development, testing, and CI environments.
Includes: pod-core + pod-secrets + pod-database + pod-temporal + 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 7 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:
| Variable | Development | Production |
|---|---|---|
AEGIS_IMAGE_TAG | latest | Pinned semver (e.g., 1.2.3) |
RUST_LOG | debug or info,aegis_orchestrator=debug | info |
AEGIS_LOG_FORMAT | (unset, defaults to pretty) | json |
GRAFANA_ADMIN_PASSWORD | admin | Strong password |
POSTGRES_PASSWORD | aegis | Strong 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=observabilitySee Also
- Podman Deployment — full platform deployment guide
- Pod Architecture — detailed pod topology
- Infrastructure Requirements — hardware and dependency matrix