Skip to main content
Infrahub is configured using environment variables. This page documents all available configuration options organized by category.

Configuration methods

    Core settings

    Main settings

    VariableDefaultDescription
    INFRAHUB_ADDRESS-External address for the Infrahub API (used by workers)
    INFRAHUB_INTERNAL_ADDRESS-Internal address for inter-service communication
    INFRAHUB_PUBLIC_URL-Public URL for OAuth2/OIDC redirects
    INFRAHUB_PRODUCTIONfalseEnable production mode
    INFRAHUB_LOG_LEVEL-Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
    INFRAHUB_ALLOW_ANONYMOUS_ACCESStrueAllow anonymous read access
    INFRAHUB_ANONYMOUS_ACCESS_ROLEAnonymous UserRole name for anonymous users
    INFRAHUB_SCHEMA_STRICT_MODEtrueEnable strict schema validation
    INFRAHUB_PERMISSION_BACKENDS["infrahub.permissions.LocalPermissionBackend"]Permission backend modules

    Initial setup

    VariableDefaultDescription
    INFRAHUB_INITIAL_DEFAULT_BRANCHmainDefault branch name (set only once)
    INFRAHUB_INITIAL_ADMIN_TOKEN-Initial admin API token
    INFRAHUB_INITIAL_ADMIN_PASSWORDinfrahubInitial admin password
    INFRAHUB_INITIAL_AGENT_TOKEN-Initial git-agent API token
    INFRAHUB_INITIAL_AGENT_PASSWORD-Initial git-agent password

    Database configuration

    Neo4j settings

    VariableDefaultDescription
    INFRAHUB_DB_TYPEneo4jDatabase type (neo4j)
    INFRAHUB_DB_ADDRESSlocalhostDatabase hostname or IP
    INFRAHUB_DB_PORT7687Database port
    INFRAHUB_DB_PROTOCOLboltConnection protocol
    INFRAHUB_DB_USERNAMEneo4jDatabase username
    INFRAHUB_DB_PASSWORDadminDatabase password
    INFRAHUB_DB_DATABASE-Database name (default: neo4j)
    INFRAHUB_DB_POLICY-Routing policy for cluster
    INFRAHUB_DB_TLS_ENABLEDfalseEnable TLS for database
    INFRAHUB_DB_TLS_INSECUREfalseSkip TLS certificate verification
    INFRAHUB_DB_TLS_CA_FILE-CA certificate file path
    INFRAHUB_DB_QUERY_SIZE_LIMIT5000Max records per query
    INFRAHUB_DB_MAX_DEPTH_SEARCH_HIERARCHY5Max hierarchy depth
    INFRAHUB_DB_RETRY_LIMIT3Transaction retry limit
    INFRAHUB_DB_MAX_CONCURRENT_QUERIES0Max concurrent queries (0 = unlimited)
    INFRAHUB_DB_MAX_CONCURRENT_QUERIES_DELAY0.01Delay when limit reached (seconds)

    Message broker configuration

    RabbitMQ / NATS settings

    VariableDefaultDescription
    INFRAHUB_BROKER_DRIVERrabbitmqMessage broker driver (rabbitmq, nats)
    INFRAHUB_BROKER_ADDRESSlocalhostBroker hostname or IP
    INFRAHUB_BROKER_PORT-Broker port (5672 for RabbitMQ, 4222 for NATS)
    INFRAHUB_BROKER_USERNAMEinfrahubBroker username
    INFRAHUB_BROKER_PASSWORDinfrahubBroker password
    INFRAHUB_BROKER_NAMESPACEinfrahubBroker namespace/prefix
    INFRAHUB_BROKER_VIRTUALHOST/RabbitMQ virtual host
    INFRAHUB_BROKER_RABBITMQ_HTTP_PORT-RabbitMQ management port
    INFRAHUB_BROKER_TLS_ENABLEDfalseEnable TLS
    INFRAHUB_BROKER_TLS_INSECUREfalseSkip TLS verification
    INFRAHUB_BROKER_TLS_CA_FILE-CA certificate path
    INFRAHUB_BROKER_MAXIMUM_MESSAGE_RETRIES10Max retry attempts
    INFRAHUB_BROKER_MAXIMUM_CONCURRENT_MESSAGES2Max concurrent messages per worker

    Cache configuration

    Redis / NATS settings

    VariableDefaultDescription
    INFRAHUB_CACHE_DRIVERredisCache driver (redis, nats)
    INFRAHUB_CACHE_ADDRESSlocalhostCache hostname or IP
    INFRAHUB_CACHE_PORT-Cache port (6379 for Redis, 4222 for NATS)
    INFRAHUB_CACHE_DATABASE0Redis database number (0-15)
    INFRAHUB_CACHE_USERNAME-Cache username
    INFRAHUB_CACHE_PASSWORD-Cache password
    INFRAHUB_CACHE_TLS_ENABLEDfalseEnable TLS
    INFRAHUB_CACHE_TLS_INSECUREfalseSkip TLS verification
    INFRAHUB_CACHE_TLS_CA_FILE-CA certificate path
    INFRAHUB_CACHE_CLEAN_UP_DEADLOCKS_INTERVAL_MINS15Deadlock cleanup interval (minutes)

    Workflow configuration

    Prefect settings

    VariableDefaultDescription
    INFRAHUB_WORKFLOW_DRIVERworkerWorkflow driver (worker, local)
    INFRAHUB_WORKFLOW_ADDRESSlocalhostPrefect server address
    INFRAHUB_WORKFLOW_PORT-Prefect server port
    INFRAHUB_WORKFLOW_TLS_ENABLEDfalseEnable TLS
    INFRAHUB_WORKFLOW_DEFAULT_WORKER_TYPEinfrahubasyncDefault worker type
    INFRAHUB_WORKFLOW_WORKER_POLLING_INTERVAL2Worker polling interval (seconds)
    INFRAHUB_WORKFLOW_FLOW_RUN_COUNT_CACHE_THRESHOLD100000Flow run count cache threshold
    INFRAHUB_WORKFLOW_EXTRA_LOGGERS-Additional loggers to capture
    INFRAHUB_WORKFLOW_EXTRA_LOG_LEVELINFOLog level for extra loggers

    Task manager database

    VariableDefaultDescription
    INFRAHUB_TASKMANAGER_DB_USERpostgresPostgreSQL username
    INFRAHUB_TASKMANAGER_DB_PASSWORDpostgresPostgreSQL password
    INFRAHUB_TASKMANAGER_DB_DATABASEprefectPostgreSQL database name

    Storage configuration

    Storage driver settings

    VariableDefaultDescription
    INFRAHUB_STORAGE_DRIVERlocalStorage driver (local, s3)
    INFRAHUB_STORAGE_LOCAL_PATH/opt/infrahub/storageLocal storage directory

    S3 storage settings

    VariableDefaultDescription
    AWS_ACCESS_KEY_ID-S3 access key
    AWS_SECRET_ACCESS_KEY-S3 secret key
    AWS_S3_BUCKET_NAME-S3 bucket name
    AWS_S3_ENDPOINT_URL-S3 endpoint URL (for MinIO, etc.)
    AWS_S3_USE_SSLtrueUse SSL for S3
    AWS_DEFAULT_ACLprivateDefault ACL for objects
    AWS_QUERYSTRING_AUTHfalseUse query string authentication
    AWS_S3_CUSTOM_DOMAIN-Custom domain for S3 URLs

    Security configuration

    Authentication settings

    VariableDefaultDescription
    INFRAHUB_SECURITY_SECRET_KEY(auto-generated)Secret key for token signing
    INFRAHUB_SECURITY_ACCESS_TOKEN_LIFETIME3600Access token lifetime (seconds)
    INFRAHUB_SECURITY_REFRESH_TOKEN_LIFETIME2592000Refresh token lifetime (seconds)
    INFRAHUB_SECURITY_RESTRICT_UNTRUSTED_JINJA2_FILTERStrueRestrict Jinja2 filters

    SSO configuration

    VariableDefaultDescription
    INFRAHUB_SECURITY_SSO_USER_DEFAULT_GROUP-Default group for SSO users
    INFRAHUB_SECURITY_OAUTH2_PROVIDERS-OAuth2 providers (JSON list)
    INFRAHUB_SECURITY_OIDC_PROVIDERS-OIDC providers (JSON list)

    OAuth2 provider configuration

    VariableDescription
    INFRAHUB_OAUTH2_PROVIDER1_CLIENT_IDOAuth2 client ID
    INFRAHUB_OAUTH2_PROVIDER1_CLIENT_SECRETOAuth2 client secret
    INFRAHUB_OAUTH2_PROVIDER1_AUTHORIZATION_URLAuthorization endpoint
    INFRAHUB_OAUTH2_PROVIDER1_TOKEN_URLToken endpoint
    INFRAHUB_OAUTH2_PROVIDER1_USERINFO_URLUser info endpoint
    INFRAHUB_OAUTH2_PROVIDER1_DISPLAY_LABELDisplay label for UI
    INFRAHUB_OAUTH2_PROVIDER1_ICONIcon name

    OIDC provider configuration

    VariableDescription
    INFRAHUB_OIDC_PROVIDER1_CLIENT_IDOIDC client ID
    INFRAHUB_OIDC_PROVIDER1_CLIENT_SECRETOIDC client secret
    INFRAHUB_OIDC_PROVIDER1_DISCOVERY_URLOIDC discovery URL
    INFRAHUB_OIDC_PROVIDER1_DISPLAY_LABELDisplay label for UI
    INFRAHUB_OIDC_PROVIDER1_ICONIcon name

    Git configuration

    VariableDefaultDescription
    INFRAHUB_GIT_REPOSITORIES_DIRECTORYrepositoriesGit repositories directory
    INFRAHUB_GIT_SYNC_INTERVAL10Sync interval (seconds, deprecated)
    INFRAHUB_GIT_APPEND_GIT_SUFFIXgithub.com, gitlab.comAuto-append .git for these domains
    INFRAHUB_GIT_IMPORT_SYNC_BRANCH_NAMES-Branch name patterns to import
    INFRAHUB_GIT_USER_NAMEInfrahubGit commit author name
    INFRAHUB_GIT_USER_EMAIL[email protected]Git commit author email
    INFRAHUB_GIT_GLOBAL_CONFIG_FILE/opt/infrahub/.gitconfigGit config file path
    INFRAHUB_GIT_USE_EXPLICIT_MERGE_COMMITfalseUse explicit merge commits

    API configuration

    CORS settings

    VariableDefaultDescription
    INFRAHUB_API_CORS_ALLOW_ORIGINS-Allowed CORS origins (JSON list)
    INFRAHUB_API_CORS_ALLOW_METHODS["DELETE", "GET", "OPTIONS", "PATCH", "POST", "PUT"]Allowed HTTP methods
    INFRAHUB_API_CORS_ALLOW_HEADERS["accept", "authorization", "content-type", "user-agent", "x-csrftoken", "x-requested-with"]Allowed headers
    INFRAHUB_API_CORS_ALLOW_CREDENTIALStrueAllow credentials

    HTTP client configuration

    VariableDefaultDescription
    INFRAHUB_HTTP_TIMEOUT10HTTP client timeout (seconds)
    INFRAHUB_HTTP_TLS_INSECUREfalseSkip TLS verification
    INFRAHUB_HTTP_TLS_CA_BUNDLE-CA bundle path or PEM string

    Observability configuration

    Telemetry settings

    VariableDefaultDescription
    INFRAHUB_TELEMETRY_OPTOUTfalseDisable anonymous telemetry
    INFRAHUB_TELEMETRY_ENDPOINThttps://telemetry.opsmill.cloud/infrahubTelemetry endpoint
    INFRAHUB_TELEMETRY_INTERVAL-Telemetry interval

    Tracing settings

    VariableDefaultDescription
    INFRAHUB_TRACE_ENABLEfalseEnable distributed tracing
    INFRAHUB_TRACE_EXPORTER_TYPEconsoleExporter type (console, otlp)
    INFRAHUB_TRACE_EXPORTER_PROTOCOLgrpcExporter protocol (grpc, http/protobuf)
    INFRAHUB_TRACE_EXPORTER_ENDPOINT-OTLP exporter endpoint
    INFRAHUB_TRACE_INSECUREtrueUse insecure connection
    OTEL_RESOURCE_ATTRIBUTES-OpenTelemetry resource attributes

    Logging settings

    VariableDefaultDescription
    INFRAHUB_LOGGING_REMOTE_ENABLEfalseEnable remote logging
    INFRAHUB_LOGGING_REMOTE_FRONTEND_DSN-Frontend logging DSN
    INFRAHUB_LOGGING_REMOTE_API_SERVER_DSN-API server logging DSN
    INFRAHUB_LOGGING_REMOTE_GIT_AGENT_DSN-Git agent logging DSN

    Analytics settings

    VariableDefaultDescription
    INFRAHUB_ANALYTICS_ENABLEtrueEnable analytics
    INFRAHUB_ANALYTICS_ADDRESS-Analytics service address
    INFRAHUB_ANALYTICS_API_KEY-Analytics API key

    Miscellaneous settings

    VariableDefaultDescription
    INFRAHUB_MISC_PRINT_QUERY_DETAILSfalsePrint detailed query information
    INFRAHUB_MISC_START_BACKGROUND_RUNNERtrueStart background task runner
    INFRAHUB_MISC_MAXIMUM_VALIDATOR_EXECUTION_TIME1800Max validator execution time (seconds)
    INFRAHUB_MISC_RESPONSE_DELAY0Artificial API response delay (seconds)
    INFRAHUB_DOCS_INDEX_PATH/opt/infrahub/docs/build/search-index.jsonDocumentation index path
    INFRAHUB_TIMEOUT-General timeout setting

    Policy settings

    VariableDefaultDescription
    INFRAHUB_POLICY_REQUIRED_PROPOSED_CHANGE_APPROVALS0Required approvals for proposed changes (Enterprise)
    INFRAHUB_POLICY_REVOKE_PROPOSED_CHANGE_APPROVALSfalseRevoke approvals on change (Enterprise)

    Experimental features

    VariableDefaultDescription
    INFRAHUB_EXPERIMENTAL_GRAPHQL_ENUMSfalseEnable GraphQL enums

    Build docs developers (and LLMs) love