INFRA-0003: Training Slot Uses Key Vault Refs + App Gateway (Not Direct Private IP)
Status
Accepted
Date
2026-03-25
Context
When fixing SSRS connectivity for nonprod App Service slots (see INFRA-0001), we discovered the training slot (wa-eshars-nonprod/trn) uses a different configuration pattern from the other slots (dev, qa, regression, uat).
Other slots: App settings directly set MvcReportViewer.ReportServerUrl to the SSRS private IP (e.g., http://10.1.0.4/QAReportServer).
Training slot: App settings use Azure Key Vault references pointing to kv-eshars-training, which returns https://trainingreports.myeshars.com/ — the App Gateway public hostname. Traffic flows: App Service → App Gateway (public DNS) → private IP 10.1.0.6 (SSRS training instance).
Decision
Leave the training slot pattern as-is. Do not change the training slot to use direct private IP routing.
Rationale
-
It works. The training slot was functioning correctly before and after the SSRS networking changes. The App Gateway backend for
trainingreports.myeshars.comalready routes to private IP10.1.0.6. -
Training is intentionally isolated. The training environment has its own Key Vault (
kv-eshars-training) and its own SSRS instance, suggesting it was deliberately set up as a more independent environment. Changing the pattern risks breaking isolation. -
Unknown history. The training slot pattern appears to predate the nonprod VNet integration work. Whoever set it up may have had reasons not documented here. The risk of changing a working system for no operational gain is not justified.
Consequences
Positive
- No disruption to training environment during nonprod networking changes
- Training maintains its independent configuration chain (kv-eshars-training)
Negative
- Two different patterns exist for SSRS connectivity across slots in the same App Service. New engineers must understand that training behaves differently.
- Training traffic routes via App Gateway (public DNS round-trip) rather than direct private routing. Minor latency difference.
Neutral
- If the training App Gateway is ever reconfigured or
trainingreports.myeshars.comDNS changes, training reports will break independently of the other slots.
Pattern Summary
| Slot | Config Source | SSRS URL Pattern | Routes Via |
|---|---|---|---|
| dev | App Service settings | http://10.1.0.4/QAReportServer | VNet (private) |
| qa | App Service settings | http://10.1.0.4/QAReportServer | VNet (private) |
| regression | App Service settings | http://10.1.0.4/REGReportServer | VNet (private) |
| uat | App Service settings | http://10.1.0.4/UATReportServer | VNet (private) |
| trn | Key Vault ref → kv-eshars-training | https://trainingreports.myeshars.com/ | App Gateway (public DNS → private) |