Feature/config updates#777
Conversation
…ings and remove deprecated geo-location API configurations
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
🏗️ Terraform Plan
✅ Validate — Passed ✅ Plan
📋 Resource Details
|
|
There was a problem hiding this comment.
Pull request overview
This pull request migrates the application from direct environment variable configuration to Azure App Configuration as a centralized configuration provider. The changes introduce a bootstrap pattern where the app connects to Azure App Configuration (when AzureAppConfiguration:Endpoint is set) to load environment-specific settings, including Key Vault references. Additionally, the FTP certificate thumbprint configuration key is standardized and made more robust with case-insensitive and null-safe comparison.
Changes:
- Integrated Azure App Configuration with environment-specific label selectors for centralized configuration management
- Renamed and improved FTP certificate thumbprint configuration from
xtremeidiots_ftp_certificate_thumbprinttoXtremeIdiots:FtpCertificateThumbprintwith case-insensitive comparison - Removed hardcoded API settings and GeoLocation API variables from Terraform, moving them to Azure App Configuration
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/copilot-instructions.md | Updated architecture and configuration documentation to reflect Azure App Configuration integration |
| terraform/variables.tf | Removed geo_location_api variable as settings moved to Azure App Configuration |
| terraform/tfvars/dev.tfvars | Removed GeoLocation API configuration block |
| terraform/tfvars/prd.tfvars | Removed GeoLocation API configuration block |
| terraform/function_app.tf | Removed direct app setting assignments for API URLs and audiences, now loaded from Azure App Configuration |
| src/XtremeIdiots.Portal.Repository.App/XtremeIdiots.Portal.Repository.App.csproj | Added Microsoft.Extensions.Configuration.AzureAppConfiguration package v8.1.2 |
| src/XtremeIdiots.Portal.Repository.App/Program.cs | Implemented Azure App Configuration bootstrap with environment-specific label selectors and Key Vault integration |
| src/XtremeIdiots.Portal.Repository.App/Functions/UpdateLiveLogFile.cs | Updated FTP certificate thumbprint to new key name with null-safe and case-insensitive comparison |
| src/XtremeIdiots.Portal.Repository.App/Functions/UpdateBanFileMonitorConfig.cs | Updated FTP certificate thumbprint to new key name with null-safe and case-insensitive comparison (2 locations) |



This pull request introduces Azure App Configuration as a centralized configuration provider for the .NET 9 Azure Functions app, replacing direct environment variable usage for most app settings. It also updates the FTP certificate thumbprint configuration to use a new key name and ensures case-insensitive comparison. Several Terraform variables and settings are cleaned up to reflect the new configuration approach.
Azure App Configuration Integration:
AzureAppConfiguration:Endpointis set, loading configuration keys with environment-specific labels and supporting Key Vault references. This is implemented inProgram.csand documented in.github/copilot-instructions.md. [1] [2]Microsoft.Extensions.Configuration.AzureAppConfigurationNuGet package to enable this integration.Configuration Key Updates:
xtremeidiots_ftp_certificate_thumbprinttoXtremeIdiots:FtpCertificateThumbprintthroughout the codebase, and comparisons are now case-insensitive and null-safe. [1] [2] [3] [4]Terraform and Infrastructure Cleanup:
terraform/function_app.tf, reflecting the move to centralized configuration.geo_location_apivariable and related data fromterraform/tfvars/dev.tfvars,terraform/tfvars/prd.tfvars, andterraform/variables.tf. [1] [2] [3]