> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://cla-demo.postmansolutions.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://cla-demo.postmansolutions.com/_mcp/server.

# 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](https://dev.azure.com/CLADevOps/Development/_workitems/edit/750200)

---

## 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