Skip to navigation

App Configuration Naming Strategy

Background

A single Azure App Configuration instance is used by multiple Fluxx and Documents AI (Docs AI) services. Several configuration keys were introduced when services were isolated. As additional services were added, the same key names began appearing across multiple applications.

User Story: 750200 - SPIKE: App Config Analysis


Applications

Docs AI

  • web-api-documents-ai
  • db-documents-ai
  • web-documents-ai

Fluxx

  • fluxx-registration
  • fluxx-file-intake
  • fluxx-postal
  • fluxx-sql-server
  • fluxx-extractor
  • fluxx-statuscheck

Key Name Conflicts

Observed conflict patterns:

  • Generic key names reused across multiple services
  • Identical key names spanning multiple products
  • Inconsistent prefixes for related settings

Examples:

  • APPLICATION_PORT
  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • DEBUG_PORT

Naming Strategy

Required Pattern

<PRODUCT>_<SERVICE>_<SETTING>

Rules

  • Keys include a product prefix
  • Service context is included for service-specific settings
  • Generic, unqualified key names are avoided

Examples

  • FLUXX_POSTAL_APPLICATION_PORT
  • FLUXX_FILE_INTAKE_DEBUG_PORT
  • DOCAI_WEBAPI_SQL_PORT
  • DOCAI_DB_SQL_PASSWORD

Configuration Key Inventory

Docs AI - web-api-documents-ai

  • DEBUG_PORT
  • LOG_LEVEL
  • NODE_ENV
  • DOCAI_AZURE_AD_CLIENT_ID
  • DOCAI_AZURE_AD_TENANT
  • DOCAI_AZURE_APP_CONFIG_ENDPOINT
  • DOCAI_AZURE_FR_ENDPOINT
  • DOCAI_AZURE_FR_KEY
  • DOCAI_AZURE_OPENAI_API_VERSION
  • DOCAI_AZURE_OPENAI_DEPLOYMENT_ID
  • DOCAI_AZURE_OPENAI_ENDPOINT
  • DOCAI_AZURE_OPENAI_API_KEY
  • DOCAI_AZURE_STORAGE_CONNECTION_STRING
  • DOCAI_AZURE_STORAGE_CONNECTION_STRING_DOCAI
  • DOCAI_FLUXX_UPLOAD_ENDPOINT_URL
  • DOCAI_SQL_DATABASE
  • DOCAI_SQL_HOST
  • DOCAI_SQL_IS_MANAGED_IDENTITY_USED
  • DOCAI_SQL_PORT
  • DOCAI_SQL_USERNAME
  • DOCAI_SQL_PASSWORD
  • DOCAI_WEBAPI_PORT
  • NPM_TOKEN

Docs AI - db-documents-ai

  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • SQL_USERNAME
  • SQL_PASSWORD
  • SQL_WAIT_INTERVAL

Docs AI - web-documents-ai

  • REACT_APP_AZURE_AD_CLIENT_ID
  • REACT_APP_AZURE_AD_AUTHORITY
  • REACT_APP_API_URL
  • AZURITE_PORT

Fluxx - fluxx-registration

  • AZURE_APP_CONFIG_ENDPOINT
  • AZURE_STORAGE_CONNECTION_STRING
  • AZURE_SERVICE_BUS_CONNECTION_STRING_OR_NAMESPACE
  • ACCEPT_EULA
  • SERVICE_BUS_EMULATOR_CONFIG
  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • SQL_USERNAME
  • SQL_PASSWORD
  • SQL_WAIT_INTERVAL
  • SQL_IS_MANAGED_IDENTITY_USED
  • SQL_IS_STRICT_TLS_REQUIRED
  • TOPIC_UPDATED_REGISTRATION
  • APPLICATION_PORT
  • DEBUG_PORT

Fluxx - fluxx-file-intake

  • AZURE_STORAGE_CONNECTION_STRING
  • AZURE_SERVICE_BUS_CONNECTION_STRING
  • ACCEPT_EULA
  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • SQL_USERNAME
  • SQL_PASSWORD
  • SQL_WAIT_INTERVAL
  • SQL_IS_MANAGED_IDENTITY_USED
  • SQL_IS_STRICT_TLS_REQUIRED
  • IS_AZURITE
  • REGISTRATION_BASE_URL
  • TOPIC_SUBMITTED_FILE
  • TOPIC_VALIDATED_FILE
  • TOPIC_ACCEPTED_FILE
  • TOPIC_PROBLEM
  • SUBSCRIPTION_SUBMITTED_FILE
  • SUBSCRIPTION_VALIDATED_FILE
  • APPLICATION_PORT
  • DEBUG_PORT

Fluxx - fluxx-postal

  • APPLICATION_PORT
  • AZURE_APP_CONFIG_ENDPOINT
  • AZURE_SERVICE_BUS_CONNECTION_STRING_OR_NAMESPACE
  • SUBSCRIPTION_TO_RETRY
  • SUBSCRIPTION_TO_SEND
  • TOPIC_TO_RETRY
  • TOPIC_TO_SEND
  • DEBUG_PORT

Fluxx - fluxx-sql-server

  • MSSQL_SA_PASSWORD

Fluxx - fluxx-extractor

  • AZURE_APP_CONFIG_ENDPOINT
  • AZURE_STORAGE_CONNECTION_STRING
  • AZURE_SERVICE_BUS_CONNECTION_STRING
  • AZURE_KEY_VAULT_URL
  • AZURE_CLIENT_ID
  • ACCEPT_EULA
  • SERVICE_BUS_EMULATOR_CONFIG
  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • SQL_USERNAME
  • SQL_PASSWORD
  • SQL_WAIT_INTERVAL
  • SQL_IS_MANAGED_IDENTITY_USED
  • SQL_IS_STRICT_TLS_REQUIRED
  • IS_AZURITE
  • TOPIC_ACCEPTED_FILE
  • TOPIC_JOB_STATUS
  • SUBSCRIPTION_EXTRACTOR_ACCEPTED_FILE
  • TOPIC_EXTRACTED_RESULT
  • APPLICATION_PORT
  • DEBUG_PORT
  • REGISTRATION_BASE_URL
  • MAX_POLLING_ATTEMPTS
  • POLL_INTERVAL_MS
  • POLL_CYCLE_INTERVAL_MS
  • BATCH_SIZE
  • LOCK_DURATION_MS
  • MAX_POLL_DURATION_MS

Fluxx - fluxx-statuscheck

  • AZURE_STORAGE_CONNECTION_STRING
  • AZURE_SERVICE_BUS_CONNECTION_STRING_OR_NAMESPACE
  • ACCEPT_EULA
  • SERVICE_BUS_EMULATOR_CONFIG
  • SQL_SERVER
  • SQL_PORT
  • SQL_DATABASE
  • SQL_USERNAME
  • SQL_PASSWORD
  • SQL_WAIT_INTERVAL
  • SQL_IS_MANAGED_IDENTITY_USED
  • SQL_IS_STRICT_TLS_REQUIRED
  • TOPIC_VALIDATED_FILE
  • SUBSCRIPTION_STATUS_VALIDATED_FILE
  • TOPIC_ACCEPTED_FILE
  • SUBSCRIPTION_STATUS_ACCEPTED_FILE
  • TOPIC_PROBLEM
  • SUBSCRIPTION_STATUS_PROBLEM_FILE
  • APPLICATION_PORT
  • DEBUG_PORT