Configuration¶
This page lists configuration key names only. No credential, host, URL or secret value is reproduced here.
appsettings files¶
| Key | Defined in | Read by local code | Notes |
|---|---|---|---|
Logging:LogLevel:Default |
appsettings.json, appsettings.Development.json |
No (framework logging) | Default log level |
Logging:LogLevel:System |
appsettings.Development.json |
No (framework logging) | Development override |
Logging:LogLevel:Microsoft |
appsettings.Development.json |
No (framework logging) | Development override |
AllowedHosts |
appsettings.json |
No (framework host filtering) | Host filter |
AppSettings:ApplicationHost |
appsettings.json |
No | Takes effect only on developer machines† |
AppSettings:ApplicationName |
appsettings.json |
No | Not read by the package† |
No ConnectionStrings section exists in either file.
Environment API settings¶
Environment API group: dbconnectionapi (EnvironmentKeys.EnvAPISection).
| Setting | Kind | Key or pattern | Read by |
|---|---|---|---|
| SQL Server template | Template | sqlconnectiontemplate |
ConnectionManager through GetSettingValue |
| PostgreSQL template | Template | postgresqlconnectiontemplate |
ConnectionManager through GetSettingValue |
| Oracle template | Template | oraconnectiontemplate |
ConnectionManager through GetSettingValue |
| Oracle credential | Secure | ora_<instance>_<username> |
HasSetting then GetSecureSetting<string> |
| SQL Server credential | Secure | sql_<server>_<instance>_<username> |
HasSetting then GetSecureSetting<string> |
| PostgreSQL credential | Secure | postgres_<instance>_<username> |
HasSetting then GetSecureSetting<string> |
Secure keys are lower-cased (BR-DBC-005) and decrypted with the web-application system hash. The Admin operations read the secure key without the HasSetting guard (BR-DBC-023). IEnvironmentClient.TrackName is read only for error-message text.
Options binding¶
None. No IOptions<T> class is bound. An inline UnitOfWorkOptions is built for each connectivity probe (Oracle unit name temp, SQL Server unit name temp2).
Runtime-resolved database connections¶
The API declares no connection string. Connections are resolved per request:
- The caller names the database type, instance, user and (for SQL Server and PostgreSQL) server
ConnectionManagerbuilds the cache key and the secure-setting key (BR-DBC-002)- It reads the template for the database type from the Environment API group
dbconnectionapion every request, before the cache check, and substitutes the server and instance placeholders (BR-DBC-007) - It checks the in-memory cache (BR-DBC-001). A hit bypasses secure-setting retrieval, credential splitting and composition, probing, and cache insertion (steps 5 to 8), then returns the cached value; the template read in step 3 already happened before this check
- On a miss it reads and decrypts the secure credential whose key follows the pattern above (BR-DBC-009)
- It substitutes the user and password placeholders (BR-DBC-008)
- For Oracle and SQL Server it probes the result through
IUnitOfWorkFactory(BR-DBC-018); PostgreSQL is not probed - It caches the string for the process lifetime and returns it (BR-DBC-004)
The API consumes no connection of its own. Each distinct probed string leaves one session factory in memory*. See Data model for the probes.
Hosting configuration¶
| Item | Finding |
|---|---|
| Hosting model | IIS in-process (set in the project file) |
web.config environment variables |
ENVIRONMENT, COMPLUS_ForceENC, ASPNETCORE_ENVIRONMENT (set to Development), ASPNETCORE_HTTPS_PORT, ASPNETCORE_DETAILEDERRORS |
web.config handler |
processPath names the Visual Studio launcher; the hosting model is not set on the handler |
launchSettings.json |
Not present |
| Variables read by the base package† | OTEL_EXPORTER_OTLP_ENDPOINT, EnvironmentApiUrl, APP_POOL_ID, AppSettings:EnvApiDeveloperSettingsOverride |
| Developer request tooling | DBConnectionAPI.http with env/.env and per-environment env/.env* files defining DBConnectionAPI_HostAddress and DBConnectionAPI_Instance |
Whether publish transforms web.config is not determined from source**. See Hosting pipeline.
Serialization configuration¶
The JSON formatter is configured inside the opaque base startup**. The Connections actions return a string, which is probably plain text*, and the Admin actions return a JSON dictionary.
Logging configuration¶
ISaifLogService records an informational audit entry, an informational validation entry and an error entry per failed probe attempt. The log sink is not determined from source**. OpenTelemetry is enabled through ConfigureOpenTelemetry with owner Architecture.
Environment variance¶
| Setting | Dev | Test | Prod |
|---|---|---|---|
| Environment API template and secure values | Unknown** | Unknown** | Unknown** |
No environmentsettings/settings.yml exists in the repository, so per-environment values are not determined from source**.
Related documentation¶
- API index
- Overview
- Architecture
- Hosting pipeline
- Endpoints
- Authentication and authorization
- Dependencies
- Operations and processes
- Business rules
- Data model
- Operational runbook
- Tech debt
Note: Statements marked with
†are derived from dependency library documentation via the Legends CLI. Statements marked with*were inferred from code structure or contextual evidence. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
- DBConnectionAPI/DBConnectionAPI/EnvironmentKeys.cs
- DBConnectionAPI/DBConnectionAPI/Services/ConnectionManager.cs
- DBConnectionAPI/DBConnectionAPI/Startup.cs
- DBConnectionAPI/DBConnectionAPI/appsettings.json
- DBConnectionAPI/DBConnectionAPI/appsettings.Development.json
- DBConnectionAPI/DBConnectionAPI/web.config
- DBConnectionAPI/DBConnectionAPI/DBConnectionAPI.http