diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index cea7bbedb..36fc95496 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -17,6 +17,7 @@
+
diff --git a/src/Services/Basket/Basket.API/Program.cs b/src/Services/Basket/Basket.API/Program.cs
index 19bbf2c24..303a4625d 100644
--- a/src/Services/Basket/Basket.API/Program.cs
+++ b/src/Services/Basket/Basket.API/Program.cs
@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
+using System;
using System.IO;
namespace Microsoft.eShopOnContainers.Services.Basket.API
@@ -26,7 +27,21 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
.UseStartup()
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddEnvironmentVariables();
+ var builtConfig = config.Build();
+
+ var configurationBuilder = new ConfigurationBuilder();
+
+ if (Convert.ToBoolean(builtConfig["UseVault"]))
+ {
+ configurationBuilder.AddAzureKeyVault(
+ $"https://{builtConfig["Vault:Name"]}.vault.azure.net/",
+ builtConfig["Vault:ClientId"],
+ builtConfig["Vault:ClientSecret"]);
+ }
+
+ configurationBuilder.AddEnvironmentVariables();
+
+ config.AddConfiguration(configurationBuilder.Build());
})
.ConfigureLogging((hostingContext, builder) =>
{
diff --git a/src/Services/Basket/Basket.API/appsettings.json b/src/Services/Basket/Basket.API/appsettings.json
index 16d56d94d..4bff4d70d 100644
--- a/src/Services/Basket/Basket.API/appsettings.json
+++ b/src/Services/Basket/Basket.API/appsettings.json
@@ -14,5 +14,11 @@
"ApplicationInsights": {
"InstrumentationKey": ""
},
- "EventBusRetryCount": 5
+ "EventBusRetryCount": 5,
+ "UseVault": false,
+ "Vault": {
+ "Name": "eshop",
+ "ClientId": "your-clien-id",
+ "ClientSecret": "your-client-secret"
+ }
}
\ No newline at end of file
diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
index c654c510e..90abe593a 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -39,6 +39,7 @@
+
diff --git a/src/Services/Catalog/Catalog.API/Program.cs b/src/Services/Catalog/Catalog.API/Program.cs
index bef3fa360..8f3910c84 100644
--- a/src/Services/Catalog/Catalog.API/Program.cs
+++ b/src/Services/Catalog/Catalog.API/Program.cs
@@ -6,6 +6,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
+using System;
using System.IO;
namespace Microsoft.eShopOnContainers.Services.Catalog.API
{
@@ -38,7 +39,21 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API
.UseWebRoot("Pics")
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddEnvironmentVariables();
+ var builtConfig = config.Build();
+
+ var configurationBuilder = new ConfigurationBuilder();
+
+ if (Convert.ToBoolean(builtConfig["UseVault"]))
+ {
+ configurationBuilder.AddAzureKeyVault(
+ $"https://{builtConfig["Vault:Name"]}.vault.azure.net/",
+ builtConfig["Vault:ClientId"],
+ builtConfig["Vault:ClientSecret"]);
+ }
+
+ configurationBuilder.AddEnvironmentVariables();
+
+ config.AddConfiguration(configurationBuilder.Build());
})
.ConfigureLogging((hostingContext, builder) =>
{
diff --git a/src/Services/Catalog/Catalog.API/appsettings.json b/src/Services/Catalog/Catalog.API/appsettings.json
index 0f36d229c..0bf489699 100644
--- a/src/Services/Catalog/Catalog.API/appsettings.json
+++ b/src/Services/Catalog/Catalog.API/appsettings.json
@@ -16,5 +16,11 @@
"ApplicationInsights": {
"InstrumentationKey": ""
},
- "EventBusRetryCount": 5
+ "EventBusRetryCount": 5,
+ "UseVault": false,
+ "Vault": {
+ "Name": "eshop",
+ "ClientId": "your-clien-id",
+ "ClientSecret": "your-client-secret"
+ }
}
diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj
index cf4c39568..96a45e5ef 100644
--- a/src/Services/Identity/Identity.API/Identity.API.csproj
+++ b/src/Services/Identity/Identity.API/Identity.API.csproj
@@ -19,6 +19,7 @@
+
diff --git a/src/Services/Identity/Identity.API/Program.cs b/src/Services/Identity/Identity.API/Program.cs
index 7b73838e6..6b8353062 100644
--- a/src/Services/Identity/Identity.API/Program.cs
+++ b/src/Services/Identity/Identity.API/Program.cs
@@ -6,6 +6,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
+using System;
using System.IO;
namespace Microsoft.eShopOnContainers.Services.Identity.API
@@ -45,7 +46,21 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
.UseStartup()
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddEnvironmentVariables();
+ var builtConfig = config.Build();
+
+ var configurationBuilder = new ConfigurationBuilder();
+
+ if (Convert.ToBoolean(builtConfig["UseVault"]))
+ {
+ configurationBuilder.AddAzureKeyVault(
+ $"https://{builtConfig["Vault:Name"]}.vault.azure.net/",
+ builtConfig["Vault:ClientId"],
+ builtConfig["Vault:ClientSecret"]);
+ }
+
+ configurationBuilder.AddEnvironmentVariables();
+
+ config.AddConfiguration(configurationBuilder.Build());
})
.ConfigureLogging((hostingContext, builder) =>
{
diff --git a/src/Services/Identity/Identity.API/appsettings.json b/src/Services/Identity/Identity.API/appsettings.json
index 6b251be41..c5a109218 100644
--- a/src/Services/Identity/Identity.API/appsettings.json
+++ b/src/Services/Identity/Identity.API/appsettings.json
@@ -15,5 +15,11 @@
},
"ApplicationInsights": {
"InstrumentationKey": ""
+ },
+ "UseVault": false,
+ "Vault": {
+ "Name": "eshop",
+ "ClientId": "your-clien-id",
+ "ClientSecret": "your-client-secret"
}
}
diff --git a/src/Services/Location/Locations.API/Locations.API.csproj b/src/Services/Location/Locations.API/Locations.API.csproj
index 20dfbda7e..9ca1205eb 100644
--- a/src/Services/Location/Locations.API/Locations.API.csproj
+++ b/src/Services/Location/Locations.API/Locations.API.csproj
@@ -12,6 +12,7 @@
+
diff --git a/src/Services/Location/Locations.API/Program.cs b/src/Services/Location/Locations.API/Program.cs
index 85f3191cc..aedc1bed5 100644
--- a/src/Services/Location/Locations.API/Program.cs
+++ b/src/Services/Location/Locations.API/Program.cs
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
+using System;
using System.IO;
namespace Microsoft.eShopOnContainers.Services.Locations.API
@@ -21,7 +22,21 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API
.UseStartup()
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddEnvironmentVariables();
+ var builtConfig = config.Build();
+
+ var configurationBuilder = new ConfigurationBuilder();
+
+ if (Convert.ToBoolean(builtConfig["UseVault"]))
+ {
+ configurationBuilder.AddAzureKeyVault(
+ $"https://{builtConfig["Vault:Name"]}.vault.azure.net/",
+ builtConfig["Vault:ClientId"],
+ builtConfig["Vault:ClientSecret"]);
+ }
+
+ configurationBuilder.AddEnvironmentVariables();
+
+ config.AddConfiguration(configurationBuilder.Build());
})
.ConfigureLogging((hostingContext, builder) =>
{
diff --git a/src/Services/Location/Locations.API/appsettings.json b/src/Services/Location/Locations.API/appsettings.json
index a00ef1188..cd4166bb0 100644
--- a/src/Services/Location/Locations.API/appsettings.json
+++ b/src/Services/Location/Locations.API/appsettings.json
@@ -15,5 +15,11 @@
"ApplicationInsights": {
"InstrumentationKey": ""
},
- "EventBusRetryCount": 5
+ "EventBusRetryCount": 5,
+ "UseVault": false,
+ "Vault": {
+ "Name": "eshop",
+ "ClientId": "your-clien-id",
+ "ClientSecret": "your-client-secret"
+ }
}
\ No newline at end of file
diff --git a/src/Services/Marketing/Marketing.API/Marketing.API.csproj b/src/Services/Marketing/Marketing.API/Marketing.API.csproj
index 7db4320c5..c65da0eee 100644
--- a/src/Services/Marketing/Marketing.API/Marketing.API.csproj
+++ b/src/Services/Marketing/Marketing.API/Marketing.API.csproj
@@ -24,6 +24,7 @@
+
diff --git a/src/Services/Marketing/Marketing.API/Program.cs b/src/Services/Marketing/Marketing.API/Program.cs
index 70b2362e1..06c5b72ca 100644
--- a/src/Services/Marketing/Marketing.API/Program.cs
+++ b/src/Services/Marketing/Marketing.API/Program.cs
@@ -6,6 +6,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
+ using System;
using System.IO;
public class Program
@@ -33,7 +34,21 @@
.UseWebRoot("Pics")
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddEnvironmentVariables();
+ var builtConfig = config.Build();
+
+ var configurationBuilder = new ConfigurationBuilder();
+
+ if (Convert.ToBoolean(builtConfig["UseVault"]))
+ {
+ configurationBuilder.AddAzureKeyVault(
+ $"https://{builtConfig["Vault:Name"]}.vault.azure.net/",
+ builtConfig["Vault:ClientId"],
+ builtConfig["Vault:ClientSecret"]);
+ }
+
+ configurationBuilder.AddEnvironmentVariables();
+
+ config.AddConfiguration(configurationBuilder.Build());
})
.ConfigureLogging((hostingContext, builder) =>
{
diff --git a/src/Services/Marketing/Marketing.API/appsettings.json b/src/Services/Marketing/Marketing.API/appsettings.json
index acea415ce..2af660446 100644
--- a/src/Services/Marketing/Marketing.API/appsettings.json
+++ b/src/Services/Marketing/Marketing.API/appsettings.json
@@ -16,5 +16,11 @@
"ApplicationInsights": {
"InstrumentationKey": ""
},
- "EventBusRetryCount": 5
+ "EventBusRetryCount": 5,
+ "UseVault": false,
+ "Vault": {
+ "Name": "eshop",
+ "ClientId": "your-clien-id",
+ "ClientSecret": "your-client-secret"
+ }
}
\ No newline at end of file
diff --git a/src/Services/Ordering/Ordering.API/Program.cs b/src/Services/Ordering/Ordering.API/Program.cs
index 50fa8b98b..92ef6ba86 100644
--- a/src/Services/Ordering/Ordering.API/Program.cs
+++ b/src/Services/Ordering/Ordering.API/Program.cs
@@ -38,12 +38,10 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddJsonFile("settings.json");
-
var builtConfig = config.Build();
var configurationBuilder = new ConfigurationBuilder();
-
+
if (Convert.ToBoolean(builtConfig["UseVault"]))
{
configurationBuilder.AddAzureKeyVault(
diff --git a/src/Services/Ordering/Ordering.API/settings.json b/src/Services/Ordering/Ordering.API/appsettings.json
similarity index 100%
rename from src/Services/Ordering/Ordering.API/settings.json
rename to src/Services/Ordering/Ordering.API/appsettings.json