Skip to content

Settings reference

This page is the canonical list of Ampora settings, grouped by section. The Env var column shows the __-separated form for use in container environment files.

Database

Key Env var Default Purpose
Database:Provider Database__Provider Postgres Postgres or Sqlite. SQLite is dev-only.
ConnectionStrings:Ampora ConnectionStrings__Ampora Provider-specific connection string.
AMPORA_AUTO_MIGRATE (env-only) 0 Apply EF migrations on startup. Set 1 for k8s deployments.

See Database & migrations.

ASP.NET Core / hosting

Key Env var Default Purpose
ASPNETCORE_ENVIRONMENT env-only Production Production / Staging / Development
ASPNETCORE_HTTP_PORTS env-only 8080 HTTP listen port
ASPNETCORE_FORWARDEDHEADERS_ENABLED env-only true Honour X-Forwarded-* from the reverse proxy
Logging:LogLevel:Default Logging__LogLevel__Default Information
Logging:LogLevel:Microsoft.AspNetCore Logging__LogLevel__Microsoft.AspNetCore Warning

OIDC authentication

Key Env var Default Purpose
Authentication:Oidc:Authority Authentication__Oidc__Authority Issuer URL of your IdP
Authentication:Oidc:ClientId Authentication__Oidc__ClientId Application's client ID
Authentication:Oidc:ClientSecret Authentication__Oidc__ClientSecret Application's client secret
Authentication:Oidc:RoleClaim Authentication__Oidc__RoleClaim ampora:role Claim that carries the Ampora role
Authentication:Oidc:TenantClaim Authentication__Oidc__TenantClaim tenant Claim that carries the tenant discriminator

See OIDC authentication.

OpAMP

Key Env var Default Purpose
OpAmp:MaxMessageBytes OpAmp__MaxMessageBytes 10485760 Hard cap per OpAMP frame; agents above are disconnected
OpAmp:HeartbeatWindowSeconds OpAmp__HeartbeatWindowSeconds 90 Time without a frame before "last seen" goes stale
OpAmp:AllowedCapabilityFlags OpAmp__AllowedCapabilityFlags 15 Bitmask of capabilities Ampora honours (AcceptsRemoteConfig + ReportsEffectiveConfig + ReportsHealth + ReportsRemoteConfig = 15)
OpAmp:RequireMtls OpAmp__RequireMtls true Reject non-mTLS connections after bootstrap
OpAmp:BootstrapPlaintextAllowed OpAmp__BootstrapPlaintextAllowed false Allow bootstrap connections over plain WS (dev only)

See Reference → OpAMP capability matrix.

Encryption / key protection

Key Env var Default Purpose
KeyProtection:MasterKey KeyProtection__MasterKey Base64 of a 32-byte CSPRNG key. Wraps every encryption-at-rest field.
KeyProtection:PreviousMasterKey KeyProtection__PreviousMasterKey Old master key during rotation. Drop after one cycle.
CryptoProvider:Kind CryptoProvider__Kind Software Software / AwsKms / AzureKeyVault / GcpKms / Pkcs11 / VaultTransit
CryptoProvider:KeyId CryptoProvider__KeyId Provider-specific identifier for the signing key

See Security → HSM/KMS integration.

Certificate authority

Key Env var Default Purpose
CertificateAuthority:CommonName CertificateAuthority__CommonName Ampora CA Subject CN of the auto-bootstrapped CA
CertificateAuthority:CrlDistributionPoint CertificateAuthority__CrlDistributionPoint CRL DP URL embedded in every issued cert
CertificateAuthority:OcspResponderUrl CertificateAuthority__OcspResponderUrl OCSP responder URL embedded in every issued cert
CertificateAuthority:DefaultLeafLifetimeDays CertificateAuthority__DefaultLeafLifetimeDays 365 Default validity for issued client certs
CertificateAuthority:DefaultTrustedWindowDays CertificateAuthority__DefaultTrustedWindowDays 30 How long a previous active key stays trusted after rotation

See mTLS & PKI.

Multi-tenancy

Key Env var Default Purpose
MultiTenant:Mode MultiTenant__Mode SoftScoping SoftScoping (single-tenant or co-located) or HardIsolation (Postgres RLS)
MultiTenant:DefaultTenant MultiTenant__DefaultTenant default Tenant assigned when the discriminator claim is missing

See Tutorials → Multi-tenant onboarding.

Dispatch backplane

Key Env var Default Purpose
Dispatch:Backplane Dispatch__Backplane InProcess InProcess / Postgres / Redis
Dispatch:RedisConnectionString Dispatch__RedisConnectionString Required when Backplane=Redis
Dispatch:OwnershipTtlSeconds Dispatch__OwnershipTtlSeconds 60 How long a session-ownership lease lives without renewal
Dispatch:LeaderLeaseSeconds Dispatch__LeaderLeaseSeconds 30 Background-job leader lease TTL

See Dispatch backplane.

Self-observability

Key Env var Default Purpose
OpenTelemetry:ServiceName OpenTelemetry__ServiceName ampora-server OTLP service name
OpenTelemetry:OtlpEndpoint OpenTelemetry__OtlpEndpoint OTLP gRPC endpoint; empty disables export
OpenTelemetry:Headers OpenTelemetry__Headers OTLP headers (e.g. for vendor auth)
OpenTelemetry:SamplingRatio OpenTelemetry__SamplingRatio 0.05 Trace sampling ratio (0.0 – 1.0)

See Self-observability.

GitOps

Key Env var Default Purpose
GitOps:Enabled GitOps__Enabled false Master switch
GitOps:CacheRoot GitOps__CacheRoot /var/lib/ampora/git-cache Where shallow clones land
GitOps:DefaultPollIntervalSeconds GitOps__DefaultPollIntervalSeconds 60 Default poll cadence; per-source override

See Tutorials → GitOps.

Federation

Key Env var Default Purpose
Federation:Enabled Federation__Enabled false Master switch (both inbound and outbound)
Federation:InboundCorsOrigins Federation__InboundCorsOrigins [] CORS origins for inbound federation traffic
Federation:HttpClientTimeoutSeconds Federation__HttpClientTimeoutSeconds 15 Timeout on outbound peer requests

See Tutorials → Federation.

Audit retention

Key Env var Default Purpose
AuditRetention:HotDays AuditRetention__HotDays 90 Days events stay in the hot table
AuditRetention:ArchiveDays AuditRetention__ArchiveDays 2555 Days events stay in the archive table (7 years)
AuditRetention:SweepIntervalMinutes AuditRetention__SweepIntervalMinutes 60 How often the retention service runs

See Audit retention.

Debug knobs

These are gated behind explicit settings — never enable them in production unless you know exactly why.

Key Env var Default Purpose
Debug:AllowRolloutEndpoints Debug__AllowRolloutEndpoints false Exposes GET /debug/rollouts/{id}/start|pause|abort for end-to-end test scripts
Debug:AllowAnonymousMetrics Debug__AllowAnonymousMetrics false Disables auth on /metrics (some Prom setups require this)