Skip to content

Environment Variables

All environment variables for the Helm chart are set under each component’s env block in values.yaml. Keys use double underscore __ for nested configuration (e.g. ConnectionStrings__SqlConnectionString).


Common (shared across services)

Used by auth, monitoring, notification, metrics-api, and finops-api where applicable:

VariableDescription
ASPNETCORE_ENVIRONMENTRuntime environment (Development, Production)
ConnectionStrings__SqlConnectionStringSQL Server connection string
Sentry__EnabledEnable Sentry (true / false)
Sentry__DsnSentry DSN URL
Sentry__EnvironmentSentry environment name
SwaggerUICredentials__usernameSwagger UI basic auth username
SwaggerUICredentials__passwordSwagger UI basic auth password
AzureAd__ClientIdAzure AD application (client) ID
AzureAd__TenantIdAzure AD tenant ID
AzureAd__ClientSecretAzure AD client secret
AzureAd__InstanceAzure AD instance URL (e.g. https://login.microsoftonline.com/)
Jwt__KeyJWT signing key
Jwt__IssuersComma-separated JWT issuers
Jwt__AudiencesComma-separated JWT audiences
Logging__LogLevel__DefaultDefault log level (e.g. Warning)
Logging__LogLevel__Microsoft.IdentityModel.LoggingExtensions.IdentityLoggerAdapterIdentity logger level (e.g. Critical)
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT.NET globalization (false recommended)

auth

Under auth.env in values.yaml. See also Authentication docs.

VariableDescription
ConnectionStrings__SqlConnectionStringRequired. SQL Server connection string
CacheSettings__CacheProviderCache provider (e.g. MemoryCache)
AzureAd__ClientId, AzureAd__TenantId, AzureAd__ClientSecret, AzureAd__InstanceAzure AD
AzureAd__CallbackPathOIDC callback path (e.g. /signin-oidc)
DownstreamApi__BaseUrlMicrosoft Graph base URL (e.g. https://graph.microsoft.com/beta)
DownstreamApi__ScopesScopes (e.g. User.Read)
smtpHostSMTP server host
smtpPortSMTP port
smtpUsernameSMTP username
smtpPasswordSMTP password
smtpFromFrom email address
enableSslUse SSL for SMTP (true / false)
MOBILE_API_KEYAPI key for mobile Azure auth
Sentry__*, SwaggerUICredentials__*, Jwt__*, Logging__*, DOTNET_SYSTEM_GLOBALIZATION_INVARIANTAs in Common

monitoring

Under monitoring.env in values.yaml.

VariableDescription
ConnectionStrings__SqlConnectionStringRequired. SQL Server connection string
RabbitMq__HostRabbitMQ host
RabbitMq__UserRabbitMQ username
RabbitMq__PassRabbitMQ password
QueueTypeRABBITMQ or SERVICEBUS
ServiceBus__ConnectionStringAzure Service Bus connection string
ServiceBus__QueueNameService Bus queue name (e.g. notifications)
CacheSettings__CacheProviderCache provider (e.g. Redis)
CacheSettings__RedisConnectionStringRedis connection string
azure_blob_storage_connection_stringAzure Blob Storage connection string
azure_blob_storage_container_nameBlob container name
AUTH_API_URLAuthentication API base URL
CACHE_PARALLEL_TASKSParallel cache tasks (e.g. 10)
ipgeo_apikeyIP geolocation API key
enable_location_apiEnable location API (true / false)
enable_screenshotEnable screenshot (true / false)
screenshot_wait_time_msScreenshot wait time in ms (e.g. 2000)
enable_screenshot_storage_accountUse storage account for screenshots (true / false)
Downsampling__ActiveEnable downsampling (true / false)
Downsampling__IntervalInSecondsDownsampling interval (e.g. 60)
CHECK_MONITOR_AFTER_CREATIONCheck monitor after creation (true / false)
Sentry__*, SwaggerUICredentials__*, AzureAd__*, Jwt__*, Logging__*, DOTNET_SYSTEM_GLOBALIZATION_INVARIANTAs in Common

notification

Under notification.env in values.yaml.

VariableDescription
ConnectionStrings__SqlConnectionStringRequired. SQL Server connection string
RabbitMq__HostRabbitMQ host
RabbitMq__UserRabbitMQ username
RabbitMq__PassRabbitMQ password
QueueTypeRABBITMQ or SERVICEBUS
ServiceBus__ConnectionStringAzure Service Bus connection string
ServiceBus__QueueNameService Bus queue name
CacheSettings__CacheProviderCache provider (e.g. MemoryCache)
slack-webhookurlSlack webhook URL
AesKeyAES encryption key
AesIVAES initialization vector
AUTH_API_URLAuthentication API base URL
PUSHY_API_KEYPushy API key for push notifications
Sentry__*, SwaggerUICredentials__*, AzureAd__*, Jwt__*, Logging__*, DOTNET_SYSTEM_GLOBALIZATION_INVARIANTAs in Common

metrics-api

Under metrics-api.env in values.yaml.

VariableDescription
CLICKHOUSE_CONNECTION_STRINGRequired. ClickHouse connection (e.g. http://clickhouse:8123/default or external URL)
ConnectionStrings__SqlConnectionStringRequired. SQL Server connection string
RabbitMq__HostRabbitMQ host
RabbitMq__UserRabbitMQ username
RabbitMq__PassRabbitMQ password
QueueTypeRABBITMQ or SERVICEBUS
ServiceBus__ConnectionStringAzure Service Bus connection string
ServiceBus__QueueNameService Bus queue name
ENABLE_LOG_CLEANUPEnable log cleanup (true / false)
LOG_CLEANUP_INTERVAL_HOURSCron expression for cleanup (e.g. 0 0 * * *)
Sentry__*, SwaggerUICredentials__*, AzureAd__*, Jwt__*, Logging__*As in Common

finops-api

Under finops-api.env in values.yaml. Container image: image.finops-api. See also FinOps service documentation.

VariableDescription
ConnectionStrings__SqlConnectionStringRequired. SQL Server connection string for FinOps data
ASPNETCORE_ENVIRONMENTDevelopment enables Swagger UI; use Production in clusters
Azure__TenantIdAzure AD tenant for the service principal used against Azure Resource Manager / Cost Management
Azure__ClientIdApplication (client) id for Azure data collection (often the same app as AzureAd__ClientId when one registration is used for both API auth and ARM)
Azure__ClientSecretClient secret for Azure__* (store as a secret in real deployments)
Azure__SubscriptionIdsRequired for scheduled or multi-subscription analysis. Comma-separated Azure subscription GUIDs
AI__ApiUrlAI / agent HTTP endpoint for recommendations (must match AI:ApiUrl in configuration)
AI__ApiKeyAPI key sent to the AI endpoint
AI__ApiKeyHeaderNameHTTP header name for the API key
WeeklyAnalysis__Enabledtrue to run the weekly UTC analysis hosted service for every id in Azure__SubscriptionIds
WeeklyAnalysis__DayOfWeekUtcDay name, e.g. Sunday
WeeklyAnalysis__HourUtc0–23 (UTC)
WeeklyAnalysis__MinuteUtc0–59 (UTC)
Sentry__*, SwaggerUICredentials__*, AzureAd__*, Jwt__*, Logging__*, DOTNET_SYSTEM_GLOBALIZATION_INVARIANTAs in Common

AI__ApiUrl spelling

Use AI__ApiUrl (ends in Url) so it binds to AI:ApiUrl. A typo such as AI__ApiURl may not populate the FinOps AIConfiguration.ApiUrl property reliably on Linux.


ui

The default chart does not define an env block for the ui component; it only uses ui.replicas. If your UI image requires environment variables, add them under ui.env in values.yaml in the same format as above.


Example: full auth.env block

yaml
auth:
  replicas: 1
  env:
    ASPNETCORE_ENVIRONMENT: Production
    ConnectionStrings__SqlConnectionString: "Server=sql;Database=alerthawk;User Id=sa;Password=***;"
    Sentry__Enabled: false
    Sentry__Dsn: ""
    Sentry__Environment: Production
    SwaggerUICredentials__username: admin
    SwaggerUICredentials__password: "***"
    CacheSettings__CacheProvider: MemoryCache
    AzureAd__ClientId: "your-client-id"
    AzureAd__TenantId: "your-tenant-id"
    AzureAd__ClientSecret: "***"
    AzureAd__Instance: "https://login.microsoftonline.com/"
    AzureAd__CallbackPath: /signin-oidc
    DownstreamApi__BaseUrl: https://graph.microsoft.com/beta
    DownstreamApi__Scopes: User.Read
    smtpHost: smtp.example.com
    smtpPort: "587"
    smtpUsername: [email protected]
    smtpPassword: "***"
    smtpFrom: [email protected]
    enableSsl: "true"
    Jwt__Key: "your-jwt-secret-key"
    Jwt__Issuers: "https://your-issuer"
    Jwt__Audiences: "your-audience"
    Logging__LogLevel__Default: Warning
    Logging__LogLevel__Microsoft.IdentityModel.LoggingExtensions.IdentityLoggerAdapter: Critical
    DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: "false"
    MOBILE_API_KEY: "your_mobile_api_key"

Replace placeholders and secrets with your actual values.

AlertHawk - Self-hosted monitoring solution.