Operational runbook¶
Deployment¶
| Item | Finding |
|---|---|
| Hosting | IIS in-process, .NET 10 |
| Build and deploy | Azure DevOps pipelines; v2 uses AppType coreapi, v3 uses appType: api with the standard deploy template |
| Application pool | v2: No Managed Code, Integrated pipeline; v3: on-demand start mode |
| Pipeline SDK | 8.x and 9.x configured against a net10.0 target; see Tech debt |
Pipeline details are on Hosting pipeline.
Environments¶
Base addresses and Environment API tracks are not determined from source**. Per-environment values are listed as unknown on Configuration.
Health verification¶
No health-check endpoint is mapped. To verify a deployment:
- Open the Swagger UI at
swaggerand confirm the document atswagger/v1/swagger.jsonloads - Call one retrieval endpoint with a known instance and user and confirm status 200 (Endpoints)
Swagger is active in every environment (Tech debt).
Status codes¶
| Status | Meaning | Rule |
|---|---|---|
| 200 | Success; also returned by Admin operations with an Error entry |
BR-DBC-024 |
| 400 | Oracle TNS alias not resolved | BR-DBC-015 |
| 404 | Secure setting not found | BR-DBC-009 |
| 500 | Probe failure after retries and other manager failures | BR-DBC-016 |
| 401 / 403 | Authorization failure; status not visible in source** | BR-DBC-025 |
| Unhandled exceptions | Status not visible in source** | BR-DBC-010 |
Logs¶
| Item | Finding |
|---|---|
| Logger | ISaifLogService (audit, validation and per-attempt error entries) |
| Sink | Not determined from source** |
| Admin operations | No log entry is written |
| Telemetry | OpenTelemetry, owner Architecture |
Environment configuration¶
Key names and the resolution chain are on Configuration. Provision the three templates and the secure credential keys in the Environment API group dbconnectionapi before first use.
Error scenarios¶
| Symptom | Likely cause | Action |
|---|---|---|
| 404 on a retrieval call | Secure credential key missing for that instance and user | Create the key following the pattern on Configuration |
| 400 on an Oracle call | TNS alias not resolved | Verify the alias on the host |
| 500 on a retrieval call | Probe failed on all four attempts: invalid credentials, database unavailable or network interruption | Check the database and the stored credential |
| Stale connection string after credential rotation | Cache never expires | Restart the application (BR-DBC-004) |
Admin call returns 200 with an Error entry |
Credential value has no pipe separator | Correct the secure value (BR-DBC-024) |
| Pipeline fails on the CI definition | Project file reference does not exist | See Tech debt |
Monitoring and alerting¶
No alerts, dashboards or health probes are defined in the repository**. Error entries from failed probe attempts are the main signal*.
Related documentation¶
- API index
- Overview
- Architecture
- Hosting pipeline
- Endpoints
- Authentication and authorization
- Dependencies
- Configuration
- Operations and processes
- Business rules
- Data model
- Tech debt
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
- DBConnectionAPI/DBConnectionAPI/Startup.cs
- DBConnectionAPI/DBConnectionAPI/Services/ConnectionManager.cs
- DBConnectionAPI/DBConnectionAPI/Controllers/AdminController.cs
- DBConnectionAPI/DBConnectionAPI/web.config
- .azdo/DBConnectionAPI/azure-pipelines.yml
- .azdo/DBConnectionAPI/variables/vars.yml
- azure-pipelines.yml