Skip to content

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:

  1. The caller names the database type, instance, user and (for SQL Server and PostgreSQL) server
  2. ConnectionManager builds the cache key and the secure-setting key (BR-DBC-002)
  3. It reads the template for the database type from the Environment API group dbconnectionapi on every request, before the cache check, and substitutes the server and instance placeholders (BR-DBC-007)
  4. 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
  5. On a miss it reads and decrypts the secure credential whose key follows the pattern above (BR-DBC-009)
  6. It substitutes the user and password placeholders (BR-DBC-008)
  7. For Oracle and SQL Server it probes the result through IUnitOfWorkFactory (BR-DBC-018); PostgreSQL is not probed
  8. 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**.

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