-
-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add azure app configuration module #1200
base: develop
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for testcontainers-dotnet ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
...Testcontainers.AzureAppConfiguration.Tests/Testcontainers.AzureAppConfiguration.Tests.csproj
Outdated
Show resolved
Hide resolved
@tnc1997's container not support TLS and his module uses the insecure port of that container. As had been previously discussed,
The Azure SDK (and specifically The official CosmosDB emulator offers an endpoint for fetching the PEM certificate to make this requirement a little easier to deal with, however there are more issues in play such as the app config domain and scope/identity requirements which had also been discussed extensively. I worked very hard to [address these issues in my Testcontainers module](https://github.com/goldsam/azure-app-configuration-emulator/blob/9adc28f418b7ae9030c90f859f77fa137aa46311/src/AzureAppConfigurationEmulator.Test containers/AzureAppConfigurationEmulatorBuilder.cs#L71-L91), and was quite disappointed that you discarded that work. @tnc1997 I had spent a LOT of time contributing to your project throughout our discussions addressing these matters, so this feels like a bit of a slap in the face. |
Hi @goldsam, I appreciate your concerns. Firstly, the Azure SDK does not enforce TLS everywhere, for example the storage clients to name a few:
Secondly, a test has been added that shows that the Connecting to the emulator using HMAC authentication is the recommended approach, hence the .crt & .key var container = new AzureAppConfigurationBuilder()
.WithEnvironment("ASPNETCORE_HTTP_PORTS", "8080")
.WithEnvironment("ASPNETCORE_HTTPS_PORTS", "8081")
.WithEnvironment("Kestrel__Certificates__Default__Path", "/usr/local/share/azureappconfigurationemulator/emulator.crt")
.WithEnvironment("Kestrel__Certificates__Default__KeyPath", "/usr/local/share/azureappconfigurationemulator/emulator.key")
.WithResourceMapping("emulator.crt", "/usr/local/share/azureappconfigurationemulator/emulator.crt")
.WithResourceMapping("emulator.key", "/usr/local/share/azureappconfigurationemulator/emulator.key")
.Build(); .pfx var container = new AzureAppConfigurationBuilder()
.WithEnvironment("ASPNETCORE_HTTP_PORTS", "8080")
.WithEnvironment("ASPNETCORE_HTTPS_PORTS", "8081")
.WithEnvironment("Kestrel__Certificates__Default__Password", "password")
.WithEnvironment("Kestrel__Certificates__Default__Path", "/root/.aspnet/https/aspnetapp.pfx")
.WithResourceMapping("aspnetapp.pfx", "/root/.aspnet/https/aspnetapp.pfx")
.Build(); |
What does this PR do?
This change adds an Azure App Configuration module using Emulator for Azure App Configuration.
Why is it important?
This module allows developers to more easily integration test applications that are dependent on Azure App Configuration.
Related issues