From 18e39fd980b241c82741dbba3d5b9b0e4c0e14d3 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Wed, 7 Apr 2021 18:05:46 +0530
Subject: [PATCH 01/76] Enabled Instrumentations with OpenTelemetry
---
.../Extensions/OpenTelemetryExtensions.cs} | 31 +-
.../Basket/Basket.API/OpenTelemetry.cs | 66 ----
src/Services/Basket/Basket.API/Startup.cs | 4 +-
.../Catalog/Catalog.API/Catalog.API.csproj | 167 +++++----
.../Extensions/OpenTelemetryExtensions.cs | 68 ++++
src/Services/Catalog/Catalog.API/Startup.cs | 4 +-
.../Extensions/OpenTelemetryExtensions.cs | 70 ++++
.../Identity/Identity.API/Identity.API.csproj | 130 +++----
src/Services/Identity/Identity.API/Startup.cs | 3 +
.../Extensions/OpenTelemetryExtensions.cs | 70 ++++
.../Ordering/Ordering.API/Ordering.API.csproj | 148 ++++----
src/Services/Ordering/Ordering.API/Startup.cs | 7 +-
.../Extensions/OpenTelemetryExtensions.cs | 69 ++++
.../Payment/Payment.API/Payment.API.csproj | 75 ++--
src/Services/Payment/Payment.API/Startup.cs | 2 +
.../Extensions/OpenTelemetryExtensions.cs | 65 ++++
src/Web/WebMVC/Startup.cs | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 69 ++++
src/Web/WebSPA/Startup.cs | 2 +
src/Web/WebSPA/WebSPA.csproj | 337 +++++++++---------
src/docker-compose.opentelemetry.console.yml | 21 ++
src/docker-compose.opentelemetry.jaeger.yml | 27 +-
src/docker-compose.opentelemetry.otlp.yml | 8 +-
src/docker-compose.opentelemetry.zipkin.yml | 25 ++
24 files changed, 985 insertions(+), 484 deletions(-)
rename src/{Web/WebMVC/OpenTelemetry.cs => Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs} (75%)
delete mode 100644 src/Services/Basket/Basket.API/OpenTelemetry.cs
create mode 100644 src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/Web/WebMVC/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/Web/WebSPA/Extensions/OpenTelemetryExtensions.cs
diff --git a/src/Web/WebMVC/OpenTelemetry.cs b/src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
similarity index 75%
rename from src/Web/WebMVC/OpenTelemetry.cs
rename to src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
index be73c62c1a..de44df2077 100644
--- a/src/Web/WebMVC/OpenTelemetry.cs
+++ b/src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
@@ -1,28 +1,33 @@
using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
+using StackExchange.Redis;
using System;
-static class OpenTelemetryExtensions
+namespace Basket.API.Extensions
{
- public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ static class OpenTelemetryExtensions
{
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
+ public static void AddOpenTelemetry(ConnectionMultiplexer connectionMultiplexer)
{
- return services;
- }
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return;
+ }
+
+ var tracerProviderBuilder = Sdk.CreateTracerProviderBuilder();
- return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
- {
// Configure resource
tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("WebMVC"));
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Basket.API"));
// Configure instrumentation
tracerProviderBuilder
.AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation();
+ .AddHttpClientInstrumentation()
+ .AddRedisInstrumentation(connectionMultiplexer);
// Configure exporter
switch (exportType)
@@ -57,6 +62,8 @@ public static IServiceCollection AddOpenTelemetry(this IServiceCollection servic
tracerProviderBuilder.AddConsoleExporter();
break;
}
- });
+
+ tracerProviderBuilder.Build();
+ }
}
-}
+}
\ No newline at end of file
diff --git a/src/Services/Basket/Basket.API/OpenTelemetry.cs b/src/Services/Basket/Basket.API/OpenTelemetry.cs
deleted file mode 100644
index fff7a56b5b..0000000000
--- a/src/Services/Basket/Basket.API/OpenTelemetry.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using OpenTelemetry;
-using OpenTelemetry.Resources;
-using OpenTelemetry.Trace;
-using StackExchange.Redis;
-using System;
-
-static class OpenTelemetryExtensions
-{
- public static void AddOpenTelemetry(ConnectionMultiplexer connectionMultiplexer)
- {
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
- {
- return;
- }
-
- var tracerProviderBuilder = Sdk.CreateTracerProviderBuilder();
-
- // Configure resource
- tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Basket.API"));
-
- // Configure instrumentation
- tracerProviderBuilder
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddRedisInstrumentation(connectionMultiplexer);
-
- // Configure exporter
- switch (exportType)
- {
- case "jaeger":
- tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
- });
- break;
- case "otlp":
- tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
-
- var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
- options.Headers = headers;
- });
- break;
- case "zipkin":
- tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
- });
- break;
- default:
- tracerProviderBuilder.AddConsoleExporter();
- break;
- }
-
- tracerProviderBuilder.Build();
- }
-}
diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs
index ef6c37e83b..4faf3c80b1 100644
--- a/src/Services/Basket/Basket.API/Startup.cs
+++ b/src/Services/Basket/Basket.API/Startup.cs
@@ -1,5 +1,6 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
+using Basket.API.Extensions;
using Basket.API.Infrastructure.Filters;
using Basket.API.IntegrationEvents.EventHandling;
using Basket.API.IntegrationEvents.Events;
@@ -51,7 +52,7 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
services.AddGrpc(options =>
{
options.EnableDetailedErrors = true;
- });
+ });
RegisterAppInsights(services);
@@ -188,6 +189,7 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory, ConnectionMultiplexer connectionMultiplexer)
{
OpenTelemetryExtensions.AddOpenTelemetry(connectionMultiplexer);
+
//loggerFactory.AddAzureWebAppDiagnostics();
//loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Trace);
diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
index 5ba3b6132a..c439342d37 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -1,87 +1,100 @@
-
- net5.0
- portable
- true
- Catalog.API
- Catalog.API
- aspnet-Catalog.API-20161122013618
- ..\..\..\..\docker-compose.dcproj
- false
- true
- preview
-
+
+ net5.0
+ portable
+ true
+ Catalog.API
+ Catalog.API
+ aspnet-Catalog.API-20161122013618
+ ..\..\..\..\docker-compose.dcproj
+ false
+ true
+ preview
+
-
-
- Always
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
-
-
-
- PreserveNewest
-
-
+
+
+ Always
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+
+
+ PreserveNewest
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
diff --git a/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..1e55c043c1
--- /dev/null
+++ b/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,68 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+
+namespace Catalog.API.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Catalog.API"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddGrpcClientInstrumentation()
+ .AddSqlClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
diff --git a/src/Services/Catalog/Catalog.API/Startup.cs b/src/Services/Catalog/Catalog.API/Startup.cs
index 557183e385..ed807decb0 100644
--- a/src/Services/Catalog/Catalog.API/Startup.cs
+++ b/src/Services/Catalog/Catalog.API/Startup.cs
@@ -31,6 +31,7 @@
using System.Data.Common;
using System.IO;
using System.Reflection;
+using Catalog.API.Extensions;
namespace Microsoft.eShopOnContainers.Services.Catalog.API
{
@@ -53,7 +54,8 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
.AddIntegrationServices(Configuration)
.AddEventBus(Configuration)
.AddSwagger(Configuration)
- .AddCustomHealthCheck(Configuration);
+ .AddCustomHealthCheck(Configuration)
+ .AddOpenTelemetry();
var container = new ContainerBuilder();
container.Populate(services);
diff --git a/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..391fb29541
--- /dev/null
+++ b/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,70 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Identity.API.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Identity.API"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddSqlClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj
index 7184410d28..89e0b18194 100644
--- a/src/Services/Identity/Identity.API/Identity.API.csproj
+++ b/src/Services/Identity/Identity.API/Identity.API.csproj
@@ -1,69 +1,77 @@
-
- net5.0
- aspnet-eShopOnContainers.Identity-90487118-103c-4ff0-b9da-e5e26f7ab0c5
- ..\..\..\..\docker-compose.dcproj
- false
- true
- preview
-
+
+ net5.0
+ aspnet-eShopOnContainers.Identity-90487118-103c-4ff0-b9da-e5e26f7ab0c5
+ ..\..\..\..\docker-compose.dcproj
+ false
+ true
+ preview
+
-
-
- PreserveNewest
-
-
+
+
+ PreserveNewest
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- PreserveNewest
-
-
-
-
-
-
+
+
+ PreserveNewest
+
+
diff --git a/src/Services/Identity/Identity.API/Startup.cs b/src/Services/Identity/Identity.API/Startup.cs
index a161729dbf..c5ba05d61d 100644
--- a/src/Services/Identity/Identity.API/Startup.cs
+++ b/src/Services/Identity/Identity.API/Startup.cs
@@ -1,6 +1,7 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
using HealthChecks.UI.Client;
+using Identity.API.Extensions;
using IdentityServer4.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
@@ -38,6 +39,8 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
{
RegisterAppInsights(services);
+ services.AddOpenTelemetry();
+
// Add framework services.
services.AddDbContext(options =>
options.UseSqlServer(Configuration["ConnectionString"],
diff --git a/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..e67beecf92
--- /dev/null
+++ b/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,70 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Ordering.API.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Order.API"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddSqlClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
index 46b07ca294..39c26f96ec 100644
--- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj
+++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
@@ -1,78 +1,90 @@
-
- net5.0
- aspnet-Ordering.API-20161122013547
- $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
- ..\..\..\..\docker-compose.dcproj
- false
- true
- preview
-
+
+ net5.0
+ aspnet-Ordering.API-20161122013547
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ ..\..\..\..\docker-compose.dcproj
+ false
+ true
+ preview
+
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- PreserveNewest
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
diff --git a/src/Services/Ordering/Ordering.API/Startup.cs b/src/Services/Ordering/Ordering.API/Startup.cs
index d558762031..af9ef791ee 100644
--- a/src/Services/Ordering/Ordering.API/Startup.cs
+++ b/src/Services/Ordering/Ordering.API/Startup.cs
@@ -36,7 +36,8 @@
using System.Data.Common;
using System.IdentityModel.Tokens.Jwt;
using System.IO;
- using System.Reflection;
+ using System.Reflection;
+ using global::Ordering.API.Extensions;
public class Startup
{
@@ -49,12 +50,14 @@ public Startup(IConfiguration configuration)
public virtual IServiceProvider ConfigureServices(IServiceCollection services)
{
+
services
.AddGrpc(options =>
{
options.EnableDetailedErrors = true;
})
.Services
+ .AddOpenTelemetry()
.AddApplicationInsights(Configuration)
.AddCustomMvc()
.AddHealthChecks(Configuration)
@@ -64,8 +67,8 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
.AddCustomConfiguration(Configuration)
.AddEventBus(Configuration)
.AddCustomAuthentication(Configuration);
+
//configure autofac
-
var container = new ContainerBuilder();
container.Populate(services);
diff --git a/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..4f41760127
--- /dev/null
+++ b/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,69 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Payment.API.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Payment.API"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
diff --git a/src/Services/Payment/Payment.API/Payment.API.csproj b/src/Services/Payment/Payment.API/Payment.API.csproj
index e438f4e661..1c9699838d 100644
--- a/src/Services/Payment/Payment.API/Payment.API.csproj
+++ b/src/Services/Payment/Payment.API/Payment.API.csproj
@@ -1,38 +1,49 @@
-
- net5.0
- ..\..\..\..\docker-compose.dcproj
- $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
- false
- true
- preview
-
+
+ net5.0
+ ..\..\..\..\docker-compose.dcproj
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ true
+ preview
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Services/Payment/Payment.API/Startup.cs b/src/Services/Payment/Payment.API/Startup.cs
index a39d3b97d4..f63cd0ada0 100644
--- a/src/Services/Payment/Payment.API/Startup.cs
+++ b/src/Services/Payment/Payment.API/Startup.cs
@@ -12,6 +12,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Logging;
+using Payment.API.Extensions;
using Payment.API.IntegrationEvents.EventHandling;
using Payment.API.IntegrationEvents.Events;
using RabbitMQ.Client;
@@ -31,6 +32,7 @@ public Startup(IConfiguration configuration)
// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
+ services.AddOpenTelemetry();
services.AddCustomHealthCheck(Configuration);
services.Configure(Configuration);
diff --git a/src/Web/WebMVC/Extensions/OpenTelemetryExtensions.cs b/src/Web/WebMVC/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..2e431659cb
--- /dev/null
+++ b/src/Web/WebMVC/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,65 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+
+namespace Microsoft.eShopOnContainers.WebMVC.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("WebMVC"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Web/WebMVC/Startup.cs b/src/Web/WebMVC/Startup.cs
index 671f7d1936..c9803930cd 100644
--- a/src/Web/WebMVC/Startup.cs
+++ b/src/Web/WebMVC/Startup.cs
@@ -7,6 +7,7 @@
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
+using Microsoft.eShopOnContainers.WebMVC.Extensions;
using Microsoft.eShopOnContainers.WebMVC.Services;
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
using Microsoft.Extensions.Configuration;
diff --git a/src/Web/WebSPA/Extensions/OpenTelemetryExtensions.cs b/src/Web/WebSPA/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..f07738c66f
--- /dev/null
+++ b/src/Web/WebSPA/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,69 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace WebSPA.Extensions
+{
+ static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
+ {
+ var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ if (exportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("WebSPA"));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation();
+
+ // Configure exporter
+ switch (exportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
+ options.AgentHost = agentHost;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ options.Endpoint = new Uri(endpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+ }
+}
diff --git a/src/Web/WebSPA/Startup.cs b/src/Web/WebSPA/Startup.cs
index 58258070af..18fe5f13bc 100644
--- a/src/Web/WebSPA/Startup.cs
+++ b/src/Web/WebSPA/Startup.cs
@@ -13,6 +13,7 @@
using StackExchange.Redis;
using System;
using System.IO;
+using WebSPA.Extensions;
using WebSPA.Infrastructure;
namespace eShopConContainers.WebSPA
@@ -38,6 +39,7 @@ public void ConfigureServices(IServiceCollection services)
{
RegisterAppInsights(services);
+ services.AddOpenTelemetry();
services.AddHealthChecks()
.AddCheck("self", () => HealthCheckResult.Healthy())
.AddUrlGroup(new Uri(Configuration["IdentityUrlHC"]), name: "identityapi-check", tags: new string[] { "identityapi" });
diff --git a/src/Web/WebSPA/WebSPA.csproj b/src/Web/WebSPA/WebSPA.csproj
index 7b9c9ee584..60782f2fa9 100644
--- a/src/Web/WebSPA/WebSPA.csproj
+++ b/src/Web/WebSPA/WebSPA.csproj
@@ -1,171 +1,184 @@
-
- net5.0
- aspnetcorespa-c23d27a4-eb88-4b18-9b77-2a93f3b15119
- ..\..\..\docker-compose.dcproj
- false
- true
- true
- wwwroot/dist/**
- $(DefaultItemExcludes);$(GeneratedItemPatterns)
- 2.9
- preview
-
+
+ net5.0
+ aspnetcorespa-c23d27a4-eb88-4b18-9b77-2a93f3b15119
+ ..\..\..\docker-compose.dcproj
+ false
+ true
+ true
+ wwwroot/dist/**
+ $(DefaultItemExcludes);$(GeneratedItemPatterns)
+ 2.9
+ preview
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/docker-compose.opentelemetry.console.yml b/src/docker-compose.opentelemetry.console.yml
index a894d1feff..5264e37926 100644
--- a/src/docker-compose.opentelemetry.console.yml
+++ b/src/docker-compose.opentelemetry.console.yml
@@ -6,10 +6,31 @@ version: '3.4'
# docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.opentelemetry.console.yml up
services:
+
+ identity-api:
+ environment:
+ - OTEL_USE_EXPORTER=console
+
basket-api:
environment:
- OTEL_USE_EXPORTER=console
+
+ catalog-api:
+ environment:
+ - OTEL_USE_EXPORTER=console
+
+ ordering-api:
+ environment:
+ - OTEL_USE_EXPORTER=console
+
+ payment-api:
+ environment:
+ - OTEL_USE_EXPORTER=console
webmvc:
environment:
- OTEL_USE_EXPORTER=console
+
+ webspa:
+ environment:
+ - OTEL_USE_EXPORTER=console
diff --git a/src/docker-compose.opentelemetry.jaeger.yml b/src/docker-compose.opentelemetry.jaeger.yml
index 59625ceb14..87c6ed78ad 100644
--- a/src/docker-compose.opentelemetry.jaeger.yml
+++ b/src/docker-compose.opentelemetry.jaeger.yml
@@ -17,13 +17,38 @@ services:
- "14268:14268"
- "14250:14250"
- "9411:9411"
+
+ identity-api:
+ environment:
+ - OTEL_USE_EXPORTER=jaeger
+ - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
basket-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
-
+
+ catalog-api:
+ environment:
+ - OTEL_USE_EXPORTER=jaeger
+ - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+
+ ordering-api:
+ environment:
+ - OTEL_USE_EXPORTER=jaeger
+ - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+
+ payment-api:
+ environment:
+ - OTEL_USE_EXPORTER=jaeger
+ - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+
webmvc:
environment:
- OTEL_USE_EXPORTER=jaeger
- OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+
+ webspa:
+ environment:
+ - OTEL_USE_EXPORTER=jaeger
+ - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
\ No newline at end of file
diff --git a/src/docker-compose.opentelemetry.otlp.yml b/src/docker-compose.opentelemetry.otlp.yml
index f9015ac659..9d5f6b7137 100644
--- a/src/docker-compose.opentelemetry.otlp.yml
+++ b/src/docker-compose.opentelemetry.otlp.yml
@@ -13,12 +13,18 @@ services:
- ./OpenTelemetry/otel-collector-config.yaml:/etc/otel-collector-config.yaml
ports:
- "4317" # OTLP gRPC receiver
-
+
basket-api:
environment:
- OTEL_USE_EXPORTER=otlp
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://otel-collector:4317}
- OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS}
+
+ catalog-api:
+ environment:
+ - OTEL_USE_EXPORTER=otlp
+ - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://otel-collector:4317}
+ - OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS}
webmvc:
environment:
diff --git a/src/docker-compose.opentelemetry.zipkin.yml b/src/docker-compose.opentelemetry.zipkin.yml
index a682ca555a..a11b380986 100644
--- a/src/docker-compose.opentelemetry.zipkin.yml
+++ b/src/docker-compose.opentelemetry.zipkin.yml
@@ -11,12 +11,37 @@ services:
ports:
- "9411:9411"
+ identity-api:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
basket-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ catalog-api:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ ordering-api:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ payment-api:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
webmvc:
environment:
- OTEL_USE_EXPORTER=zipkin
- OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ webspa:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
From a71b0048970cab3e95b1f01297b3ded703a0a6d6 Mon Sep 17 00:00:00 2001
From: Matt Callahan
Date: Wed, 7 Apr 2021 23:16:11 -0700
Subject: [PATCH 02/76] updated CardType and Enumeration classes (#1528)
* updated CardType and Enumeration classes
* Update per IEvangelist's suggestion
* Update src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs
Co-authored-by: David Pine
Co-authored-by: Sumit Ghosh
Co-authored-by: David Pine
---
.../BuyerAggregate/CardType.cs | 6 ++--
.../Ordering.Domain/SeedWork/Enumeration.cs | 28 ++++++++-----------
2 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
index 3053cb6784..872a8f65d9 100644
--- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
+++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
@@ -9,9 +9,9 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.B
public class CardType
: Enumeration
{
- public static CardType Amex = new CardType(1, "Amex");
- public static CardType Visa = new CardType(2, "Visa");
- public static CardType MasterCard = new CardType(3, "MasterCard");
+ public static CardType Amex = new CardType(1, nameof(Amex));
+ public static CardType Visa = new CardType(2, nameof(Visa));
+ public static CardType MasterCard = new CardType(3, nameof(MasterCard));
public CardType(int id, string name)
: base(id, name)
diff --git a/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs b/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs
index d3e415df22..731dd8c861 100644
--- a/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs
+++ b/src/Services/Ordering/Ordering.Domain/SeedWork/Enumeration.cs
@@ -11,27 +11,23 @@ public abstract class Enumeration : IComparable
public int Id { get; private set; }
- protected Enumeration(int id, string name)
- {
- Id = id;
- Name = name;
- }
+ protected Enumeration(int id, string name) => (Id, Name) = (id, name);
public override string ToString() => Name;
-
- public static IEnumerable GetAll() where T : Enumeration
- {
- var fields = typeof(T).GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly);
-
- return fields.Select(f => f.GetValue(null)).Cast();
- }
-
+
+ public static IEnumerable GetAll() where T : Enumeration =>
+ typeof(T).GetFields(BindingFlags.Public |
+ BindingFlags.Static |
+ BindingFlags.DeclaredOnly)
+ .Select(f => f.GetValue(null))
+ .Cast();
+
public override bool Equals(object obj)
{
- var otherValue = obj as Enumeration;
-
- if (otherValue == null)
+ if (obj is not Enumeration otherValue)
+ {
return false;
+ }
var typeMatches = GetType().Equals(obj.GetType());
var valueMatches = Id.Equals(otherValue.Id);
From 516de21a7edab118290d53ecc5b45b5acf005f13 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Fri, 9 Apr 2021 16:01:38 +0530
Subject: [PATCH 03/76] Refactored opentelemetry module to a common project
---
.../Mobile.Bff.Shopping/aggregator/Dockerfile | 1 +
.../Web.Bff.Shopping/aggregator/Dockerfile | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 117 ++++++++++++++++++
.../OpenTelemetry.Customization.csproj | 22 ++++
src/OpenTelemetry/OpenTelemetryConfig.cs | 18 +++
.../Basket/Basket.API/Basket.API.csproj | 8 ++
src/Services/Basket/Basket.API/Dockerfile | 2 +
.../Extensions/OpenTelemetryExtensions.cs | 69 -----------
src/Services/Basket/Basket.API/Startup.cs | 13 +-
.../Catalog/Catalog.API/Catalog.API.csproj | 17 +--
src/Services/Catalog/Catalog.API/Dockerfile | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 68 ----------
src/Services/Catalog/Catalog.API/Startup.cs | 8 +-
src/Services/Identity/Identity.API/Dockerfile | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 70 -----------
.../Identity/Identity.API/Identity.API.csproj | 18 ++-
src/Services/Identity/Identity.API/Startup.cs | 10 +-
src/Services/Ordering/Ordering.API/Dockerfile | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 70 -----------
.../Ordering/Ordering.API/Ordering.API.csproj | 5 +
src/Services/Ordering/Ordering.API/Startup.cs | 14 ++-
.../Ordering.BackgroundTasks/Dockerfile | 1 +
.../Ordering/Ordering.SignalrHub/Dockerfile | 1 +
src/Services/Payment/Payment.API/Dockerfile | 1 +
.../Extensions/OpenTelemetryExtensions.cs | 14 +--
.../Payment/Payment.API/Payment.API.csproj | 8 ++
src/Services/Payment/Payment.API/Startup.cs | 12 +-
src/Services/Webhooks/Webhooks.API/Dockerfile | 1 +
src/Services/Webhooks/Webhooks.API/Startup.cs | 9 ++
.../Webhooks/Webhooks.API/Webhooks.API.csproj | 1 +
src/Web/WebMVC/Dockerfile | 1 +
src/Web/WebMVC/Startup.cs | 12 +-
src/Web/WebMVC/WebMVC.csproj | 5 +
src/Web/WebSPA/Dockerfile | 1 +
src/Web/WebSPA/Startup.cs | 11 +-
src/Web/WebSPA/WebSPA.csproj | 7 ++
src/Web/WebStatus/Dockerfile | 1 +
src/Web/WebhookClient/Dockerfile | 1 +
src/docker-compose.opentelemetry.jaeger.yml | 14 +--
src/docker-compose.opentelemetry.otlp.yml | 6 +-
src/docker-compose.opentelemetry.zipkin.yml | 21 ++--
src/eShopOnContainers-ServicesAndWebApps.sln | 54 ++++++++
42 files changed, 372 insertions(+), 344 deletions(-)
create mode 100644 src/OpenTelemetry/Extensions/OpenTelemetryExtensions.cs
create mode 100644 src/OpenTelemetry/OpenTelemetry.Customization.csproj
create mode 100644 src/OpenTelemetry/OpenTelemetryConfig.cs
delete mode 100644 src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
delete mode 100644 src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
delete mode 100644 src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
delete mode 100644 src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
index ee03709100..509a10fee0 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
index 5736c19f72..b343b978f1 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/OpenTelemetry/Extensions/OpenTelemetryExtensions.cs b/src/OpenTelemetry/Extensions/OpenTelemetryExtensions.cs
new file mode 100644
index 0000000000..d12a564ade
--- /dev/null
+++ b/src/OpenTelemetry/Extensions/OpenTelemetryExtensions.cs
@@ -0,0 +1,117 @@
+using Microsoft.Extensions.DependencyInjection;
+using OpenTelemetry;
+using OpenTelemetry.Resources;
+using OpenTelemetry.Trace;
+using StackExchange.Redis;
+using System;
+
+namespace OpenTelemetry.Customization.Extensions
+{
+ public static class OpenTelemetryExtensions
+ {
+ public static IServiceCollection AddOpenTelemetry(this IServiceCollection services, OpenTelemetryConfig openTelemetryConfig)
+ {
+ if (openTelemetryConfig == null || openTelemetryConfig.ExportType == null)
+ {
+ return services;
+ }
+
+ return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
+ {
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(openTelemetryConfig.ServiceName));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddGrpcClientInstrumentation()
+ .AddSqlClientInstrumentation();
+
+ // Configure exporter
+ switch (openTelemetryConfig.ExportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ options.AgentHost = openTelemetryConfig.ExportToolEndpoint;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ options.Endpoint = new Uri(openTelemetryConfig.ExportToolEndpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ options.Endpoint = new Uri(openTelemetryConfig.ExportToolEndpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+ });
+ }
+
+ public static void AddOpenTelemetry(ConnectionMultiplexer connectionMultiplexer, OpenTelemetryConfig openTelemetryConfig)
+ {
+
+ if (openTelemetryConfig == null || openTelemetryConfig.ExportType == null)
+ {
+ return;
+ }
+
+ var tracerProviderBuilder = Sdk.CreateTracerProviderBuilder();
+
+ // Configure resource
+ tracerProviderBuilder
+ .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(openTelemetryConfig.ServiceName));
+
+ // Configure instrumentation
+ tracerProviderBuilder
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddRedisInstrumentation(connectionMultiplexer);
+
+ // Configure exporter
+ switch (openTelemetryConfig.ExportType)
+ {
+ case "jaeger":
+ tracerProviderBuilder.AddJaegerExporter(options =>
+ {
+ options.AgentHost = openTelemetryConfig.ExportToolEndpoint;
+ });
+ break;
+ case "otlp":
+ tracerProviderBuilder.AddOtlpExporter(options =>
+ {
+ options.Endpoint = new Uri(openTelemetryConfig.ExportToolEndpoint);
+
+ var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
+ ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
+ options.Headers = headers;
+ });
+ break;
+ case "zipkin":
+ tracerProviderBuilder.AddZipkinExporter(options =>
+ {
+ options.Endpoint = new Uri(openTelemetryConfig.ExportToolEndpoint);
+ });
+ break;
+ default:
+ tracerProviderBuilder.AddConsoleExporter();
+ break;
+ }
+
+ tracerProviderBuilder.Build();
+ }
+ }
+}
diff --git a/src/OpenTelemetry/OpenTelemetry.Customization.csproj b/src/OpenTelemetry/OpenTelemetry.Customization.csproj
new file mode 100644
index 0000000000..fe6d15797a
--- /dev/null
+++ b/src/OpenTelemetry/OpenTelemetry.Customization.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net5.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/OpenTelemetry/OpenTelemetryConfig.cs b/src/OpenTelemetry/OpenTelemetryConfig.cs
new file mode 100644
index 0000000000..c2a566a12e
--- /dev/null
+++ b/src/OpenTelemetry/OpenTelemetryConfig.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OpenTelemetry.Customization
+{
+ public class OpenTelemetryConfig
+ {
+ public string ServiceName { get; set; }
+
+ public string ExportType { get; set; }
+
+ public string ExportToolEndpoint { get; set; }
+
+ }
+}
diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index b7a4b3743c..2459f2dc63 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -9,6 +9,13 @@
preview
+
+
+
+
+
+
+
PreserveNewest
@@ -64,6 +71,7 @@
+
diff --git a/src/Services/Basket/Basket.API/Dockerfile b/src/Services/Basket/Basket.API/Dockerfile
index de2718ad40..e4740ebdec 100644
--- a/src/Services/Basket/Basket.API/Dockerfile
+++ b/src/Services/Basket/Basket.API/Dockerfile
@@ -38,6 +38,8 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
+
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
deleted file mode 100644
index de44df2077..0000000000
--- a/src/Services/Basket/Basket.API/Extensions/OpenTelemetryExtensions.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using OpenTelemetry;
-using OpenTelemetry.Resources;
-using OpenTelemetry.Trace;
-using StackExchange.Redis;
-using System;
-
-namespace Basket.API.Extensions
-{
- static class OpenTelemetryExtensions
- {
- public static void AddOpenTelemetry(ConnectionMultiplexer connectionMultiplexer)
- {
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
- {
- return;
- }
-
- var tracerProviderBuilder = Sdk.CreateTracerProviderBuilder();
-
- // Configure resource
- tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Basket.API"));
-
- // Configure instrumentation
- tracerProviderBuilder
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddRedisInstrumentation(connectionMultiplexer);
-
- // Configure exporter
- switch (exportType)
- {
- case "jaeger":
- tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
- });
- break;
- case "otlp":
- tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
-
- var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
- options.Headers = headers;
- });
- break;
- case "zipkin":
- tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
- });
- break;
- default:
- tracerProviderBuilder.AddConsoleExporter();
- break;
- }
-
- tracerProviderBuilder.Build();
- }
- }
-}
\ No newline at end of file
diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs
index 4faf3c80b1..33cb431167 100644
--- a/src/Services/Basket/Basket.API/Startup.cs
+++ b/src/Services/Basket/Basket.API/Startup.cs
@@ -1,6 +1,5 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
-using Basket.API.Extensions;
using Basket.API.Infrastructure.Filters;
using Basket.API.IntegrationEvents.EventHandling;
using Basket.API.IntegrationEvents.Events;
@@ -28,6 +27,8 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using RabbitMQ.Client;
using StackExchange.Redis;
using System;
@@ -187,8 +188,14 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory, ConnectionMultiplexer connectionMultiplexer)
- {
- OpenTelemetryExtensions.AddOpenTelemetry(connectionMultiplexer);
+ {
+
+ OpenTelemetryExtensions.AddOpenTelemetry(connectionMultiplexer,new OpenTelemetryConfig()
+ {
+ ServiceName = "Basket.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
//loggerFactory.AddAzureWebAppDiagnostics();
//loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Trace);
diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
index c439342d37..72ccfc448e 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -27,6 +27,7 @@
PreserveNewest
+
@@ -66,26 +67,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/Services/Catalog/Catalog.API/Dockerfile b/src/Services/Catalog/Catalog.API/Dockerfile
index ec10cac79a..7e3d647fae 100644
--- a/src/Services/Catalog/Catalog.API/Dockerfile
+++ b/src/Services/Catalog/Catalog.API/Dockerfile
@@ -39,6 +39,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
deleted file mode 100644
index 1e55c043c1..0000000000
--- a/src/Services/Catalog/Catalog.API/Extensions/OpenTelemetryExtensions.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using OpenTelemetry;
-using OpenTelemetry.Resources;
-using OpenTelemetry.Trace;
-using System;
-
-namespace Catalog.API.Extensions
-{
- static class OpenTelemetryExtensions
- {
- public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
- {
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
- {
- return services;
- }
-
- return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
- {
- // Configure resource
- tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Catalog.API"));
-
- // Configure instrumentation
- tracerProviderBuilder
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddGrpcClientInstrumentation()
- .AddSqlClientInstrumentation();
-
- // Configure exporter
- switch (exportType)
- {
- case "jaeger":
- tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
- });
- break;
- case "otlp":
- tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
-
- var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
- options.Headers = headers;
- });
- break;
- case "zipkin":
- tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
- });
- break;
- default:
- tracerProviderBuilder.AddConsoleExporter();
- break;
- }
- });
- }
- }
-}
diff --git a/src/Services/Catalog/Catalog.API/Startup.cs b/src/Services/Catalog/Catalog.API/Startup.cs
index ed807decb0..2ed4388544 100644
--- a/src/Services/Catalog/Catalog.API/Startup.cs
+++ b/src/Services/Catalog/Catalog.API/Startup.cs
@@ -26,12 +26,13 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using RabbitMQ.Client;
using System;
using System.Data.Common;
using System.IO;
using System.Reflection;
-using Catalog.API.Extensions;
namespace Microsoft.eShopOnContainers.Services.Catalog.API
{
@@ -55,7 +56,10 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
.AddEventBus(Configuration)
.AddSwagger(Configuration)
.AddCustomHealthCheck(Configuration)
- .AddOpenTelemetry();
+ .AddOpenTelemetry(new OpenTelemetryConfig() { ServiceName= "Catalog.API",
+ ExportType= Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
var container = new ContainerBuilder();
container.Populate(services);
diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile
index 3608476bcd..2e3836cdd0 100644
--- a/src/Services/Identity/Identity.API/Dockerfile
+++ b/src/Services/Identity/Identity.API/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
deleted file mode 100644
index 391fb29541..0000000000
--- a/src/Services/Identity/Identity.API/Extensions/OpenTelemetryExtensions.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using OpenTelemetry;
-using OpenTelemetry.Resources;
-using OpenTelemetry.Trace;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-
-namespace Identity.API.Extensions
-{
- static class OpenTelemetryExtensions
- {
- public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
- {
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
- {
- return services;
- }
-
- return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
- {
- // Configure resource
- tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Identity.API"));
-
- // Configure instrumentation
- tracerProviderBuilder
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddSqlClientInstrumentation();
-
- // Configure exporter
- switch (exportType)
- {
- case "jaeger":
- tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
- });
- break;
- case "otlp":
- tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
-
- var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
- options.Headers = headers;
- });
- break;
- case "zipkin":
- tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
- });
- break;
- default:
- tracerProviderBuilder.AddConsoleExporter();
- break;
- }
- });
- }
- }
-}
diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj
index 89e0b18194..44713e3193 100644
--- a/src/Services/Identity/Identity.API/Identity.API.csproj
+++ b/src/Services/Identity/Identity.API/Identity.API.csproj
@@ -15,6 +15,10 @@
+
+
+
+
@@ -51,21 +55,13 @@
-
+
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/src/Services/Identity/Identity.API/Startup.cs b/src/Services/Identity/Identity.API/Startup.cs
index c5ba05d61d..7525d66962 100644
--- a/src/Services/Identity/Identity.API/Startup.cs
+++ b/src/Services/Identity/Identity.API/Startup.cs
@@ -1,7 +1,6 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
using HealthChecks.UI.Client;
-using Identity.API.Extensions;
using IdentityServer4.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
@@ -22,6 +21,8 @@
using StackExchange.Redis;
using System;
using System.Reflection;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
namespace Microsoft.eShopOnContainers.Services.Identity.API
{
@@ -39,7 +40,12 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
{
RegisterAppInsights(services);
- services.AddOpenTelemetry();
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "Identity.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
// Add framework services.
services.AddDbContext(options =>
diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile
index 7659da4de1..c02827b0e8 100644
--- a/src/Services/Ordering/Ordering.API/Dockerfile
+++ b/src/Services/Ordering/Ordering.API/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
deleted file mode 100644
index e67beecf92..0000000000
--- a/src/Services/Ordering/Ordering.API/Extensions/OpenTelemetryExtensions.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using OpenTelemetry;
-using OpenTelemetry.Resources;
-using OpenTelemetry.Trace;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-
-namespace Ordering.API.Extensions
-{
- static class OpenTelemetryExtensions
- {
- public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
- {
- var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
- if (exportType == null)
- {
- return services;
- }
-
- return services.AddOpenTelemetryTracing((serviceProvider, tracerProviderBuilder) =>
- {
- // Configure resource
- tracerProviderBuilder
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Order.API"));
-
- // Configure instrumentation
- tracerProviderBuilder
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddSqlClientInstrumentation();
-
- // Configure exporter
- switch (exportType)
- {
- case "jaeger":
- tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
- });
- break;
- case "otlp":
- tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
-
- var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_HEADERS");
- options.Headers = headers;
- });
- break;
- case "zipkin":
- tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
- options.Endpoint = new Uri(endpoint);
- });
- break;
- default:
- tracerProviderBuilder.AddConsoleExporter();
- break;
- }
- });
- }
- }
-}
diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
index 39c26f96ec..cbaaf3761e 100644
--- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj
+++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
@@ -19,6 +19,10 @@
+
+
+
+
@@ -32,6 +36,7 @@
+
diff --git a/src/Services/Ordering/Ordering.API/Startup.cs b/src/Services/Ordering/Ordering.API/Startup.cs
index af9ef791ee..3da6fd825b 100644
--- a/src/Services/Ordering/Ordering.API/Startup.cs
+++ b/src/Services/Ordering/Ordering.API/Startup.cs
@@ -38,6 +38,8 @@
using System.IO;
using System.Reflection;
using global::Ordering.API.Extensions;
+ using OpenTelemetry.Customization;
+ using OpenTelemetry.Customization.Extensions;
public class Startup
{
@@ -56,8 +58,7 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
{
options.EnableDetailedErrors = true;
})
- .Services
- .AddOpenTelemetry()
+ .Services
.AddApplicationInsights(Configuration)
.AddCustomMvc()
.AddHealthChecks(Configuration)
@@ -67,7 +68,14 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
.AddCustomConfiguration(Configuration)
.AddEventBus(Configuration)
.AddCustomAuthentication(Configuration);
-
+
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "Ordering.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
+
//configure autofac
var container = new ContainerBuilder();
container.Populate(services);
diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
index ea95935ab6..4346d88e2c 100644
--- a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
+++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
index bb80617ff5..8be56df5fa 100644
--- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
+++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Payment/Payment.API/Dockerfile b/src/Services/Payment/Payment.API/Dockerfile
index d56f3d7c39..2926b7c6a7 100644
--- a/src/Services/Payment/Payment.API/Dockerfile
+++ b/src/Services/Payment/Payment.API/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs b/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
index 4f41760127..ebe81260d5 100644
--- a/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
+++ b/src/Services/Payment/Payment.API/Extensions/OpenTelemetryExtensions.cs
@@ -14,6 +14,8 @@ static class OpenTelemetryExtensions
public static IServiceCollection AddOpenTelemetry(this IServiceCollection services)
{
var exportType = Environment.GetEnvironmentVariable("OTEL_USE_EXPORTER")?.ToLower();
+ var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_TOOL_ENDPOINT")?.ToLower();
+
if (exportType == null)
{
return services;
@@ -35,16 +37,13 @@ public static IServiceCollection AddOpenTelemetry(this IServiceCollection servic
{
case "jaeger":
tracerProviderBuilder.AddJaegerExporter(options =>
- {
- var agentHost = Environment.GetEnvironmentVariable("OTEL_EXPORTER_JAEGER_AGENTHOST");
- options.AgentHost = agentHost;
+ {
+ options.AgentHost = endpoint;
});
break;
case "otlp":
tracerProviderBuilder.AddOtlpExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT")
- ?? Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_ENDPOINT");
+ {
options.Endpoint = new Uri(endpoint);
var headers = Environment.GetEnvironmentVariable("OTEL_EXPORTER_OTLP_TRACES_HEADERS")
@@ -54,8 +53,7 @@ public static IServiceCollection AddOpenTelemetry(this IServiceCollection servic
break;
case "zipkin":
tracerProviderBuilder.AddZipkinExporter(options =>
- {
- var endpoint = Environment.GetEnvironmentVariable("OTEL_EXPORTER_ZIPKIN_ENDPOINT");
+ {
options.Endpoint = new Uri(endpoint);
});
break;
diff --git a/src/Services/Payment/Payment.API/Payment.API.csproj b/src/Services/Payment/Payment.API/Payment.API.csproj
index 1c9699838d..49972454c0 100644
--- a/src/Services/Payment/Payment.API/Payment.API.csproj
+++ b/src/Services/Payment/Payment.API/Payment.API.csproj
@@ -9,6 +9,13 @@
preview
+
+
+
+
+
+
+
@@ -44,6 +51,7 @@
+
diff --git a/src/Services/Payment/Payment.API/Startup.cs b/src/Services/Payment/Payment.API/Startup.cs
index f63cd0ada0..3470eee6b7 100644
--- a/src/Services/Payment/Payment.API/Startup.cs
+++ b/src/Services/Payment/Payment.API/Startup.cs
@@ -12,7 +12,8 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Logging;
-using Payment.API.Extensions;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using Payment.API.IntegrationEvents.EventHandling;
using Payment.API.IntegrationEvents.Events;
using RabbitMQ.Client;
@@ -32,7 +33,14 @@ public Startup(IConfiguration configuration)
// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
- services.AddOpenTelemetry();
+
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "Payment.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
+
services.AddCustomHealthCheck(Configuration);
services.Configure(Configuration);
diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile b/src/Services/Webhooks/Webhooks.API/Dockerfile
index 263de13d6c..cb54cb6a3c 100644
--- a/src/Services/Webhooks/Webhooks.API/Dockerfile
+++ b/src/Services/Webhooks/Webhooks.API/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Services/Webhooks/Webhooks.API/Startup.cs b/src/Services/Webhooks/Webhooks.API/Startup.cs
index 4744e9d24c..04ed1687f1 100644
--- a/src/Services/Webhooks/Webhooks.API/Startup.cs
+++ b/src/Services/Webhooks/Webhooks.API/Startup.cs
@@ -18,6 +18,8 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using RabbitMQ.Client;
using System;
using System.Collections.Generic;
@@ -43,6 +45,13 @@ public Startup(IConfiguration configuration)
public IServiceProvider ConfigureServices(IServiceCollection services)
{
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "Webhooks.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
+
services
.AddAppInsight(Configuration)
.AddCustomRouting(Configuration)
diff --git a/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj b/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj
index b26e28b6a8..3b7e67f501 100644
--- a/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj
+++ b/src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj
@@ -31,6 +31,7 @@
+
diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile
index bab4109b5b..794292f3ae 100644
--- a/src/Web/WebMVC/Dockerfile
+++ b/src/Web/WebMVC/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Web/WebMVC/Startup.cs b/src/Web/WebMVC/Startup.cs
index c9803930cd..209f033938 100644
--- a/src/Web/WebMVC/Startup.cs
+++ b/src/Web/WebMVC/Startup.cs
@@ -15,6 +15,8 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Hosting;
using Microsoft.IdentityModel.Logging;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using StackExchange.Redis;
using System;
using System.IdentityModel.Tokens.Jwt;
@@ -36,13 +38,19 @@ public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
.Services
- .AddAppInsight(Configuration)
- .AddOpenTelemetry()
+ .AddAppInsight(Configuration)
.AddHealthChecks(Configuration)
.AddCustomMvc(Configuration)
.AddDevspaces()
.AddHttpClientServices(Configuration);
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "WebMVC",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
+
IdentityModelEventSource.ShowPII = true; // Caution! Do NOT use in production: https://aka.ms/IdentityModel/PII
services.AddControllers();
diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj
index 13ef68d79b..1359150115 100644
--- a/src/Web/WebMVC/WebMVC.csproj
+++ b/src/Web/WebMVC/WebMVC.csproj
@@ -10,6 +10,10 @@
preview
+
+
+
+
PreserveNewest
@@ -61,6 +65,7 @@
+
diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile
index 0dcac84338..724ccfa510 100644
--- a/src/Web/WebSPA/Dockerfile
+++ b/src/Web/WebSPA/Dockerfile
@@ -46,6 +46,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Web/WebSPA/Startup.cs b/src/Web/WebSPA/Startup.cs
index 18fe5f13bc..e060f1f2a3 100644
--- a/src/Web/WebSPA/Startup.cs
+++ b/src/Web/WebSPA/Startup.cs
@@ -10,10 +10,11 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
+using OpenTelemetry.Customization;
+using OpenTelemetry.Customization.Extensions;
using StackExchange.Redis;
using System;
using System.IO;
-using WebSPA.Extensions;
using WebSPA.Infrastructure;
namespace eShopConContainers.WebSPA
@@ -39,7 +40,13 @@ public void ConfigureServices(IServiceCollection services)
{
RegisterAppInsights(services);
- services.AddOpenTelemetry();
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "WebSPA",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
+
services.AddHealthChecks()
.AddCheck("self", () => HealthCheckResult.Healthy())
.AddUrlGroup(new Uri(Configuration["IdentityUrlHC"]), name: "identityapi-check", tags: new string[] { "identityapi" });
diff --git a/src/Web/WebSPA/WebSPA.csproj b/src/Web/WebSPA/WebSPA.csproj
index 60782f2fa9..a69b3e7127 100644
--- a/src/Web/WebSPA/WebSPA.csproj
+++ b/src/Web/WebSPA/WebSPA.csproj
@@ -14,7 +14,11 @@
+
+
+
+
@@ -114,6 +118,9 @@
+
+
+
diff --git a/src/Web/WebStatus/Dockerfile b/src/Web/WebStatus/Dockerfile
index 7c1f74e7e5..78d6c05659 100644
--- a/src/Web/WebStatus/Dockerfile
+++ b/src/Web/WebStatus/Dockerfile
@@ -38,6 +38,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/Web/WebhookClient/Dockerfile b/src/Web/WebhookClient/Dockerfile
index 31c4c76ebc..e3a2def248 100644
--- a/src/Web/WebhookClient/Dockerfile
+++ b/src/Web/WebhookClient/Dockerfile
@@ -39,6 +39,7 @@ COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.c
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj"
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj"
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj"
+COPY "OpenTelemetry/OpenTelemetry.Customization.csproj" "OpenTelemetry/OpenTelemetry.Customization.csproj"
COPY "docker-compose.dcproj" "docker-compose.dcproj"
diff --git a/src/docker-compose.opentelemetry.jaeger.yml b/src/docker-compose.opentelemetry.jaeger.yml
index 87c6ed78ad..96e3c3d80a 100644
--- a/src/docker-compose.opentelemetry.jaeger.yml
+++ b/src/docker-compose.opentelemetry.jaeger.yml
@@ -21,34 +21,34 @@ services:
identity-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
basket-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
catalog-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
ordering-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
payment-api:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
webmvc:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
webspa:
environment:
- OTEL_USE_EXPORTER=jaeger
- - OTEL_EXPORTER_JAEGER_AGENTHOST=${OTEL_EXPORTER_JAEGER_AGENTHOST:-jaeger-all-in-one}
\ No newline at end of file
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-jaeger-all-in-one}
\ No newline at end of file
diff --git a/src/docker-compose.opentelemetry.otlp.yml b/src/docker-compose.opentelemetry.otlp.yml
index 9d5f6b7137..c62c44419e 100644
--- a/src/docker-compose.opentelemetry.otlp.yml
+++ b/src/docker-compose.opentelemetry.otlp.yml
@@ -17,17 +17,17 @@ services:
basket-api:
environment:
- OTEL_USE_EXPORTER=otlp
- - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://otel-collector:4317}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://otel-collector:4317}
- OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS}
catalog-api:
environment:
- OTEL_USE_EXPORTER=otlp
- - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://otel-collector:4317}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://otel-collector:4317}
- OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS}
webmvc:
environment:
- OTEL_USE_EXPORTER=otlp
- - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://otel-collector:4317}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://otel-collector:4317}
- OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS}
diff --git a/src/docker-compose.opentelemetry.zipkin.yml b/src/docker-compose.opentelemetry.zipkin.yml
index a11b380986..96908ec574 100644
--- a/src/docker-compose.opentelemetry.zipkin.yml
+++ b/src/docker-compose.opentelemetry.zipkin.yml
@@ -14,34 +14,39 @@ services:
identity-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
basket-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
catalog-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
ordering-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
payment-api:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
-
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ webhooks-api:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
webmvc:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
webspa:
environment:
- OTEL_USE_EXPORTER=zipkin
- - OTEL_EXPORTER_ZIPKIN_ENDPOINT=${OTEL_EXPORTER_ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
diff --git a/src/eShopOnContainers-ServicesAndWebApps.sln b/src/eShopOnContainers-ServicesAndWebApps.sln
index f0d907d8bd..dcc582b968 100644
--- a/src/eShopOnContainers-ServicesAndWebApps.sln
+++ b/src/eShopOnContainers-ServicesAndWebApps.sln
@@ -120,6 +120,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile.Bff.Shopping", "Mobi
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mobile.Shopping.HttpAggregator", "ApiGateways\Mobile.Bff.Shopping\aggregator\Mobile.Shopping.HttpAggregator.csproj", "{B62E859F-825E-4C8B-93EC-5966EACFD026}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenTelemetry", "OpenTelemetry", "{D366A1A3-E0BC-4469-95B0-316AE3EF61D5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Customization", "OpenTelemetry\OpenTelemetry.Customization.csproj", "{AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@@ -1478,6 +1482,54 @@ Global
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x64.Build.0 = Release|Any CPU
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x86.ActiveCfg = Release|Any CPU
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x86.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|Any CPU.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|ARM.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|ARM.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|iPhone.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|x64.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|x64.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|x86.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.AppStore|x86.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|ARM.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|x64.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Debug|x86.Build.0 = Debug|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|ARM.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|ARM.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|iPhone.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|x64.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|x64.Build.0 = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|x86.ActiveCfg = Release|Any CPU
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1534,6 +1586,8 @@ Global
{966B1B0B-2AE0-4438-8741-1C5A05556095} = {3ABEEE8C-35E0-4185-9825-C44326151F5B}
{798BFC44-2CCD-45FA-B37A-5173B03C2B30} = {77849D35-37D4-4802-81DC-9477B2775A40}
{B62E859F-825E-4C8B-93EC-5966EACFD026} = {798BFC44-2CCD-45FA-B37A-5173B03C2B30}
+ {D366A1A3-E0BC-4469-95B0-316AE3EF61D5} = {932D8224-11F6-4D07-B109-DA28AD288A63}
+ {AF60A41F-478A-4DAB-9B7F-8D1BBFCD32BC} = {D366A1A3-E0BC-4469-95B0-316AE3EF61D5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {25728519-5F0F-4973-8A64-0A81EB4EA8D9}
From 6012fb06490503eb2b656b74b85592805bcab49e Mon Sep 17 00:00:00 2001
From: Mohamed Seada
Date: Mon, 12 Apr 2021 07:49:26 +0200
Subject: [PATCH 04/76] Fix aggregator address (#1646)
---
src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml b/src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml
index 1ae8c45a13..8f2162ad79 100644
--- a/src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml
+++ b/src/ApiGateways/Envoy/config/mobileshopping/envoy.yaml
@@ -103,7 +103,7 @@ static_resources:
lb_policy: round_robin
hosts:
- socket_address:
- address: webshoppingagg
+ address: mobileshoppingagg
port_value: 80
- name: catalog
connect_timeout: 0.25s
From 6093ec0afa3cd15a59c814684448792f1e027208 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Tue, 13 Apr 2021 15:41:55 +0530
Subject: [PATCH 05/76] Included Zipkin helm chart
---
deploy/k8s/helm/zipkin/.helmignore | 23 +++++++
deploy/k8s/helm/zipkin/Chart.yaml | 5 ++
deploy/k8s/helm/zipkin/templates/NOTES.txt | 2 +
deploy/k8s/helm/zipkin/templates/_helpers.tpl | 32 ++++++++++
deploy/k8s/helm/zipkin/templates/_names.tpl | 60 ++++++++++++++++++
.../k8s/helm/zipkin/templates/deployment.yaml | 63 +++++++++++++++++++
.../zipkin/templates/ingress-dockerk8s.yaml | 33 ++++++++++
deploy/k8s/helm/zipkin/templates/ingress.yaml | 39 ++++++++++++
deploy/k8s/helm/zipkin/templates/service.yaml | 19 ++++++
deploy/k8s/helm/zipkin/values.yaml | 26 ++++++++
10 files changed, 302 insertions(+)
create mode 100644 deploy/k8s/helm/zipkin/.helmignore
create mode 100644 deploy/k8s/helm/zipkin/Chart.yaml
create mode 100644 deploy/k8s/helm/zipkin/templates/NOTES.txt
create mode 100644 deploy/k8s/helm/zipkin/templates/_helpers.tpl
create mode 100644 deploy/k8s/helm/zipkin/templates/_names.tpl
create mode 100644 deploy/k8s/helm/zipkin/templates/deployment.yaml
create mode 100644 deploy/k8s/helm/zipkin/templates/ingress-dockerk8s.yaml
create mode 100644 deploy/k8s/helm/zipkin/templates/ingress.yaml
create mode 100644 deploy/k8s/helm/zipkin/templates/service.yaml
create mode 100644 deploy/k8s/helm/zipkin/values.yaml
diff --git a/deploy/k8s/helm/zipkin/.helmignore b/deploy/k8s/helm/zipkin/.helmignore
new file mode 100644
index 0000000000..0e8a0eb36f
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/deploy/k8s/helm/zipkin/Chart.yaml b/deploy/k8s/helm/zipkin/Chart.yaml
new file mode 100644
index 0000000000..c70c6c0dd9
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/Chart.yaml
@@ -0,0 +1,5 @@
+apiVersion: v1
+appVersion: "1.0"
+description: A Helm chart for Kubernetes
+name: zipkin
+version: 0.1.0
diff --git a/deploy/k8s/helm/zipkin/templates/NOTES.txt b/deploy/k8s/helm/zipkin/templates/NOTES.txt
new file mode 100644
index 0000000000..d5491db5f7
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/NOTES.txt
@@ -0,0 +1,2 @@
+eShop trace tool Zipkin installed.
+-----------------------
diff --git a/deploy/k8s/helm/zipkin/templates/_helpers.tpl b/deploy/k8s/helm/zipkin/templates/_helpers.tpl
new file mode 100644
index 0000000000..4679c356b4
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/_helpers.tpl
@@ -0,0 +1,32 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "zipkin.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "zipkin.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "zipkin.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
\ No newline at end of file
diff --git a/deploy/k8s/helm/zipkin/templates/_names.tpl b/deploy/k8s/helm/zipkin/templates/_names.tpl
new file mode 100644
index 0000000000..605e92e7ee
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/_names.tpl
@@ -0,0 +1,60 @@
+{{- define "suffix-name" -}}
+{{- if .Values.app.name -}}
+{{- .Values.app.name -}}
+{{- else -}}
+{{- .Release.Name -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "sql-name" -}}
+{{- if .Values.inf.sql.host -}}
+{{- .Values.inf.sql.host -}}
+{{- else -}}
+{{- printf "%s" "sql-data" -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "mongo-name" -}}
+{{- if .Values.inf.mongo.host -}}
+{{- .Values.inf.mongo.host -}}
+{{- else -}}
+{{- printf "%s" "nosql-data" -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "url-of" -}}
+{{- $name := first .}}
+{{- $ctx := last .}}
+{{- if eq $name "" -}}
+{{- $ctx.Values.inf.k8s.dns -}}
+{{- else -}}
+{{- printf "%s/%s" $ctx.Values.inf.k8s.dns $name -}} {{/*Value is just / */}}
+{{- end -}}
+{{- end -}}
+
+
+
+{{- define "pathBase" -}}
+{{- if .Values.inf.k8s.suffix -}}
+{{- $suffix := include "suffix-name" . -}}
+{{- printf "%s-%s" .Values.pathBase $suffix -}}
+{{- else -}}
+{{- .Values.pathBase -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "fqdn-image" -}}
+{{- if .Values.inf.registry -}}
+{{- printf "%s/%s" .Values.inf.registry.server .Values.image.repository -}}
+{{- else -}}
+{{- .Values.image.repository -}}
+{{- end -}}
+{{- end -}}
+
+{{- define "protocol" -}}
+{{- if .Values.inf.tls.enabled -}}
+{{- printf "%s" "https" -}}
+{{- else -}}
+{{- printf "%s" "http" -}}
+{{- end -}}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/k8s/helm/zipkin/templates/deployment.yaml b/deploy/k8s/helm/zipkin/templates/deployment.yaml
new file mode 100644
index 0000000000..a7ab765d34
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/deployment.yaml
@@ -0,0 +1,63 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "zipkin.fullname" . }}
+ labels:
+ app: {{ template "zipkin.name" . }}
+ chart: {{ template "zipkin.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ template "zipkin.name" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ app: {{ template "zipkin.name" . }}
+ release: {{ .Release.Name }}
+ {{ if .Values.inf.mesh.enabled -}}
+ annotations:
+ linkerd.io/inject: enabled
+ {{- end }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: 9411
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ path: /
+ port: http
+ readinessProbe:
+ httpGet:
+ path: /
+ port: http
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/deploy/k8s/helm/zipkin/templates/ingress-dockerk8s.yaml b/deploy/k8s/helm/zipkin/templates/ingress-dockerk8s.yaml
new file mode 100644
index 0000000000..ab22d82bf2
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/ingress-dockerk8s.yaml
@@ -0,0 +1,33 @@
+{{- if .Values.ingress.enabled -}}
+{{- if .Values.inf.k8s.local -}}
+{{- $ingressPath := include "pathBase" . -}}
+{{- $serviceName := .Values.app.svc.zipkin }}
+{{- $name := include "zipkin.fullname" . -}}
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: {{ $name }}-local
+ labels:
+ app: {{ template "zipkin.name" . }}
+ chart: {{ template "zipkin.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+{{- with .Values.ingress.annotations }}
+ annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- if .Values.inf.mesh.enabled }}
+{{- with .Values.ingress.mesh.annotations }}
+{{ toYaml . | indent 4 }}
+{{- end }}
+{{- end }}
+spec:
+ rules:
+ - http:
+ paths:
+ - backend:
+ serviceName: {{ $serviceName }}
+ servicePort: http
+ path: {{ $ingressPath }}
+{{- end -}}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/k8s/helm/zipkin/templates/ingress.yaml b/deploy/k8s/helm/zipkin/templates/ingress.yaml
new file mode 100644
index 0000000000..0235938f73
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/ingress.yaml
@@ -0,0 +1,39 @@
+{{- if .Values.ingress.enabled -}}
+{{- $ingressPath := include "pathBase" . -}}
+{{- $serviceName := include "zipkin.fullname" . -}}
+{{- $svcPort := .Values.service.port -}}
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: {{ template "zipkin.fullname" . }}
+ labels:
+ app: {{ template "zipkin.name" . }}
+ chart: {{ template "zipkin.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+{{- if .Values.ingress.tls }}
+ tls:
+ {{- range .Values.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+{{- end }}
+ rules:
+ {{- range .Values.ingress.hosts }}
+ - host: {{ . }}
+ http:
+ paths:
+ - path: {{ $ingressPath }}
+ backend:
+ serviceName: {{ $.Values.app.svc.zipkin }}
+ servicePort: http
+ {{- end }}
+{{- end }}
diff --git a/deploy/k8s/helm/zipkin/templates/service.yaml b/deploy/k8s/helm/zipkin/templates/service.yaml
new file mode 100644
index 0000000000..a27e0c1e02
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/templates/service.yaml
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.app.svc.zipkin }}
+ labels:
+ app: {{ template "zipkin.name" . }}
+ chart: {{ template "zipkin.chart" . }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - port: {{ .Values.service.port }}
+ targetPort: http
+ protocol: TCP
+ name: http
+ selector:
+ app: {{ template "zipkin.name" . }}
+ release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/deploy/k8s/helm/zipkin/values.yaml b/deploy/k8s/helm/zipkin/values.yaml
new file mode 100644
index 0000000000..cabc3b328d
--- /dev/null
+++ b/deploy/k8s/helm/zipkin/values.yaml
@@ -0,0 +1,26 @@
+replicaCount: 1
+clusterName: eshop-aks
+pathBase: /zipkin
+
+image:
+ repository: openzipkin/zipkin
+ tag: latest
+ pullPolicy: IfNotPresent
+
+service:
+ type: ClusterIP
+ port: 9411
+
+
+ingress:
+ enabled: true
+ annotations: {}
+ tls: []
+
+resources: {}
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
\ No newline at end of file
From c01ac6e0b105911c98fe7e1d88b81975751971fd Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Tue, 13 Apr 2021 15:42:47 +0530
Subject: [PATCH 06/76] Updated Ingress API version
---
deploy/k8s/helm/apigwms/templates/ingress.yaml | 3 +--
deploy/k8s/helm/apigwws/templates/ingress.yaml | 2 +-
deploy/k8s/helm/identity-api/templates/ingress-dockerk8s.yaml | 2 +-
deploy/k8s/helm/identity-api/templates/ingress.yaml | 2 +-
deploy/k8s/helm/webhooks-api/templates/ingress.yaml | 2 +-
deploy/k8s/helm/webhooks-web/templates/ingress.yaml | 2 +-
deploy/k8s/helm/webmvc/templates/ingress-dockerk8s.yaml | 2 +-
deploy/k8s/helm/webmvc/templates/ingress.yaml | 2 +-
deploy/k8s/helm/webspa/templates/ingress.yaml | 2 +-
deploy/k8s/helm/webstatus/templates/ingress.yaml | 2 +-
deploy/k8s/nginx-ingress/local-dockerk8s/mvc-fix.yaml | 4 ++--
11 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/deploy/k8s/helm/apigwms/templates/ingress.yaml b/deploy/k8s/helm/apigwms/templates/ingress.yaml
index bc0c6d05bd..2779f6cedb 100644
--- a/deploy/k8s/helm/apigwms/templates/ingress.yaml
+++ b/deploy/k8s/helm/apigwms/templates/ingress.yaml
@@ -1,8 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.mobileshoppingapigw -}}
-
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "apigwms.fullname" . }}
diff --git a/deploy/k8s/helm/apigwws/templates/ingress.yaml b/deploy/k8s/helm/apigwws/templates/ingress.yaml
index 945038081e..7e56bbb081 100644
--- a/deploy/k8s/helm/apigwws/templates/ingress.yaml
+++ b/deploy/k8s/helm/apigwws/templates/ingress.yaml
@@ -1,7 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.webshoppingapigw -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "apigwws.fullname" . }}
diff --git a/deploy/k8s/helm/identity-api/templates/ingress-dockerk8s.yaml b/deploy/k8s/helm/identity-api/templates/ingress-dockerk8s.yaml
index b6a8980f2c..04f97756e5 100644
--- a/deploy/k8s/helm/identity-api/templates/ingress-dockerk8s.yaml
+++ b/deploy/k8s/helm/identity-api/templates/ingress-dockerk8s.yaml
@@ -3,7 +3,7 @@
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.identity }}
{{- $name := include "identity-api.fullname" . -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ $name }}-local
diff --git a/deploy/k8s/helm/identity-api/templates/ingress.yaml b/deploy/k8s/helm/identity-api/templates/ingress.yaml
index 751636926b..53876c999b 100644
--- a/deploy/k8s/helm/identity-api/templates/ingress.yaml
+++ b/deploy/k8s/helm/identity-api/templates/ingress.yaml
@@ -1,7 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.identity }}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "identity-api.fullname" . }}
diff --git a/deploy/k8s/helm/webhooks-api/templates/ingress.yaml b/deploy/k8s/helm/webhooks-api/templates/ingress.yaml
index c7c096b771..3acb8a82ff 100644
--- a/deploy/k8s/helm/webhooks-api/templates/ingress.yaml
+++ b/deploy/k8s/helm/webhooks-api/templates/ingress.yaml
@@ -1,7 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.webhooks }}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "webhooks-api.fullname" . }}
diff --git a/deploy/k8s/helm/webhooks-web/templates/ingress.yaml b/deploy/k8s/helm/webhooks-web/templates/ingress.yaml
index 1e5df8c455..47d1853a1c 100644
--- a/deploy/k8s/helm/webhooks-web/templates/ingress.yaml
+++ b/deploy/k8s/helm/webhooks-web/templates/ingress.yaml
@@ -1,6 +1,6 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "webhooks-web.fullname" . }}
diff --git a/deploy/k8s/helm/webmvc/templates/ingress-dockerk8s.yaml b/deploy/k8s/helm/webmvc/templates/ingress-dockerk8s.yaml
index 72e043039b..79d87dbeab 100644
--- a/deploy/k8s/helm/webmvc/templates/ingress-dockerk8s.yaml
+++ b/deploy/k8s/helm/webmvc/templates/ingress-dockerk8s.yaml
@@ -3,7 +3,7 @@
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.mvc }}
{{- $name := include "webmvc.fullname" . -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ $name }}-local
diff --git a/deploy/k8s/helm/webmvc/templates/ingress.yaml b/deploy/k8s/helm/webmvc/templates/ingress.yaml
index 1899f5a183..2bc97738cb 100644
--- a/deploy/k8s/helm/webmvc/templates/ingress.yaml
+++ b/deploy/k8s/helm/webmvc/templates/ingress.yaml
@@ -1,7 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
{{- $serviceName := .Values.app.svc.mvc -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "webmvc.fullname" . }}
diff --git a/deploy/k8s/helm/webspa/templates/ingress.yaml b/deploy/k8s/helm/webspa/templates/ingress.yaml
index 2b9fdd703e..e260210698 100644
--- a/deploy/k8s/helm/webspa/templates/ingress.yaml
+++ b/deploy/k8s/helm/webspa/templates/ingress.yaml
@@ -1,6 +1,6 @@
{{- if .Values.ingress.enabled -}}
{{- $ingressPath := include "pathBase" . -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "webspa.fullname" . }}
diff --git a/deploy/k8s/helm/webstatus/templates/ingress.yaml b/deploy/k8s/helm/webstatus/templates/ingress.yaml
index 9902b86b50..960cfa15b1 100644
--- a/deploy/k8s/helm/webstatus/templates/ingress.yaml
+++ b/deploy/k8s/helm/webstatus/templates/ingress.yaml
@@ -1,7 +1,7 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "webstatus.fullname" . -}}
{{- $ingressPath := include "pathBase" . -}}
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "webstatus.fullname" . }}
diff --git a/deploy/k8s/nginx-ingress/local-dockerk8s/mvc-fix.yaml b/deploy/k8s/nginx-ingress/local-dockerk8s/mvc-fix.yaml
index b9ecd4cba8..84b6507964 100644
--- a/deploy/k8s/nginx-ingress/local-dockerk8s/mvc-fix.yaml
+++ b/deploy/k8s/nginx-ingress/local-dockerk8s/mvc-fix.yaml
@@ -1,4 +1,4 @@
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
@@ -18,7 +18,7 @@ spec:
servicePort: http
path: /webmvc
---
-apiVersion: extensions/v1beta1
+apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
From ef548da13217c721cb98c6577881ec45e43a6205 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Tue, 13 Apr 2021 15:43:42 +0530
Subject: [PATCH 07/76] Included tracing for WebMVC
---
deploy/k8s/helm/app.yaml | 2 ++
deploy/k8s/helm/deploy-all.ps1 | 12 ++++++++++++
deploy/k8s/helm/webmvc/templates/configmap.yaml | 2 ++
deploy/k8s/helm/webmvc/values.yaml | 4 ++++
deploy/k8s/nginx-ingress/mandatory.yaml | 8 ++++----
5 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/deploy/k8s/helm/app.yaml b/deploy/k8s/helm/app.yaml
index acea31ef1c..5b4117fa05 100644
--- a/deploy/k8s/helm/app.yaml
+++ b/deploy/k8s/helm/app.yaml
@@ -19,6 +19,7 @@ app: # app global settings
payment: payment-api # ingress entry for payment api
webhooks: webhooks-api # ingress entry for webhooks api
webhooksweb: webhooks-web # ingress entry for webhooks web demo client
+ zipkin: zipkin # ingress entry for the Zipkin tracing tool.
svc:
basket: basket-api # service name for basket api
catalog: catalog-api # service name for catalog api
@@ -36,3 +37,4 @@ app: # app global settings
payment: payment-api # service name for payment api
webhooks: webhooks-api # service name for webhooks api
webhooksweb: webhooks-client # service name for webhooks web
+ zipkin: zipkin # service name for Zipkin
diff --git a/deploy/k8s/helm/deploy-all.ps1 b/deploy/k8s/helm/deploy-all.ps1
index 213e60fb72..51222d9234 100644
--- a/deploy/k8s/helm/deploy-all.ps1
+++ b/deploy/k8s/helm/deploy-all.ps1
@@ -12,6 +12,7 @@ Param(
[parameter(Mandatory=$false)][string]$imageTag="latest",
[parameter(Mandatory=$false)][bool]$useLocalk8s=$false,
[parameter(Mandatory=$false)][bool]$useMesh=$false,
+ [parameter(Mandatory=$false)][bool]$enableTrace=$false,
[parameter(Mandatory=$false)][string][ValidateSet('Always','IfNotPresent','Never', IgnoreCase=$false)]$imagePullPolicy="Always",
[parameter(Mandatory=$false)][string][ValidateSet('prod','staging','none','custom', IgnoreCase=$false)]$sslSupport = "none",
[parameter(Mandatory=$false)][string]$tlsSecretName = "eshop-tls-custom",
@@ -119,6 +120,7 @@ if (-not [string]::IsNullOrEmpty($registry)) {
Write-Host "Begin eShopOnContainers installation using Helm" -ForegroundColor Green
$infras = ("sql-data", "nosql-data", "rabbitmq", "keystore-data", "basket-data")
+$traceTools = ("zipkin")
$charts = ("eshop-common", "basket-api","catalog-api", "identity-api", "mobileshoppingagg","ordering-api","ordering-backgroundtasks","ordering-signalrhub", "payment-api", "webmvc", "webshoppingagg", "webspa", "webstatus", "webhooks-api", "webhooks-web")
$gateways = ("apigwms", "apigwws")
@@ -132,6 +134,16 @@ else {
Write-Host "eShopOnContainers infrastructure (bbdd, redis, ...) charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
}
+if ($enableTrace) {
+ Write-Host "Enabling traces : $traceTools" -ForegroundColor Green
+ #helm install "$appName-$traceTools" --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" $traceTools
+ Install-Chart $traceTools "-f app.yaml --values inf.yaml -f $ingressValuesFile -f $ingressMeshAnnotationsFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=latest --set image.pullPolicy=$imagePullPolicy --set inf.tls.enabled=$sslEnabled --set inf.mesh.enabled=$false --set inf.k8s.local=$useLocalk8s" $false
+
+}
+else {
+ Write-Host "OpenTelemetry Trace is not enabled. Charts isn't installed (-enableTrace is false)" -ForegroundColor Yellow
+}
+
if ($deployCharts) {
foreach ($chart in $charts) {
if ($chartsToDeploy -eq "*" -or $chartsToDeploy.Contains($chart)) {
diff --git a/deploy/k8s/helm/webmvc/templates/configmap.yaml b/deploy/k8s/helm/webmvc/templates/configmap.yaml
index 2062bdabc2..fd9c48911a 100644
--- a/deploy/k8s/helm/webmvc/templates/configmap.yaml
+++ b/deploy/k8s/helm/webmvc/templates/configmap.yaml
@@ -3,6 +3,7 @@
{{- $webshoppingapigw := include "url-of" (list .Values.app.ingress.entries.webshoppingapigw .) -}}
{{- $mvc := include "url-of" (list .Values.app.ingress.entries.mvc .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -22,3 +23,4 @@ data:
urls__apigwws: {{ $protocol }}://{{ $webshoppingapigw }}
urls__mvc: {{ $protocol }}://{{ $mvc }}
urls__IdentityUrl: {{ $protocol }}://{{ $identity }}
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
diff --git a/deploy/k8s/helm/webmvc/values.yaml b/deploy/k8s/helm/webmvc/values.yaml
index 1f40dbb039..ef98b9ba17 100644
--- a/deploy/k8s/helm/webmvc/values.yaml
+++ b/deploy/k8s/helm/webmvc/values.yaml
@@ -46,6 +46,8 @@ env:
key: internalurls__identity__hc
- name: SignalrHubUrl
key: urls__apigwws
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -54,4 +56,6 @@ env:
value: 'K8S'
- name: IsClusterEnv
value: 'True'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
diff --git a/deploy/k8s/nginx-ingress/mandatory.yaml b/deploy/k8s/nginx-ingress/mandatory.yaml
index 2e63edd59a..8fd74f6819 100644
--- a/deploy/k8s/nginx-ingress/mandatory.yaml
+++ b/deploy/k8s/nginx-ingress/mandatory.yaml
@@ -26,7 +26,7 @@ metadata:
app.kubernetes.io/part-of: ingress-nginx
---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nginx-ingress-clusterrole
@@ -82,7 +82,7 @@ rules:
- update
---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: nginx-ingress-role
@@ -127,7 +127,7 @@ rules:
- get
---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: nginx-ingress-role-nisa-binding
@@ -145,7 +145,7 @@ subjects:
namespace: ingress-nginx
---
-apiVersion: rbac.authorization.k8s.io/v1beta1
+apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: nginx-ingress-clusterrole-nisa-binding
From d0cd2830a864a8b975341b02b93a0887a3908c04 Mon Sep 17 00:00:00 2001
From: Rich Lander
Date: Tue, 13 Apr 2021 06:15:38 -0700
Subject: [PATCH 08/76] Update sdk tag (#1647)
---
src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile | 2 +-
.../Mobile.Bff.Shopping/aggregator/Dockerfile.develop | 2 +-
src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile | 2 +-
src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop | 2 +-
src/Services/Basket/Basket.API/Dockerfile | 2 +-
src/Services/Basket/Basket.API/Dockerfile.develop | 2 +-
src/Services/Catalog/Catalog.API/Dockerfile | 2 +-
src/Services/Catalog/Catalog.API/Dockerfile.develop | 2 +-
src/Services/Identity/Identity.API/Dockerfile | 2 +-
src/Services/Identity/Identity.API/Dockerfile.develop | 2 +-
src/Services/Ordering/Ordering.API/Dockerfile | 2 +-
src/Services/Ordering/Ordering.API/Dockerfile.develop | 2 +-
src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile | 2 +-
src/Services/Ordering/Ordering.SignalrHub/Dockerfile | 2 +-
src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop | 2 +-
src/Services/Payment/Payment.API/Dockerfile | 2 +-
src/Services/Payment/Payment.API/Dockerfile.develop | 2 +-
src/Services/Webhooks/Webhooks.API/Dockerfile | 2 +-
src/Services/Webhooks/Webhooks.API/Dockerfile.develop | 2 +-
src/Web/WebMVC/Dockerfile | 2 +-
src/Web/WebMVC/Dockerfile.develop | 2 +-
src/Web/WebSPA/Dockerfile | 2 +-
src/Web/WebStatus/Dockerfile | 2 +-
src/Web/WebhookClient/Dockerfile | 2 +-
24 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
index ee03709100..d64cd2f77d 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop
index b2a61dc7dd..c4988428db 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
index 5736c19f72..6a7eb023bc 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop
index 462afbcd99..5fbbdbffbf 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Basket/Basket.API/Dockerfile b/src/Services/Basket/Basket.API/Dockerfile
index de2718ad40..7ba77d1563 100644
--- a/src/Services/Basket/Basket.API/Dockerfile
+++ b/src/Services/Basket/Basket.API/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Basket/Basket.API/Dockerfile.develop b/src/Services/Basket/Basket.API/Dockerfile.develop
index 4ad6331752..3e9aed06ba 100644
--- a/src/Services/Basket/Basket.API/Dockerfile.develop
+++ b/src/Services/Basket/Basket.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Catalog/Catalog.API/Dockerfile b/src/Services/Catalog/Catalog.API/Dockerfile
index ec10cac79a..74dd100a58 100644
--- a/src/Services/Catalog/Catalog.API/Dockerfile
+++ b/src/Services/Catalog/Catalog.API/Dockerfile
@@ -3,7 +3,7 @@ WORKDIR /app
EXPOSE 80
EXPOSE 443
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Catalog/Catalog.API/Dockerfile.develop b/src/Services/Catalog/Catalog.API/Dockerfile.develop
index 3df91b3df7..12a4cdae40 100644
--- a/src/Services/Catalog/Catalog.API/Dockerfile.develop
+++ b/src/Services/Catalog/Catalog.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile
index 3608476bcd..039aba031c 100644
--- a/src/Services/Identity/Identity.API/Dockerfile
+++ b/src/Services/Identity/Identity.API/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Identity/Identity.API/Dockerfile.develop b/src/Services/Identity/Identity.API/Dockerfile.develop
index 0d50b0388c..11c5c6536f 100644
--- a/src/Services/Identity/Identity.API/Dockerfile.develop
+++ b/src/Services/Identity/Identity.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile
index 7659da4de1..54d63a41ce 100644
--- a/src/Services/Ordering/Ordering.API/Dockerfile
+++ b/src/Services/Ordering/Ordering.API/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Ordering/Ordering.API/Dockerfile.develop b/src/Services/Ordering/Ordering.API/Dockerfile.develop
index 5f7200c84a..9bf101ad15 100644
--- a/src/Services/Ordering/Ordering.API/Dockerfile.develop
+++ b/src/Services/Ordering/Ordering.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
index ea95935ab6..05b83d441b 100644
--- a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
+++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
index bb80617ff5..ce132b71a5 100644
--- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
+++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop
index efe636e639..9acf557ac1 100644
--- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop
+++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Payment/Payment.API/Dockerfile b/src/Services/Payment/Payment.API/Dockerfile
index d56f3d7c39..fba668f096 100644
--- a/src/Services/Payment/Payment.API/Dockerfile
+++ b/src/Services/Payment/Payment.API/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Payment/Payment.API/Dockerfile.develop b/src/Services/Payment/Payment.API/Dockerfile.develop
index bb6e353d2c..3717c132e8 100644
--- a/src/Services/Payment/Payment.API/Dockerfile.develop
+++ b/src/Services/Payment/Payment.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile b/src/Services/Webhooks/Webhooks.API/Dockerfile
index 263de13d6c..67e1c5375a 100644
--- a/src/Services/Webhooks/Webhooks.API/Dockerfile
+++ b/src/Services/Webhooks/Webhooks.API/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile.develop b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop
index eda18ae91f..c1e4b880e9 100644
--- a/src/Services/Webhooks/Webhooks.API/Dockerfile.develop
+++ b/src/Services/Webhooks/Webhooks.API/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile
index bab4109b5b..a99a72c6ff 100644
--- a/src/Web/WebMVC/Dockerfile
+++ b/src/Web/WebMVC/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Web/WebMVC/Dockerfile.develop b/src/Web/WebMVC/Dockerfile.develop
index c22717a35d..2a6115246b 100644
--- a/src/Web/WebMVC/Dockerfile.develop
+++ b/src/Web/WebMVC/Dockerfile.develop
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim
+FROM mcr.microsoft.com/dotnet/sdk:5.0
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile
index 0dcac84338..800caa2ac2 100644
--- a/src/Web/WebSPA/Dockerfile
+++ b/src/Web/WebSPA/Dockerfile
@@ -10,7 +10,7 @@ COPY Web/WebSPA/package-lock.json .
COPY Web/WebSPA .
RUN npm i npm@6.14.11 -g && npm update && npm install && npm run build:prod
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Web/WebStatus/Dockerfile b/src/Web/WebStatus/Dockerfile
index 7c1f74e7e5..4388374237 100644
--- a/src/Web/WebStatus/Dockerfile
+++ b/src/Web/WebStatus/Dockerfile
@@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
diff --git a/src/Web/WebhookClient/Dockerfile b/src/Web/WebhookClient/Dockerfile
index 31c4c76ebc..150049bd92 100644
--- a/src/Web/WebhookClient/Dockerfile
+++ b/src/Web/WebhookClient/Dockerfile
@@ -3,7 +3,7 @@ WORKDIR /app
EXPOSE 80
EXPOSE 443
-FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# It's important to keep lines from here down to "COPY . ." identical in all Dockerfiles
From acb304c06aab04220df0a9509c4a0133d716e2d2 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Wed, 14 Apr 2021 09:25:18 -0500
Subject: [PATCH 09/76] Adding deploy workflows and script
---
.github/workflows/basket-api-deploy.yml | 50 +++++
.github/workflows/catalog-api-deploy.yml | 50 +++++
.github/workflows/identity-api-deploy.yml | 50 +++++
.../workflows/mobileshoppingagg-deploy.yml | 50 +++++
.github/workflows/ordering-api-deploy.yml | 50 +++++
.../ordering-backgroundtasks-deploy.yml | 50 +++++
.../workflows/ordering-signalrhub-deploy.yml | 50 +++++
.github/workflows/payment-api-deploy.yml | 50 +++++
.github/workflows/webhooks-api-deploy.yml | 50 +++++
.github/workflows/webmvc-deploy.yml | 50 +++++
.github/workflows/webshoppingagg-deploy.yml | 50 +++++
.github/workflows/webspa-deploy.yml | 50 +++++
.github/workflows/webstatus-deploy.yml | 50 +++++
deploy/k8s/helm/deploy-chart.sh | 199 ++++++++++++++++++
14 files changed, 849 insertions(+)
create mode 100644 .github/workflows/basket-api-deploy.yml
create mode 100644 .github/workflows/catalog-api-deploy.yml
create mode 100644 .github/workflows/identity-api-deploy.yml
create mode 100644 .github/workflows/mobileshoppingagg-deploy.yml
create mode 100644 .github/workflows/ordering-api-deploy.yml
create mode 100644 .github/workflows/ordering-backgroundtasks-deploy.yml
create mode 100644 .github/workflows/ordering-signalrhub-deploy.yml
create mode 100644 .github/workflows/payment-api-deploy.yml
create mode 100644 .github/workflows/webhooks-api-deploy.yml
create mode 100644 .github/workflows/webmvc-deploy.yml
create mode 100644 .github/workflows/webshoppingagg-deploy.yml
create mode 100644 .github/workflows/webspa-deploy.yml
create mode 100644 .github/workflows/webstatus-deploy.yml
create mode 100644 deploy/k8s/helm/deploy-chart.sh
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
new file mode 100644
index 0000000000..daf47fc999
--- /dev/null
+++ b/.github/workflows/basket-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy basket-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["basket-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: basket-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
new file mode 100644
index 0000000000..4bc3a9fbb9
--- /dev/null
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy catalog-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["catalog-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: catalog-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
new file mode 100644
index 0000000000..4399957ec7
--- /dev/null
+++ b/.github/workflows/identity-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy identity-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["identity-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: identity-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
new file mode 100644
index 0000000000..cd93dabd4b
--- /dev/null
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy mobileshoppingagg
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["mobileshoppingagg"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: mobileshoppingagg
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
new file mode 100644
index 0000000000..9a8b8dbd5a
--- /dev/null
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy ordering-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["ordering-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: ordering-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
new file mode 100644
index 0000000000..d384f6077e
--- /dev/null
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy ordering-backgroundtasks
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["ordering-backgroundtasks"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: ordering-backgroundtasks
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
new file mode 100644
index 0000000000..2ca62d9795
--- /dev/null
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy ordering-signalrhub
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["ordering-signalrhub"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: ordering-signalrhub
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
new file mode 100644
index 0000000000..e19a0ee956
--- /dev/null
+++ b/.github/workflows/payment-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy payment-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["payment-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: payment-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
new file mode 100644
index 0000000000..1e72de3500
--- /dev/null
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy webhooks-api
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["webhooks-api"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: webhooks-api
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
new file mode 100644
index 0000000000..782d97bc25
--- /dev/null
+++ b/.github/workflows/webmvc-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy webmvc
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["webmvc"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: webmvc
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
new file mode 100644
index 0000000000..293554b294
--- /dev/null
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy webshoppingagg
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["webshoppingagg"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: webshoppingagg
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
new file mode 100644
index 0000000000..e613a24c2b
--- /dev/null
+++ b/.github/workflows/webspa-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy webspa
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["webspa"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: webspa
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
new file mode 100644
index 0000000000..fb05495b42
--- /dev/null
+++ b/.github/workflows/webstatus-deploy.yml
@@ -0,0 +1,50 @@
+name: Deploy webstatus
+
+on:
+ workflow_dispatch:
+ repository_dispatch:
+ types:
+ - deploy
+ workflow_run:
+ workflows: ["webstatus"]
+ branches: [dev]
+ types: [completed]
+
+env:
+ chart: webstatus
+ namespace: eshop
+ app-name: eshop
+ chart-root: deploy/k8s/helm
+
+jobs:
+ DeployToK8s:
+ if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - uses: azure/login@v1
+ with:
+ creds: ${{ secrets.AZURE_CREDENTIALS }}
+
+ - uses: azure/aks-set-context@v1
+ name: Set AKS context
+ with:
+ creds: '${{ secrets.AZURE_CREDENTIALS }}'
+ cluster-name: ${{ secrets.CLUSTER_NAME }}
+ resource-group: ${{ secrets.RESOURCE_GROUP }}
+
+ - name: Set branch name as env variable
+ run: |
+ currentbranch=$(echo ${GITHUB_REF##*/})
+ echo "running on $currentbranch"
+ echo "BRANCH=$currentbranch" >> $GITHUB_ENV
+ shell: bash
+
+ - name: Deploy chart
+ run: |
+ ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ env:
+ TAG: ${{ env.BRANCH }}
+ working-directory: ${{ env.chart-root }}
\ No newline at end of file
diff --git a/deploy/k8s/helm/deploy-chart.sh b/deploy/k8s/helm/deploy-chart.sh
new file mode 100644
index 0000000000..4196d5cfea
--- /dev/null
+++ b/deploy/k8s/helm/deploy-chart.sh
@@ -0,0 +1,199 @@
+#!/usr/bin/env bash
+
+# http://redsymbol.net/articles/unofficial-bash-strict-mode
+set -euo pipefail
+
+usage()
+{
+ cat <
+ The name of the AKS cluster. Required when the registry (using the -r parameter) is set to "aks".
+ --aks-rg
+ The resource group for the AKS cluster. Required when the registry (using the -r parameter) is set to "aks".
+ -c | --chart
+ The name of the chart to upgrade (or install)
+ -d | --dns | --dns aks
+ Specifies the external DNS/ IP address of the Kubernetes cluster.
+ If 'aks' is set as value, the DNS value is retrieved from the AKS. --aks-name and --aks-rg are needed.
+ When --use-local-k8s is specified the external DNS is automatically set to localhost.
+ -h | --help
+ Displays this help text and exits the script.
+ -n | --app-name
+ Specifies the name of the application (default: eshop).
+ --namespace
+ Specifies the namespace name to deploy the app. If it doesn't exists it will be created (default: eshop).
+ -p | --docker-password
+ The Docker password used to logon to the custom registry, supplied using the -r parameter.
+ -r | --registry
+ Specifies the container registry to use (required), e.g. myregistry.azurecr.io.
+ --skip-clean
+ Do not clean the Kubernetes helm chart. Default is to clean the chart.
+ -t | --tag
+ The tag used for the newly created docker images. Default: latest.
+ -u | --docker-username
+ The Docker username used to logon to the custom registry, supplied using the -r parameter.
+ --use-local-k8s
+ Deploy to a locally installed Kubernetes (default: false).
+
+It is assumed that the Kubernetes cluster has been granted access to the container registry.
+If using AKS and ACR see link for more info:
+https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks
+
+WARNING! THE SCRIPT WILL COMPLETELY DESTROY ALL DEPLOYMENTS AND SERVICES VISIBLE
+FROM THE CURRENT CONFIGURATION CONTEXT AND NAMESPACE.
+It is recommended that you check your selected namespace, 'eshop' by default, is already in use.
+Every deployment and service done in the namespace will be deleted.
+For more information see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
+
+END
+}
+
+acr_connected=''
+app_name='eshop'
+aks_name=''
+aks_rg=''
+chart=''
+clean='yes'
+container_registry=''
+docker_password=''
+docker_username=''
+dns=''
+image_tag='latest'
+skip_infrastructure=''
+use_local_k8s=''
+namespace='eshop'
+
+while [[ $# -gt 0 ]]; do
+ case "$1" in
+ --acr-connected )
+ acr_connected='yes'; shift ;;
+ --aks-name )
+ aks_name="$2"; shift 2;;
+ --aks-rg )
+ aks_rg="$2"; shift 2;;
+ -c | --chart )
+ chart="$2"; shift 2;;
+ -d | --dns )
+ dns="$2"; shift 2;;
+ -h | --help )
+ usage; exit 1 ;;
+ -n | --app-name )
+ app_name="$2"; shift 2;;
+ -p | --docker-password )
+ docker_password="$2"; shift 2;;
+ -r | --registry )
+ container_registry="$2"; shift 2;;
+ --skip-clean )
+ clean=''; shift ;;
+ --image-build )
+ build_images='yes'; shift ;;
+ --image-push )
+ push_images='yes'; shift ;;
+ --skip-infrastructure )
+ skip_infrastructure='yes'; shift ;;
+ -t | --tag )
+ image_tag="$2"; shift 2;;
+ -u | --docker-username )
+ docker_username="$2"; shift 2;;
+ --use-local-k8s )
+ use_local_k8s='yes'; shift ;;
+ --namespace )
+ namespace="$2"; shift 2;;
+ *)
+ echo "Unknown option $1"
+ usage; exit 2 ;;
+ esac
+done
+
+export TAG=$image_tag
+
+use_custom_registry=''
+
+if [[ -n $container_registry ]] && [[ -z $acr_connected ]]; then
+ echo "################ Log into custom registry $container_registry ##################"
+ use_custom_registry='yes'
+ if [[ -z $docker_username ]] || [[ -z $docker_password ]]; then
+ echo "Error: Must use -u (--docker-username) AND -p (--docker-password) if specifying custom registry"
+ exit 1
+ fi
+ docker login -u $docker_username -p $docker_password $container_registry
+fi
+
+ingress_values_file="ingress_values.yaml"
+
+if [[ $use_local_k8s ]]; then
+ ingress_values_file="ingress_values_dockerk8s.yaml"
+ dns="localhost"
+fi
+
+if [[ $dns == "aks" ]]; then
+ echo "#################### Begin AKS discovery based on the --dns aks setting. ####################"
+ if [[ -z $aks_name ]] || [[ -z $aks_rg ]]; then
+ echo "Error: When using -dns aks, MUST set -aksName and -aksRg too."
+ echo ''
+ usage
+ exit 1
+ fi
+
+ echo "Getting AKS cluster $aks_name AKS (in resource group $aks_rg)"
+ # JMESPath queries are case sensitive and httpapplicationrouting can be lowercase sometimes
+ jmespath_dnsqueries=(\
+ addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName \
+ addonProfiles.httpapplicationrouting.config.HTTPApplicationRoutingZoneName \
+ )
+ for q in "${jmespath_dnsqueries[@]}"
+ do
+ dns="$(az aks show -n $aks_name -g $aks_rg --query $q -o tsv)"
+ if [[ -n $dns ]]; then break; fi
+ done
+ if [[ -z $dns ]]; then
+ echo "Error: when getting DNS of AKS $aks_name (in resource group $aks_rg). Please ensure AKS has httpRouting enabled AND Azure CLI is logged in and is of version 2.0.37 or higher."
+ exit 1
+ fi
+ echo "DNS base found is $dns. Will use $aks_name.$dns for the app!"
+ dns="$aks_name.$dns"
+fi
+
+# Initialization & check commands
+if [[ -z $dns ]]; then
+ echo "No DNS specified. Ingress resources will be bound to public IP."
+fi
+
+previous_install=''
+if [[ -z $(helm ls -q --namespace $namespace | grep "$app_name-$chart") ]]; then
+ echo "No previous release found"
+else
+ previous_install='yes'
+fi
+
+if [[ $clean ]] && [[ $previous_install ]]; then
+ echo "Cleaning previous helm releases..."
+ helm uninstall "$app_name-$chart" --namespace $namespace
+ echo "Previous release deleted"
+ waitsecs=5; while [ $waitsecs -gt 0 ]; do echo -ne "$waitsecs\033[0K\r"; sleep 1; : $((waitsecs--)); done
+ previous_install=''
+fi
+
+echo "#################### Begin $app_name $chart installation using Helm ####################"
+if [[ $use_custom_registry ]] || [[ $acr_connected ]]; then
+ if [[ -z $acr_connected ]]; then
+ if [[ -z $previous_install ]]; then
+ helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --set inf.registry.login=$docker_username --set inf.registry.pwd=$docker_password --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart
+ else
+ helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart
+ fi
+ elif [[ $chart != "eshop-common" ]]; then
+ # ACR is already connected, so we don't need username/password
+ if [[ -z $previous_install ]]; then
+ helm install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --set inf.registry.server=$container_registry --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart
+ else
+ # don't set the image repo since it's already set
+ helm upgrade "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart
+ fi
+ fi
+elif [[ $chart != "eshop-common" ]]; then # eshop-common is ignored when no secret must be deployed
+ helm upgrade --install "$app_name-$chart" --namespace $namespace --set "ingress.hosts={$dns}" --values app.yaml --values inf.yaml --values $ingress_values_file --set app.name=$app_name --set inf.k8s.dns=$dns --set image.tag=$image_tag --set image.pullPolicy=Always $chart
+fi
+echo "FINISHED: Helm chart installed."
\ No newline at end of file
From 996da7718aa589c7a4278a4bab8ab7f2acd69998 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:33:56 -0500
Subject: [PATCH 10/76] Update checkout from @v1 to @v2
---
.github/workflows/basket-api-deploy.yml | 2 +-
.github/workflows/catalog-api-deploy.yml | 2 +-
.github/workflows/identity-api-deploy.yml | 2 +-
.github/workflows/mobileshoppingagg-deploy.yml | 2 +-
.github/workflows/ordering-api-deploy.yml | 2 +-
.github/workflows/ordering-backgroundtasks-deploy.yml | 2 +-
.github/workflows/ordering-signalrhub-deploy.yml | 2 +-
.github/workflows/payment-api-deploy.yml | 2 +-
.github/workflows/webhooks-api-deploy.yml | 2 +-
.github/workflows/webmvc-deploy.yml | 2 +-
.github/workflows/webshoppingagg-deploy.yml | 2 +-
.github/workflows/webspa-deploy.yml | 2 +-
.github/workflows/webstatus-deploy.yml | 2 +-
13 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index daf47fc999..91e8a67d12 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index 4bc3a9fbb9..e603a62850 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index 4399957ec7..30baa6e524 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index cd93dabd4b..4311a389dd 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 9a8b8dbd5a..14e9a2d0d5 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index d384f6077e..701b7e5cd4 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 2ca62d9795..25b03af041 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index e19a0ee956..c543e7299e 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index 1e72de3500..96bed6381a 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index 782d97bc25..ab2bddb795 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 293554b294..17e94de1ad 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index e613a24c2b..9796196959 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index fb05495b42..bea0fa440a 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- uses: azure/login@v1
with:
From 8414627340965ca7c30523b82d34701ededfbd57 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:36:37 -0500
Subject: [PATCH 11/76] Update chart-root to CHART_ROOT
---
.github/workflows/basket-api-deploy.yml | 4 ++--
.github/workflows/catalog-api-deploy.yml | 4 ++--
.github/workflows/identity-api-deploy.yml | 4 ++--
.github/workflows/mobileshoppingagg-deploy.yml | 4 ++--
.github/workflows/ordering-api-deploy.yml | 4 ++--
.github/workflows/ordering-backgroundtasks-deploy.yml | 4 ++--
.github/workflows/ordering-signalrhub-deploy.yml | 4 ++--
.github/workflows/payment-api-deploy.yml | 4 ++--
.github/workflows/webhooks-api-deploy.yml | 4 ++--
.github/workflows/webmvc-deploy.yml | 4 ++--
.github/workflows/webshoppingagg-deploy.yml | 4 ++--
.github/workflows/webspa-deploy.yml | 4 ++--
.github/workflows/webstatus-deploy.yml | 4 ++--
13 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 91e8a67d12..9e21784808 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: basket-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index e603a62850..d50ddf6af8 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: catalog-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index 30baa6e524..15862044c0 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: identity-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index 4311a389dd..c9419eb588 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: mobileshoppingagg
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 14e9a2d0d5..15304b8010 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: ordering-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index 701b7e5cd4..d9311bd293 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: ordering-backgroundtasks
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 25b03af041..1d908b1be9 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: ordering-signalrhub
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index c543e7299e..f9f0609de0 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: payment-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index 96bed6381a..f72ff77831 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: webhooks-api
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index ab2bddb795..613147e53d 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: webmvc
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 17e94de1ad..856b648696 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: webshoppingagg
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 9796196959..c449e3984a 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: webspa
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index bea0fa440a..03b9b92460 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -14,7 +14,7 @@ env:
chart: webstatus
namespace: eshop
app-name: eshop
- chart-root: deploy/k8s/helm
+ CHART_ROOT: deploy/k8s/helm
jobs:
DeployToK8s:
@@ -47,4 +47,4 @@ jobs:
./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
- working-directory: ${{ env.chart-root }}
\ No newline at end of file
+ working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From ede057c6e79ad16de9904f0b960badd518a2c2fe Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:37:30 -0500
Subject: [PATCH 12/76] Update chart to CHART
---
.github/workflows/basket-api-deploy.yml | 6 +++---
.github/workflows/catalog-api-deploy.yml | 6 +++---
.github/workflows/identity-api-deploy.yml | 6 +++---
.github/workflows/mobileshoppingagg-deploy.yml | 6 +++---
.github/workflows/ordering-api-deploy.yml | 6 +++---
.github/workflows/ordering-backgroundtasks-deploy.yml | 6 +++---
.github/workflows/ordering-signalrhub-deploy.yml | 6 +++---
.github/workflows/payment-api-deploy.yml | 6 +++---
.github/workflows/webhooks-api-deploy.yml | 6 +++---
.github/workflows/webmvc-deploy.yml | 6 +++---
.github/workflows/webshoppingagg-deploy.yml | 6 +++---
.github/workflows/webspa-deploy.yml | 6 +++---
.github/workflows/webstatus-deploy.yml | 6 +++---
13 files changed, 39 insertions(+), 39 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 9e21784808..8a5bf48038 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: basket-api
+ CHART: basket-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index d50ddf6af8..c0538b3a05 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: catalog-api
+ CHART: catalog-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index 15862044c0..8d5f4a24bc 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: identity-api
+ CHART: identity-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index c9419eb588..d283e7c22e 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: mobileshoppingagg
+ CHART: mobileshoppingagg
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 15304b8010..b2d9337872 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: ordering-api
+ CHART: ordering-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index d9311bd293..b276f5b6c2 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: ordering-backgroundtasks
+ CHART: ordering-backgroundtasks
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 1d908b1be9..770ea348fa 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: ordering-signalrhub
+ CHART: ordering-signalrhub
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index f9f0609de0..a57bc7ec18 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: payment-api
+ CHART: payment-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index f72ff77831..7b5cea4831 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: webhooks-api
+ CHART: webhooks-api
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index 613147e53d..e61c8dc7a1 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: webmvc
+ CHART: webmvc
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 856b648696..60df219a31 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: webshoppingagg
+ CHART: webshoppingagg
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index c449e3984a..3679e8f321 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: webspa
+ CHART: webspa
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index 03b9b92460..fc05b77974 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -11,7 +11,7 @@ on:
types: [completed]
env:
- chart: webstatus
+ CHART: webstatus
namespace: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -42,9 +42,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy chart
+ - name: Deploy CHART
run: |
- ./deploy-chart.sh -c ${{ env.chart }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From 7343ceb4c25d6f77c4532fe9a608a5d97bf1bdf9 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:39:39 -0500
Subject: [PATCH 13/76] Update namespace to NAMESPACE
---
.github/workflows/basket-api-deploy.yml | 4 ++--
.github/workflows/catalog-api-deploy.yml | 4 ++--
.github/workflows/identity-api-deploy.yml | 4 ++--
.github/workflows/mobileshoppingagg-deploy.yml | 4 ++--
.github/workflows/ordering-api-deploy.yml | 4 ++--
.github/workflows/ordering-backgroundtasks-deploy.yml | 4 ++--
.github/workflows/ordering-signalrhub-deploy.yml | 4 ++--
.github/workflows/payment-api-deploy.yml | 4 ++--
.github/workflows/webhooks-api-deploy.yml | 4 ++--
.github/workflows/webmvc-deploy.yml | 4 ++--
.github/workflows/webshoppingagg-deploy.yml | 4 ++--
.github/workflows/webspa-deploy.yml | 4 ++--
.github/workflows/webstatus-deploy.yml | 4 ++--
13 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 8a5bf48038..43b9b95c5d 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: basket-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index c0538b3a05..ae49c6a858 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: catalog-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index 8d5f4a24bc..bcdc9df418 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: identity-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index d283e7c22e..cb38de3292 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: mobileshoppingagg
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index b2d9337872..0a3ac5bdcc 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: ordering-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index b276f5b6c2..9f01f4e252 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: ordering-backgroundtasks
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 770ea348fa..6f2642f2ff 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: ordering-signalrhub
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index a57bc7ec18..9f5ad1749a 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: payment-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index 7b5cea4831..adb3ee1227 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: webhooks-api
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index e61c8dc7a1..97b5fdf53b 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: webmvc
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 60df219a31..bc946aa7b1 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: webshoppingagg
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 3679e8f321..598f55b63e 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: webspa
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index fc05b77974..51d93c4926 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -12,7 +12,7 @@ on:
env:
CHART: webstatus
- namespace: eshop
+ NAMESPACE: eshop
app-name: eshop
CHART_ROOT: deploy/k8s/helm
@@ -44,7 +44,7 @@ jobs:
- name: Deploy CHART
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.namespace }} --acr-connected
+ ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From c152b030ba103b0e3243141dd862f996d8cb00e7 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:46:11 -0500
Subject: [PATCH 14/76] Remove app-name
---
.github/workflows/basket-api-deploy.yml | 1 -
.github/workflows/catalog-api-deploy.yml | 1 -
.github/workflows/identity-api-deploy.yml | 1 -
.github/workflows/mobileshoppingagg-deploy.yml | 1 -
.github/workflows/ordering-api-deploy.yml | 1 -
.github/workflows/ordering-backgroundtasks-deploy.yml | 1 -
.github/workflows/ordering-signalrhub-deploy.yml | 1 -
.github/workflows/payment-api-deploy.yml | 1 -
.github/workflows/webhooks-api-deploy.yml | 1 -
.github/workflows/webmvc-deploy.yml | 1 -
.github/workflows/webshoppingagg-deploy.yml | 1 -
.github/workflows/webspa-deploy.yml | 1 -
.github/workflows/webstatus-deploy.yml | 1 -
13 files changed, 13 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 43b9b95c5d..42b881c72c 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: basket-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index ae49c6a858..2afb8f978d 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: catalog-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index bcdc9df418..b52350ff44 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: identity-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index cb38de3292..fe431a7680 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: mobileshoppingagg
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 0a3ac5bdcc..710834d428 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: ordering-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index 9f01f4e252..3b267fcf52 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: ordering-backgroundtasks
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 6f2642f2ff..76809d1adf 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: ordering-signalrhub
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index 9f5ad1749a..348f1f6cde 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: payment-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index adb3ee1227..89084f8b29 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: webhooks-api
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index 97b5fdf53b..dbd892473e 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: webmvc
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index bc946aa7b1..1fa5b8945b 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: webshoppingagg
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 598f55b63e..84749ae7a2 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: webspa
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index 51d93c4926..3d0f176389 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -13,7 +13,6 @@ on:
env:
CHART: webstatus
NAMESPACE: eshop
- app-name: eshop
CHART_ROOT: deploy/k8s/helm
jobs:
From 391de9fc9ebc2cfb61adb03b686fbdd1982294d9 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 08:48:00 -0500
Subject: [PATCH 15/76] Update DeployToK8s to deploy-to-k8s
---
.github/workflows/basket-api-deploy.yml | 2 +-
.github/workflows/catalog-api-deploy.yml | 2 +-
.github/workflows/identity-api-deploy.yml | 2 +-
.github/workflows/mobileshoppingagg-deploy.yml | 2 +-
.github/workflows/ordering-api-deploy.yml | 2 +-
.github/workflows/ordering-backgroundtasks-deploy.yml | 2 +-
.github/workflows/ordering-signalrhub-deploy.yml | 2 +-
.github/workflows/payment-api-deploy.yml | 2 +-
.github/workflows/webhooks-api-deploy.yml | 2 +-
.github/workflows/webmvc-deploy.yml | 2 +-
.github/workflows/webshoppingagg-deploy.yml | 2 +-
.github/workflows/webspa-deploy.yml | 2 +-
.github/workflows/webstatus-deploy.yml | 2 +-
13 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 42b881c72c..9d913e286e 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index 2afb8f978d..b5fff26acd 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index b52350ff44..796c71629e 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index fe431a7680..fb02a718ec 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 710834d428..9c23e4aa7d 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index 3b267fcf52..2755e87438 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 76809d1adf..3cbacf6415 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index 348f1f6cde..f7fb930a9a 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index 89084f8b29..0f9d216ecd 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index dbd892473e..1840817f3c 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 1fa5b8945b..01e8c91bc3 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 84749ae7a2..03b47d12da 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index 3d0f176389..d0cdccf16a 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -16,7 +16,7 @@ env:
CHART_ROOT: deploy/k8s/helm
jobs:
- DeployToK8s:
+ deploy-to-k8s:
if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
From 9affd629beb94afd73f1775740feea2370ac451f Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:11:49 -0500
Subject: [PATCH 16/76] Adding unit tests
---
.github/workflows/basket-api.yml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 9d26853824..ac75fb723d 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -21,6 +21,7 @@ on:
env:
SERVICE: basket-api
IMAGE: basket.api
+ DOTNET_VERSION: 5.0.x
jobs:
@@ -45,6 +46,20 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd /src/Services/Catalog/Catalog.API
+ dotnet build --no-restore
+ cd -
+ cd src/Services/Catalog/Catalog.UnitTests
+ dotnet test
- name: Enable experimental features for the Docker daemon and CLI
run: |
From d261523c0596bc56298471c694094ac29030685c Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:13:31 -0500
Subject: [PATCH 17/76] Revert
---
.github/workflows/basket-api.yml | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index ac75fb723d..01c587a99d 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -21,7 +21,6 @@ on:
env:
SERVICE: basket-api
IMAGE: basket.api
- DOTNET_VERSION: 5.0.x
jobs:
@@ -47,20 +46,6 @@ jobs:
- name: 'Checkout Github Action'
uses: actions/checkout@master
- - name: Setup dotnet
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: ${{ env.DOTNET_VERSION }}
-
- - name: Build and run unit tests
- run: |
- dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
- cd /src/Services/Catalog/Catalog.API
- dotnet build --no-restore
- cd -
- cd src/Services/Catalog/Catalog.UnitTests
- dotnet test
-
- name: Enable experimental features for the Docker daemon and CLI
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
From e858b1af512a5de7344c34b591ef12c2f96d5495 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:14:41 -0500
Subject: [PATCH 18/76] Full revert
---
.github/workflows/basket-api.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 01c587a99d..9d26853824 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -45,7 +45,7 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
-
+
- name: Enable experimental features for the Docker daemon and CLI
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
From 53ad2d19c35922d2a2da26b85f0aed2cf2e79a53 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:24:28 -0500
Subject: [PATCH 19/76] Adding unit tests
---
.github/workflows/basket-api.yml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 9d26853824..13cbd8756c 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -21,6 +21,7 @@ on:
env:
SERVICE: basket-api
IMAGE: basket.api
+ DOTNET_VERSION: 5.0.x
jobs:
@@ -46,6 +47,20 @@ jobs:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd /src/Services/Catalog/Catalog.API
+ dotnet build --no-restore
+ cd -
+ cd src/Services/Catalog/Catalog.UnitTests
+ dotnet test
+
- name: Enable experimental features for the Docker daemon and CLI
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
From c6763a2aa68fe18e6b498389d7717ca147d21e61 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:25:56 -0500
Subject: [PATCH 20/76] Add workflow_dispatch
---
.github/workflows/basket-api.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 13cbd8756c..83b929587e 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -1,6 +1,7 @@
name: basket-api
on:
+ workflow_dispatch:
push:
branches:
- dev
From 99e86312f96a9b909939c2725549c086f36f18e0 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:28:08 -0500
Subject: [PATCH 21/76] Change working dir
---
.github/workflows/basket-api.yml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 83b929587e..1d6ca60e78 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -55,11 +55,12 @@ jobs:
- name: Build and run unit tests
run: |
+ cd src
dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
- cd /src/Services/Catalog/Catalog.API
+ cd Services/Catalog/Catalog.API
dotnet build --no-restore
cd -
- cd src/Services/Catalog/Catalog.UnitTests
+ cd Services/Catalog/Catalog.UnitTests
dotnet test
- name: Enable experimental features for the Docker daemon and CLI
From 47ca5681f967430cd62839ea355d90bfc58e3c24 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:50:10 -0500
Subject: [PATCH 22/76] Adding workflow_dispatch and unit tests
---
.github/workflows/catalog-api.yml | 32 +++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/.github/workflows/catalog-api.yml b/.github/workflows/catalog-api.yml
index ca05a56ea4..9c39165ef1 100644
--- a/.github/workflows/catalog-api.yml
+++ b/.github/workflows/catalog-api.yml
@@ -1,6 +1,7 @@
name: catalog-api
on:
+ workflow_dispatch:
push:
branches:
- dev
@@ -21,6 +22,7 @@ on:
env:
SERVICE: catalog-api
IMAGE: catalog.api
+ DOTNET_VERSION: 5.0.x
jobs:
@@ -30,6 +32,21 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ cd src
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd Services/Catalog/Catalog.API
+ dotnet build --no-restore
+ cd -
+ cd Services/Catalog/Catalog.UnitTests
+ dotnet test
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -46,6 +63,21 @@ jobs:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ cd src
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd Services/Catalog/Catalog.API
+ dotnet build --no-restore
+ cd -
+ cd Services/Catalog/Catalog.UnitTests
+ dotnet test
+
- name: Enable experimental features for the Docker daemon and CLI
run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
From 17dc8efb534475e6de390fd75dc653706ff6cfe4 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 10:50:19 -0500
Subject: [PATCH 23/76] Adding unit tests
---
.github/workflows/basket-api.yml | 17 +++++++++++++++-
.github/workflows/ordering-api.yml | 32 ++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 1d6ca60e78..dadd474671 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -32,7 +32,22 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
-
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ cd src
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd Services/Basket/Basket.API
+ dotnet build --no-restore
+ cd -
+ cd Services/Basket/Basket.UnitTests
+ dotnet test
+
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
working-directory: ./src
diff --git a/.github/workflows/ordering-api.yml b/.github/workflows/ordering-api.yml
index 5adec0760f..afaf99152e 100644
--- a/.github/workflows/ordering-api.yml
+++ b/.github/workflows/ordering-api.yml
@@ -1,6 +1,7 @@
name: ordering-api
on:
+ workflow_dispatch:
push:
branches:
- dev
@@ -21,6 +22,7 @@ on:
env:
SERVICE: ordering-api
IMAGE: ordering.api
+ DOTNET_VERSION: 5.0.x
jobs:
@@ -30,6 +32,21 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ cd src
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd Services/Ordering/Ordering.API
+ dotnet build --no-restore
+ cd -
+ cd Services/Ordering/Ordering.UnitTests
+ dotnet test
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -45,6 +62,21 @@ jobs:
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
+
+ - name: Setup dotnet
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ env.DOTNET_VERSION }}
+
+ - name: Build and run unit tests
+ run: |
+ cd src
+ dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
+ cd Services/Ordering/Ordering.API
+ dotnet build --no-restore
+ cd -
+ cd Services/Ordering/Ordering.UnitTests
+ dotnet test
- name: Enable experimental features for the Docker daemon and CLI
run: |
From f388b4fd175c19e40779dd1227d0441bc678f774 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 11:02:21 -0500
Subject: [PATCH 24/76] Up verbosity
---
.github/workflows/basket-api.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index dadd474671..7cbb91e3f6 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -46,7 +46,7 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Basket/Basket.UnitTests
- dotnet test
+ dotnet test --no-build -v=normal
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -72,11 +72,11 @@ jobs:
run: |
cd src
dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
- cd Services/Catalog/Catalog.API
+ cd Services/Basket/Basket.API
dotnet build --no-restore
cd -
- cd Services/Catalog/Catalog.UnitTests
- dotnet test
+ cd Services/Basket/Basket.UnitTests
+ dotnet test --no-build -v=normal
- name: Enable experimental features for the Docker daemon and CLI
run: |
From 95fc2197ed9baa2b737ff883a30dd5cfa3da3043 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 11:07:22 -0500
Subject: [PATCH 25/76] Update arg
---
.github/workflows/basket-api.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index 7cbb91e3f6..d29ef11ff1 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -46,7 +46,7 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Basket/Basket.UnitTests
- dotnet test --no-build -v=normal
+ dotnet test -v=normal
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -76,7 +76,7 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Basket/Basket.UnitTests
- dotnet test --no-build -v=normal
+ dotnet test -v=normal
- name: Enable experimental features for the Docker daemon and CLI
run: |
From 87016c328046322709f2ae1dc87546841788afd1 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 11:10:41 -0500
Subject: [PATCH 26/76] Change verbosity to only test
---
.github/workflows/basket-api.yml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/basket-api.yml b/.github/workflows/basket-api.yml
index d29ef11ff1..b886d30b91 100644
--- a/.github/workflows/basket-api.yml
+++ b/.github/workflows/basket-api.yml
@@ -46,7 +46,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Basket/Basket.UnitTests
- dotnet test -v=normal
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -76,7 +77,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Basket/Basket.UnitTests
- dotnet test -v=normal
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Enable experimental features for the Docker daemon and CLI
run: |
From 5ec02287b66cc0fd40bfc4f66b470b554dc71448 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 11:24:44 -0500
Subject: [PATCH 27/76] Fixing dotnet test cmd
---
.github/workflows/catalog-api.yml | 6 ++++--
.github/workflows/ordering-api.yml | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/catalog-api.yml b/.github/workflows/catalog-api.yml
index 9c39165ef1..9170e7cc81 100644
--- a/.github/workflows/catalog-api.yml
+++ b/.github/workflows/catalog-api.yml
@@ -46,7 +46,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Catalog/Catalog.UnitTests
- dotnet test
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -76,7 +77,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Catalog/Catalog.UnitTests
- dotnet test
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Enable experimental features for the Docker daemon and CLI
run: |
diff --git a/.github/workflows/ordering-api.yml b/.github/workflows/ordering-api.yml
index afaf99152e..10be984514 100644
--- a/.github/workflows/ordering-api.yml
+++ b/.github/workflows/ordering-api.yml
@@ -46,7 +46,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Ordering/Ordering.UnitTests
- dotnet test
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
@@ -76,7 +77,8 @@ jobs:
dotnet build --no-restore
cd -
cd Services/Ordering/Ordering.UnitTests
- dotnet test
+ dotnet build --no-restore
+ dotnet test --no-build -v=normal
- name: Enable experimental features for the Docker daemon and CLI
run: |
From e10f9c1c892d27cd8d9e024eb377f0c8006819d6 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 11:55:10 -0500
Subject: [PATCH 28/76] Fix file name
---
.github/workflows/catalog-api-deploy.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index b5fff26acd..229f693b12 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From e367740725d9d3f9f167bdfe7e13889f26893a48 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 12:00:23 -0500
Subject: [PATCH 29/76] Fix perms
---
deploy/k8s/helm/deploy-chart.sh | 0
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 deploy/k8s/helm/deploy-chart.sh
diff --git a/deploy/k8s/helm/deploy-chart.sh b/deploy/k8s/helm/deploy-chart.sh
old mode 100644
new mode 100755
From d8c65784e7c8be16283862813429aedd1ba7c620 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 12:06:17 -0500
Subject: [PATCH 30/76] Fix casing
---
.github/workflows/catalog-api-deploy.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index 229f693b12..dbec268b71 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -43,7 +43,7 @@ jobs:
- name: Deploy chart
run: |
- ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From 6f29ec52d4617f421982b23876152db346a3e8d6 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Thu, 15 Apr 2021 12:12:43 -0500
Subject: [PATCH 31/76] Fixing casing
---
.github/workflows/basket-api-deploy.yml | 4 ++--
.github/workflows/identity-api-deploy.yml | 4 ++--
.github/workflows/mobileshoppingagg-deploy.yml | 4 ++--
.github/workflows/ordering-api-deploy.yml | 4 ++--
.github/workflows/ordering-backgroundtasks-deploy.yml | 4 ++--
.github/workflows/ordering-signalrhub-deploy.yml | 4 ++--
.github/workflows/payment-api-deploy.yml | 4 ++--
.github/workflows/webhooks-api-deploy.yml | 4 ++--
.github/workflows/webmvc-deploy.yml | 4 ++--
.github/workflows/webshoppingagg-deploy.yml | 4 ++--
.github/workflows/webspa-deploy.yml | 4 ++--
.github/workflows/webstatus-deploy.yml | 4 ++--
12 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 9d913e286e..00c8113e67 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index 796c71629e..dcb2212b24 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index fb02a718ec..d20ddbabd9 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index 9c23e4aa7d..b9395b1a1b 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index 2755e87438..f83e8eb829 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 3cbacf6415..1b955acd6f 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index f7fb930a9a..840283b584 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index 0f9d216ecd..a35d2a9517 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index 1840817f3c..34ef4ebedc 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 01e8c91bc3..76288a0ea2 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 03b47d12da..1d87c9ab69 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index d0cdccf16a..39671fbbff 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -41,9 +41,9 @@ jobs:
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- - name: Deploy CHART
+ - name: Deploy Chart
run: |
- ./deploy-CHART.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --NAMESPACE ${{ env.NAMESPACE }} --acr-connected
+ ./deploy-chart.sh -c ${{ env.CHART }} --dns aks --aks-name ${{ secrets.CLUSTER_NAME }} --aks-rg ${{ secrets.RESOURCE_GROUP }} -r ${{ secrets.REGISTRY_HOST }} -t $TAG --namespace ${{ env.NAMESPACE }} --acr-connected
env:
TAG: ${{ env.BRANCH }}
working-directory: ${{ env.CHART_ROOT }}
\ No newline at end of file
From 81f05762ce482c998a9c8b24b5844bdd48f4e6c7 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Wed, 21 Apr 2021 20:04:54 +0530
Subject: [PATCH 32/76] Updated sockjs package (#1651)
---
src/Web/WebSPA/package-lock.json | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index ce1fcf0574..724c290735 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -14408,18 +14408,21 @@
}
},
"sockjs": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
- "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
+ "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
+ "dev": true,
"requires": {
"faye-websocket": "^0.10.0",
- "uuid": "^3.0.1"
+ "uuid": "^3.4.0",
+ "websocket-driver": "0.6.5"
}
},
"sockjs-client": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
- "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
+ "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "dev": true,
"requires": {
"debug": "^3.2.5",
"eventsource": "^1.0.7",
@@ -14429,10 +14432,20 @@
"url-parse": "^1.4.3"
},
"dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
"faye-websocket": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
"integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "dev": true,
"requires": {
"websocket-driver": ">=0.5.1"
}
@@ -16765,8 +16778,8 @@
"selfsigned": "^1.9.1",
"semver": "^5.6.0",
"serve-index": "^1.7.2",
- "sockjs": "0.3.19",
- "sockjs-client": "1.3.0",
+ "sockjs": "0.3.20",
+ "sockjs-client": "1.4.0",
"spdy": "^4.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^5.1.0",
From 374cf8d7100a2091e2312f3204ad8acc91e7649f Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Fri, 23 Apr 2021 00:20:29 -0500
Subject: [PATCH 33/76] Prevent deploy jobs
---
.github/workflows/basket-api-deploy.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/basket-api-deploy.yml b/.github/workflows/basket-api-deploy.yml
index 00c8113e67..3d51c6d243 100644
--- a/.github/workflows/basket-api-deploy.yml
+++ b/.github/workflows/basket-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
From c4d40f16db625ed10d052f1df79a2955d3774b20 Mon Sep 17 00:00:00 2001
From: Colin Dembovsky
Date: Fri, 23 Apr 2021 00:20:38 -0500
Subject: [PATCH 34/76] Prevent deploy jobs
---
.github/workflows/catalog-api-deploy.yml | 3 ++-
.github/workflows/identity-api-deploy.yml | 3 ++-
.github/workflows/mobileshoppingagg-deploy.yml | 3 ++-
.github/workflows/ordering-api-deploy.yml | 3 ++-
.github/workflows/ordering-backgroundtasks-deploy.yml | 3 ++-
.github/workflows/ordering-signalrhub-deploy.yml | 3 ++-
.github/workflows/payment-api-deploy.yml | 3 ++-
.github/workflows/webhooks-api-deploy.yml | 3 ++-
.github/workflows/webmvc-deploy.yml | 3 ++-
.github/workflows/webshoppingagg-deploy.yml | 3 ++-
.github/workflows/webspa-deploy.yml | 3 ++-
.github/workflows/webstatus-deploy.yml | 3 ++-
12 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/.github/workflows/catalog-api-deploy.yml b/.github/workflows/catalog-api-deploy.yml
index dbec268b71..7a5827b666 100644
--- a/.github/workflows/catalog-api-deploy.yml
+++ b/.github/workflows/catalog-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/identity-api-deploy.yml b/.github/workflows/identity-api-deploy.yml
index dcb2212b24..5b2626a3ec 100644
--- a/.github/workflows/identity-api-deploy.yml
+++ b/.github/workflows/identity-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/mobileshoppingagg-deploy.yml b/.github/workflows/mobileshoppingagg-deploy.yml
index d20ddbabd9..012d4957ac 100644
--- a/.github/workflows/mobileshoppingagg-deploy.yml
+++ b/.github/workflows/mobileshoppingagg-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/ordering-api-deploy.yml b/.github/workflows/ordering-api-deploy.yml
index b9395b1a1b..0ae9d28cb4 100644
--- a/.github/workflows/ordering-api-deploy.yml
+++ b/.github/workflows/ordering-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/ordering-backgroundtasks-deploy.yml b/.github/workflows/ordering-backgroundtasks-deploy.yml
index f83e8eb829..65eab8148b 100644
--- a/.github/workflows/ordering-backgroundtasks-deploy.yml
+++ b/.github/workflows/ordering-backgroundtasks-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/ordering-signalrhub-deploy.yml b/.github/workflows/ordering-signalrhub-deploy.yml
index 1b955acd6f..d7842a30ff 100644
--- a/.github/workflows/ordering-signalrhub-deploy.yml
+++ b/.github/workflows/ordering-signalrhub-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/payment-api-deploy.yml b/.github/workflows/payment-api-deploy.yml
index 840283b584..9592259b13 100644
--- a/.github/workflows/payment-api-deploy.yml
+++ b/.github/workflows/payment-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/webhooks-api-deploy.yml b/.github/workflows/webhooks-api-deploy.yml
index a35d2a9517..08955a3d4a 100644
--- a/.github/workflows/webhooks-api-deploy.yml
+++ b/.github/workflows/webhooks-api-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/webmvc-deploy.yml b/.github/workflows/webmvc-deploy.yml
index 34ef4ebedc..3f1d9c4a1c 100644
--- a/.github/workflows/webmvc-deploy.yml
+++ b/.github/workflows/webmvc-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/webshoppingagg-deploy.yml b/.github/workflows/webshoppingagg-deploy.yml
index 76288a0ea2..7cff7ceac4 100644
--- a/.github/workflows/webshoppingagg-deploy.yml
+++ b/.github/workflows/webshoppingagg-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/webspa-deploy.yml b/.github/workflows/webspa-deploy.yml
index 1d87c9ab69..2700ee9cde 100644
--- a/.github/workflows/webspa-deploy.yml
+++ b/.github/workflows/webspa-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/webstatus-deploy.yml b/.github/workflows/webstatus-deploy.yml
index 39671fbbff..dc5629ab95 100644
--- a/.github/workflows/webstatus-deploy.yml
+++ b/.github/workflows/webstatus-deploy.yml
@@ -17,7 +17,8 @@ env:
jobs:
deploy-to-k8s:
- if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
+ if: false
runs-on: ubuntu-latest
steps:
From 19baeb70699161b3e964e583ef43b444a949cf19 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Mon, 3 May 2021 16:36:31 +0530
Subject: [PATCH 35/76] Migrates from Newtonsoft.Json to System.Text.Json
(#1658)
* Included System.Text.Json related changes
* Fixed order details summary in WebMVC
* Updated custom JsonConverter
---
.../Mobile.Shopping.HttpAggregator.csproj | 1 -
.../aggregator/Services/OrderApiClient.cs | 9 +++--
.../Mobile.Bff.Shopping/aggregator/Startup.cs | 2 +-
.../aggregator/Services/OrderApiClient.cs | 9 +++--
.../Web.Bff.Shopping/aggregator/Startup.cs | 2 +-
.../Web.Shopping.HttpAggregator.csproj | 1 -
.../EventBus/EventBus/EventBus.csproj | 3 +-
.../EventBus/Events/IntegrationEvent.cs | 10 +++---
.../EventBusRabbitMQ/EventBusRabbitMQ.cs | 16 ++++-----
.../EventBusRabbitMQ/EventBusRabbitMQ.csproj | 3 +-
.../EventBusServiceBus/EventBusServiceBus.cs | 12 +++----
.../IntegrationEventLogEF.csproj | 3 +-
.../IntegrationEventLogEntry.cs | 13 ++++---
.../Basket/Basket.API/Basket.API.csproj | 3 +-
.../Repositories/RedisBasketRepository.cs | 9 +++--
src/Services/Basket/Basket.API/Startup.cs | 2 +-
.../Basket.FunctionalTests/BasketScenarios.cs | 6 ++--
.../Catalog/Catalog.API/Catalog.API.csproj | 3 +-
src/Services/Catalog/Catalog.API/Startup.cs | 3 +-
.../Events/OrderStartedIntegrationEvent.cs | 2 +-
.../UserCheckoutAcceptedIntegrationEvent.cs | 10 +++---
.../Application/Models/CustomerBasket.cs | 6 ++--
.../Ordering/Ordering.API/Ordering.API.csproj | 3 +-
src/Services/Ordering/Ordering.API/Startup.cs | 5 ++-
.../OrderingScenarios.cs | 6 ++--
.../Webhooks.API/Model/WebhookData.cs | 8 ++---
.../Webhooks.API/Services/WebhooksSender.cs | 4 +--
.../Services/IntegrationEventsScenarios.cs | 16 ++++++---
.../Services/Ordering/OrderingScenarios.cs | 24 +++++++++----
src/Web/WebMVC/Controllers/TestController.cs | 4 +--
.../WebMVC/Extensions/SessionExtensions.cs | 9 +++--
src/Web/WebMVC/Services/BasketService.cs | 27 ++++++++++-----
src/Web/WebMVC/Services/CatalogService.cs | 27 ++++++++-------
src/Web/WebMVC/Services/OrderingService.cs | 16 ++++++---
src/Web/WebMVC/ViewModels/BasketItem.cs | 2 +-
.../Converters/NumberToStringConverter.cs | 34 +++++++++++++++++++
src/Web/WebMVC/ViewModels/Order.cs | 12 +++----
src/Web/WebSPA/WebSPA.csproj | 3 +-
.../Pages/RegisterWebhook.cshtml.cs | 4 +--
.../WebhookClient/Services/WebhooksClient.cs | 7 ++--
40 files changed, 206 insertions(+), 133 deletions(-)
create mode 100644 src/Web/WebMVC/ViewModels/Converters/NumberToStringConverter.cs
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
index 4a982fc2de..a78977a76f 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
@@ -24,7 +24,6 @@
-
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderApiClient.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderApiClient.cs
index da39abbff3..8c0b7c90e8 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderApiClient.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderApiClient.cs
@@ -2,9 +2,9 @@
using Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Models;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System.Net.Http;
using System.Threading.Tasks;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
{
@@ -24,14 +24,17 @@ public OrderApiClient(HttpClient httpClient, ILogger logger, IOp
public async Task GetOrderDraftFromBasketAsync(BasketData basket)
{
var uri = _urls.Orders + UrlsConfig.OrdersOperations.GetOrderDraft();
- var content = new StringContent(JsonConvert.SerializeObject(basket), System.Text.Encoding.UTF8, "application/json");
+ var content = new StringContent(JsonSerializer.Serialize(basket), System.Text.Encoding.UTF8, "application/json");
var response = await _apiClient.PostAsync(uri, content);
response.EnsureSuccessStatusCode();
var ordersDraftResponse = await response.Content.ReadAsStringAsync();
- return JsonConvert.DeserializeObject(ordersDraftResponse);
+ return JsonSerializer.Deserialize(ordersDraftResponse, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
}
}
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
index 3e1ec38870..b8853aee74 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
@@ -107,7 +107,7 @@ public static IServiceCollection AddCustomMvc(this IServiceCollection services,
services.Configure(configuration.GetSection("urls"));
services.AddControllers()
- .AddNewtonsoftJson();
+ .AddJsonOptions(options => options.JsonSerializerOptions.WriteIndented = true);
services.AddSwaggerGen(options =>
{
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderApiClient.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderApiClient.cs
index a26028d69e..fb7fa70e19 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderApiClient.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderApiClient.cs
@@ -2,9 +2,9 @@
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Models;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System.Net.Http;
using System.Threading.Tasks;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
{
@@ -24,14 +24,17 @@ public OrderApiClient(HttpClient httpClient, ILogger logger, IOp
public async Task GetOrderDraftFromBasketAsync(BasketData basket)
{
var url = _urls.Orders + UrlsConfig.OrdersOperations.GetOrderDraft();
- var content = new StringContent(JsonConvert.SerializeObject(basket), System.Text.Encoding.UTF8, "application/json");
+ var content = new StringContent(JsonSerializer.Serialize(basket), System.Text.Encoding.UTF8, "application/json");
var response = await _apiClient.PostAsync(url, content);
response.EnsureSuccessStatusCode();
var ordersDraftResponse = await response.Content.ReadAsStringAsync();
- return JsonConvert.DeserializeObject(ordersDraftResponse);
+ return JsonSerializer.Deserialize(ordersDraftResponse, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
}
}
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
index 99780f66f5..96ba8d2eb3 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
@@ -130,7 +130,7 @@ public static IServiceCollection AddCustomMvc(this IServiceCollection services,
services.Configure(configuration.GetSection("urls"));
services.AddControllers()
- .AddNewtonsoftJson();
+ .AddJsonOptions(options => options.JsonSerializerOptions.WriteIndented = true);
services.AddSwaggerGen(options =>
{
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
index 2bae6e150d..830cdc7ab9 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
@@ -25,7 +25,6 @@
-
diff --git a/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj b/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
index 8db6db3b50..a81e2b2c48 100644
--- a/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
+++ b/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
@@ -5,8 +5,7 @@
Microsoft.eShopOnContainers.BuildingBlocks.EventBus
-
-
+
\ No newline at end of file
diff --git a/src/BuildingBlocks/EventBus/EventBus/Events/IntegrationEvent.cs b/src/BuildingBlocks/EventBus/EventBus/Events/IntegrationEvent.cs
index 201dcf6b53..1f185a691c 100644
--- a/src/BuildingBlocks/EventBus/EventBus/Events/IntegrationEvent.cs
+++ b/src/BuildingBlocks/EventBus/EventBus/Events/IntegrationEvent.cs
@@ -1,10 +1,10 @@
-using Newtonsoft.Json;
-using System;
+using System;
+using System.Text.Json.Serialization;
namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events
{
public record IntegrationEvent
- {
+ {
public IntegrationEvent()
{
Id = Guid.NewGuid();
@@ -18,10 +18,10 @@ public IntegrationEvent(Guid id, DateTime createDate)
CreationDate = createDate;
}
- [JsonProperty]
+ [JsonInclude]
public Guid Id { get; private init; }
- [JsonProperty]
+ [JsonInclude]
public DateTime CreationDate { get; private init; }
}
}
diff --git a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs
index 50bd97bc90..415da42839 100644
--- a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs
+++ b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.cs
@@ -4,8 +4,6 @@
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Extensions;
using Microsoft.Extensions.Logging;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
using Polly;
using Polly.Retry;
using RabbitMQ.Client;
@@ -15,6 +13,7 @@
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
{
@@ -89,9 +88,11 @@ public void Publish(IntegrationEvent @event)
_logger.LogTrace("Declaring RabbitMQ exchange to publish event: {EventId}", @event.Id);
channel.ExchangeDeclare(exchange: BROKER_NAME, type: "direct");
-
- var message = JsonConvert.SerializeObject(@event);
- var body = Encoding.UTF8.GetBytes(message);
+
+ var body = JsonSerializer.SerializeToUtf8Bytes(@event, @event.GetType(), new JsonSerializerOptions
+ {
+ WriteIndented = true
+ });
policy.Execute(() =>
{
@@ -272,8 +273,7 @@ private async Task ProcessEvent(string eventName, string message)
{
var handler = scope.ResolveOptional(subscription.HandlerType) as IDynamicIntegrationEventHandler;
if (handler == null) continue;
- dynamic eventData = JObject.Parse(message);
-
+ using dynamic eventData = JsonDocument.Parse(message);
await Task.Yield();
await handler.Handle(eventData);
}
@@ -282,7 +282,7 @@ private async Task ProcessEvent(string eventName, string message)
var handler = scope.ResolveOptional(subscription.HandlerType);
if (handler == null) continue;
var eventType = _subsManager.GetEventTypeByName(eventName);
- var integrationEvent = JsonConvert.DeserializeObject(message, eventType);
+ var integrationEvent = JsonSerializer.Deserialize(message, eventType, new JsonSerializerOptions() { PropertyNameCaseInsensitive= true});
var concreteType = typeof(IIntegrationEventHandler<>).MakeGenericType(eventType);
await Task.Yield();
diff --git a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
index 6da6eda9d6..f8dfc42e57 100644
--- a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
+++ b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
@@ -8,8 +8,7 @@
-
-
+
diff --git a/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs b/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs
index 841c303f7f..84229b2389 100644
--- a/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs
+++ b/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.cs
@@ -5,11 +5,10 @@
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus;
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Abstractions;
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
- using Microsoft.Extensions.Logging;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
+ using Microsoft.Extensions.Logging;
using System;
using System.Text;
+ using System.Text.Json;
using System.Threading.Tasks;
public class EventBusServiceBus : IEventBus
@@ -36,7 +35,7 @@ public EventBusServiceBus(IServiceBusPersisterConnection serviceBusPersisterConn
public void Publish(IntegrationEvent @event)
{
var eventName = @event.GetType().Name.Replace(INTEGRATION_EVENT_SUFFIX, "");
- var jsonMessage = JsonConvert.SerializeObject(@event);
+ var jsonMessage = JsonSerializer.Serialize(@event);
var body = Encoding.UTF8.GetBytes(jsonMessage);
var message = new Message
@@ -165,7 +164,8 @@ private async Task ProcessEvent(string eventName, string message)
{
var handler = scope.ResolveOptional(subscription.HandlerType) as IDynamicIntegrationEventHandler;
if (handler == null) continue;
- dynamic eventData = JObject.Parse(message);
+
+ using dynamic eventData = JsonDocument.Parse(message);
await handler.Handle(eventData);
}
else
@@ -173,7 +173,7 @@ private async Task ProcessEvent(string eventName, string message)
var handler = scope.ResolveOptional(subscription.HandlerType);
if (handler == null) continue;
var eventType = _subsManager.GetEventTypeByName(eventName);
- var integrationEvent = JsonConvert.DeserializeObject(message, eventType);
+ var integrationEvent = JsonSerializer.Deserialize(message, eventType);
var concreteType = typeof(IIntegrationEventHandler<>).MakeGenericType(eventType);
await (Task)concreteType.GetMethod("Handle").Invoke(handler, new object[] { integrationEvent });
}
diff --git a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
index c9ed73500d..b8e30e6827 100644
--- a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
+++ b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
@@ -12,8 +12,7 @@
-
-
+
diff --git a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEntry.cs b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEntry.cs
index 977dd0547a..b3109d214a 100644
--- a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEntry.cs
+++ b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEntry.cs
@@ -1,6 +1,6 @@
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
-using Newtonsoft.Json;
using System;
+using System.Text.Json;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
@@ -13,8 +13,11 @@ public IntegrationEventLogEntry(IntegrationEvent @event, Guid transactionId)
{
EventId = @event.Id;
CreationTime = @event.CreationDate;
- EventTypeName = @event.GetType().FullName;
- Content = JsonConvert.SerializeObject(@event);
+ EventTypeName = @event.GetType().FullName;
+ Content = JsonSerializer.Serialize(@event, @event.GetType(), new JsonSerializerOptions
+ {
+ WriteIndented = true
+ });
State = EventStateEnum.NotPublished;
TimesSent = 0;
TransactionId = transactionId.ToString();
@@ -32,8 +35,8 @@ public IntegrationEventLogEntry(IntegrationEvent @event, Guid transactionId)
public string TransactionId { get; private set; }
public IntegrationEventLogEntry DeserializeJsonContent(Type type)
- {
- IntegrationEvent = JsonConvert.DeserializeObject(Content, type) as IntegrationEvent;
+ {
+ IntegrationEvent = JsonSerializer.Deserialize(Content, type, new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }) as IntegrationEvent;
return this;
}
}
diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index 741407c10a..d721d00cf0 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -29,8 +29,7 @@
-
-
+
diff --git a/src/Services/Basket/Basket.API/Infrastructure/Repositories/RedisBasketRepository.cs b/src/Services/Basket/Basket.API/Infrastructure/Repositories/RedisBasketRepository.cs
index 93adcc0236..6e724d7cab 100644
--- a/src/Services/Basket/Basket.API/Infrastructure/Repositories/RedisBasketRepository.cs
+++ b/src/Services/Basket/Basket.API/Infrastructure/Repositories/RedisBasketRepository.cs
@@ -1,10 +1,10 @@
using Microsoft.eShopOnContainers.Services.Basket.API.Model;
using Microsoft.Extensions.Logging;
-using Newtonsoft.Json;
using StackExchange.Redis;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.Services.Basket.API.Infrastructure.Repositories
{
@@ -43,12 +43,15 @@ public async Task GetBasketAsync(string customerId)
return null;
}
- return JsonConvert.DeserializeObject(data);
+ return JsonSerializer.Deserialize(data, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
public async Task UpdateBasketAsync(CustomerBasket basket)
{
- var created = await _database.StringSetAsync(basket.BuyerId, JsonConvert.SerializeObject(basket));
+ var created = await _database.StringSetAsync(basket.BuyerId, JsonSerializer.Serialize(basket));
if (!created)
{
diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs
index 2f53cbcb06..45adb5f664 100644
--- a/src/Services/Basket/Basket.API/Startup.cs
+++ b/src/Services/Basket/Basket.API/Startup.cs
@@ -62,7 +62,7 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
}) // Added for functional tests
.AddApplicationPart(typeof(BasketController).Assembly)
- .AddNewtonsoftJson();
+ .AddJsonOptions(options => options.JsonSerializerOptions.WriteIndented = true);
services.AddSwaggerGen(options =>
{
diff --git a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
index 6928d5cd20..9474ca4613 100644
--- a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
+++ b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
@@ -1,9 +1,9 @@
using Basket.FunctionalTests.Base;
using Microsoft.eShopOnContainers.Services.Basket.API.Model;
-using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
using Xunit;
@@ -68,7 +68,7 @@ string BuildBasket()
Quantity = 1
});
- return JsonConvert.SerializeObject(order);
+ return JsonSerializer.Serialize(order);
}
string BuildCheckout()
@@ -89,7 +89,7 @@ string BuildCheckout()
RequestId = Guid.NewGuid()
};
- return JsonConvert.SerializeObject(checkoutBasket);
+ return JsonSerializer.Serialize(checkoutBasket);
}
}
}
diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
index 5ba3b6132a..71558fc6e1 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -54,8 +54,7 @@
-
-
+
diff --git a/src/Services/Catalog/Catalog.API/Startup.cs b/src/Services/Catalog/Catalog.API/Startup.cs
index 557183e385..4c17fb63f7 100644
--- a/src/Services/Catalog/Catalog.API/Startup.cs
+++ b/src/Services/Catalog/Catalog.API/Startup.cs
@@ -140,7 +140,8 @@ public static IServiceCollection AddCustomMVC(this IServiceCollection services,
services.AddControllers(options =>
{
options.Filters.Add(typeof(HttpGlobalExceptionFilter));
- }).AddNewtonsoftJson();
+ })
+ .AddJsonOptions(options => options.JsonSerializerOptions.WriteIndented = true);
services.AddCors(options =>
{
diff --git a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs
index 8f11e240f2..2ff1460c79 100644
--- a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs
+++ b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs
@@ -7,7 +7,7 @@ namespace Ordering.API.Application.IntegrationEvents.Events
// An Integration Event is an event that can cause side effects to other microsrvices, Bounded-Contexts or external systems.
public record OrderStartedIntegrationEvent : IntegrationEvent
{
- public string UserId { get; set; }
+ public string UserId { get; init; }
public OrderStartedIntegrationEvent(string userId)
=> UserId = userId;
diff --git a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/UserCheckoutAcceptedIntegrationEvent.cs b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/UserCheckoutAcceptedIntegrationEvent.cs
index 4cd74b16ba..b5ecb1d6a0 100644
--- a/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/UserCheckoutAcceptedIntegrationEvent.cs
+++ b/src/Services/Ordering/Ordering.API/Application/IntegrationEvents/Events/UserCheckoutAcceptedIntegrationEvent.cs
@@ -5,15 +5,15 @@
namespace Ordering.API.Application.IntegrationEvents.Events
{
public record UserCheckoutAcceptedIntegrationEvent : IntegrationEvent
- {
+ {
public string UserId { get; }
-
+
public string UserName { get; }
-
+
public string City { get; set; }
-
+
public string Street { get; set; }
-
+
public string State { get; set; }
public string Country { get; set; }
diff --git a/src/Services/Ordering/Ordering.API/Application/Models/CustomerBasket.cs b/src/Services/Ordering/Ordering.API/Application/Models/CustomerBasket.cs
index e455f5d7d0..251fa881cf 100644
--- a/src/Services/Ordering/Ordering.API/Application/Models/CustomerBasket.cs
+++ b/src/Services/Ordering/Ordering.API/Application/Models/CustomerBasket.cs
@@ -7,10 +7,10 @@ public class CustomerBasket
public string BuyerId { get; set; }
public List Items { get; set; }
- public CustomerBasket(string customerId)
+ public CustomerBasket(string buyerId, List items)
{
- BuyerId = customerId;
- Items = new List();
+ BuyerId = buyerId;
+ Items = items;
}
}
}
diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
index 46b07ca294..ef71dde813 100644
--- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj
+++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
@@ -54,8 +54,7 @@
-
-
+
diff --git a/src/Services/Ordering/Ordering.API/Startup.cs b/src/Services/Ordering/Ordering.API/Startup.cs
index d558762031..5813a05781 100644
--- a/src/Services/Ordering/Ordering.API/Startup.cs
+++ b/src/Services/Ordering/Ordering.API/Startup.cs
@@ -172,9 +172,8 @@ public static IServiceCollection AddCustomMvc(this IServiceCollection services)
})
// Added for functional tests
.AddApplicationPart(typeof(OrdersController).Assembly)
- .AddNewtonsoftJson()
- .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
- ;
+ .AddJsonOptions(options => options.JsonSerializerOptions.WriteIndented = true)
+ .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddCors(options =>
{
diff --git a/src/Services/Ordering/Ordering.FunctionalTests/OrderingScenarios.cs b/src/Services/Ordering/Ordering.FunctionalTests/OrderingScenarios.cs
index 9b46e18416..f6c96f28e6 100644
--- a/src/Services/Ordering/Ordering.FunctionalTests/OrderingScenarios.cs
+++ b/src/Services/Ordering/Ordering.FunctionalTests/OrderingScenarios.cs
@@ -1,7 +1,7 @@
-using Newtonsoft.Json;
-using System.Net;
+using System.Net;
using System.Net.Http;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
using WebMVC.Services.ModelDTOs;
using Xunit;
@@ -55,7 +55,7 @@ string BuildOrder()
{
OrderNumber = "-1"
};
- return JsonConvert.SerializeObject(order);
+ return JsonSerializer.Serialize(order);
}
}
}
diff --git a/src/Services/Webhooks/Webhooks.API/Model/WebhookData.cs b/src/Services/Webhooks/Webhooks.API/Model/WebhookData.cs
index 40c2cf2f71..ad4455f99b 100644
--- a/src/Services/Webhooks/Webhooks.API/Model/WebhookData.cs
+++ b/src/Services/Webhooks/Webhooks.API/Model/WebhookData.cs
@@ -1,5 +1,5 @@
-using Newtonsoft.Json;
-using System;
+using System;
+using System.Text.Json;
namespace Webhooks.API.Model
{
@@ -15,9 +15,7 @@ public WebhookData(WebhookType hookType, object data)
{
When = DateTime.UtcNow;
Type = hookType.ToString();
- Payload = JsonConvert.SerializeObject(data);
+ Payload = JsonSerializer.Serialize(data);
}
-
-
}
}
diff --git a/src/Services/Webhooks/Webhooks.API/Services/WebhooksSender.cs b/src/Services/Webhooks/Webhooks.API/Services/WebhooksSender.cs
index 7ab7a0c670..9009cdcdac 100644
--- a/src/Services/Webhooks/Webhooks.API/Services/WebhooksSender.cs
+++ b/src/Services/Webhooks/Webhooks.API/Services/WebhooksSender.cs
@@ -1,10 +1,10 @@
using Microsoft.Extensions.Logging;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
using Webhooks.API.Model;
@@ -23,7 +23,7 @@ public WebhooksSender(IHttpClientFactory httpClientFactory, ILogger receivers, WebhookData data)
{
var client = _httpClientFactory.CreateClient();
- var json = JsonConvert.SerializeObject(data);
+ var json = JsonSerializer.Serialize(data);
var tasks = receivers.Select(r => OnSendData(r, json, client));
await Task.WhenAll(tasks.ToArray());
}
diff --git a/src/Tests/Services/Application.FunctionalTests/Services/IntegrationEventsScenarios.cs b/src/Tests/Services/Application.FunctionalTests/Services/IntegrationEventsScenarios.cs
index a8bdcd122d..a8c281221d 100644
--- a/src/Tests/Services/Application.FunctionalTests/Services/IntegrationEventsScenarios.cs
+++ b/src/Tests/Services/Application.FunctionalTests/Services/IntegrationEventsScenarios.cs
@@ -3,12 +3,12 @@
using Microsoft.eShopOnContainers.Services.Basket.API.Model;
using Microsoft.eShopOnContainers.Services.Catalog.API.Model;
using Microsoft.eShopOnContainers.Services.Catalog.API.ViewModel;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
using Xunit;
@@ -35,7 +35,7 @@ public async Task Post_update_product_price_and_catalog_and_basket_list_modified
var basket = ComposeBasket(userId, originalCatalogProducts.Data.Take(3));
var res = await basketClient.PostAsync(
BasketScenariosBase.Post.CreateBasket,
- new StringContent(JsonConvert.SerializeObject(basket), UTF8Encoding.UTF8, "application/json")
+ new StringContent(JsonSerializer.Serialize(basket), UTF8Encoding.UTF8, "application/json")
);
// WHEN the price of one product is modified in the catalog
@@ -74,7 +74,10 @@ private async Task GetUpdatedBasketItem(decimal newPrice, int produc
{
//get the basket and verify that the price of the modified product is updated
var basketGetResponse = await basketClient.GetAsync(BasketScenariosBase.Get.GetBasketByCustomer(userId));
- var basketUpdated = JsonConvert.DeserializeObject(await basketGetResponse.Content.ReadAsStringAsync());
+ var basketUpdated = JsonSerializer.Deserialize(await basketGetResponse.Content.ReadAsStringAsync(), new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
itemUpdated = basketUpdated.Items.Single(pr => pr.ProductId == productId);
@@ -96,14 +99,17 @@ private async Task> GetCatalogAsync(HttpCli
{
var response = await catalogClient.GetAsync(CatalogScenariosBase.Get.Items);
var items = await response.Content.ReadAsStringAsync();
- return JsonConvert.DeserializeObject>(items);
+ return JsonSerializer.Deserialize>(items, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
private string ChangePrice(BasketItem itemToModify, decimal newPrice, PaginatedItemsViewModel catalogProducts)
{
var catalogProduct = catalogProducts.Data.Single(pr => pr.Id == itemToModify.ProductId);
catalogProduct.Price = newPrice;
- return JsonConvert.SerializeObject(catalogProduct);
+ return JsonSerializer.Serialize(catalogProduct);
}
private CustomerBasket ComposeBasket(string customerId, IEnumerable items)
diff --git a/src/Tests/Services/Application.FunctionalTests/Services/Ordering/OrderingScenarios.cs b/src/Tests/Services/Application.FunctionalTests/Services/Ordering/OrderingScenarios.cs
index 3a6e1c04bb..fe63a46138 100644
--- a/src/Tests/Services/Application.FunctionalTests/Services/Ordering/OrderingScenarios.cs
+++ b/src/Tests/Services/Application.FunctionalTests/Services/Ordering/OrderingScenarios.cs
@@ -2,8 +2,8 @@
using FunctionalTests.Services.Basket;
using Microsoft.eShopOnContainers.Services.Basket.API.Model;
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
-using Newtonsoft.Json;
using System;
+using System.Text.Json;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
@@ -53,7 +53,10 @@ public async Task Cancel_basket_and_check_order_status_cancelled()
async Task TryGetOrder(string orderNumber, HttpClient orderClient)
{
var ordersGetResponse = await orderClient.GetStringAsync(OrderingScenariosBase.Get.Orders);
- var orders = JsonConvert.DeserializeObject>(ordersGetResponse);
+ var orders = JsonSerializer.Deserialize>(ordersGetResponse, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return orders.Single(o => o.OrderNumber == orderNumber);
}
@@ -67,7 +70,10 @@ private async Task TryGetNewOrderCreated(string city, HttpClient orderCli
{
//get the orders and verify that the new order has been created
var ordersGetResponse = await orderClient.GetStringAsync(OrderingScenariosBase.Get.Orders);
- var orders = JsonConvert.DeserializeObject>(ordersGetResponse);
+ var orders = JsonSerializer.Deserialize>(ordersGetResponse, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
if (orders == null || orders.Count == 0)
{
@@ -79,7 +85,11 @@ private async Task TryGetNewOrderCreated(string city, HttpClient orderCli
var lastOrder = orders.OrderByDescending(o => o.Date).First();
int.TryParse(lastOrder.OrderNumber, out int id);
var orderDetails = await orderClient.GetStringAsync(OrderingScenariosBase.Get.OrderBy(id));
- order = JsonConvert.DeserializeObject(orderDetails);
+ order = JsonSerializer.Deserialize(orderDetails, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
+
order.City = city;
if (IsOrderCreated(order, city))
@@ -110,7 +120,7 @@ string BuildBasket()
Quantity = 1
}
};
- return JsonConvert.SerializeObject(order);
+ return JsonSerializer.Serialize(order);
}
string BuildCancelOrder(string orderId)
@@ -119,7 +129,7 @@ string BuildCancelOrder(string orderId)
{
OrderNumber = orderId
};
- return JsonConvert.SerializeObject(order);
+ return JsonSerializer.Serialize(order);
}
string BuildCheckout(string cityExpected)
@@ -140,7 +150,7 @@ string BuildCheckout(string cityExpected)
RequestId = Guid.NewGuid()
};
- return JsonConvert.SerializeObject(checkoutBasket);
+ return JsonSerializer.Serialize(checkoutBasket);
}
}
}
diff --git a/src/Web/WebMVC/Controllers/TestController.cs b/src/Web/WebMVC/Controllers/TestController.cs
index a80fe9ad83..6a90227c85 100644
--- a/src/Web/WebMVC/Controllers/TestController.cs
+++ b/src/Web/WebMVC/Controllers/TestController.cs
@@ -2,9 +2,9 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.eShopOnContainers.WebMVC.Services;
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
-using Newtonsoft.Json;
using System.Net.Http;
using System.Threading.Tasks;
+using System.Text.Json;
namespace WebMVC.Controllers
{
@@ -40,7 +40,7 @@ public async Task Ocelot()
BasketId = _appUserParser.Parse(User).Id
};
- var content = new StringContent(JsonConvert.SerializeObject(payload), System.Text.Encoding.UTF8, "application/json");
+ var content = new StringContent(JsonSerializer.Serialize(payload), System.Text.Encoding.UTF8, "application/json");
var response = await _client.CreateClient(nameof(IBasketService))
diff --git a/src/Web/WebMVC/Extensions/SessionExtensions.cs b/src/Web/WebMVC/Extensions/SessionExtensions.cs
index 47b0791589..29954bd8f3 100644
--- a/src/Web/WebMVC/Extensions/SessionExtensions.cs
+++ b/src/Web/WebMVC/Extensions/SessionExtensions.cs
@@ -1,17 +1,20 @@
using Microsoft.AspNetCore.Http;
-using Newtonsoft.Json;
+using System.Text.Json;
public static class SessionExtensions
{
public static void SetObject(this ISession session, string key, object value) =>
- session.SetString(key, JsonConvert.SerializeObject(value));
+ session.SetString(key,JsonSerializer.Serialize(value));
public static T GetObject(this ISession session, string key)
{
var value = session.GetString(key);
- return value == null ? default(T) : JsonConvert.DeserializeObject(value);
+ return value == null ? default(T) :JsonSerializer.Deserialize(value, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
}
diff --git a/src/Web/WebMVC/Services/BasketService.cs b/src/Web/WebMVC/Services/BasketService.cs
index 26985a6710..8a0be9e71d 100644
--- a/src/Web/WebMVC/Services/BasketService.cs
+++ b/src/Web/WebMVC/Services/BasketService.cs
@@ -1,13 +1,13 @@
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using WebMVC.Infrastructure;
using WebMVC.Services.ModelDTOs;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.WebMVC.Services
{
@@ -38,14 +38,17 @@ public async Task GetBasket(ApplicationUser user)
var responseString = await response.Content.ReadAsStringAsync();
return string.IsNullOrEmpty(responseString) ?
new Basket() { BuyerId = user.Id } :
- JsonConvert.DeserializeObject(responseString);
+ JsonSerializer.Deserialize(responseString, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
public async Task UpdateBasket(Basket basket)
{
var uri = API.Basket.UpdateBasket(_basketByPassUrl);
- var basketContent = new StringContent(JsonConvert.SerializeObject(basket), System.Text.Encoding.UTF8, "application/json");
+ var basketContent = new StringContent(JsonSerializer.Serialize(basket), System.Text.Encoding.UTF8, "application/json");
var response = await _apiClient.PostAsync(uri, basketContent);
@@ -57,8 +60,8 @@ public async Task UpdateBasket(Basket basket)
public async Task Checkout(BasketDTO basket)
{
var uri = API.Basket.CheckoutBasket(_basketByPassUrl);
- var basketContent = new StringContent(JsonConvert.SerializeObject(basket), System.Text.Encoding.UTF8, "application/json");
-
+ var basketContent = new StringContent(JsonSerializer.Serialize(basket), System.Text.Encoding.UTF8, "application/json");
+
_logger.LogInformation("Uri chechout {uri}", uri);
var response = await _apiClient.PostAsync(uri, basketContent);
@@ -80,7 +83,7 @@ public async Task SetQuantities(ApplicationUser user, Dictionary SetQuantities(ApplicationUser user, Dictionary(jsonResponse);
+ return JsonSerializer.Deserialize(jsonResponse, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
}
public async Task GetOrderDraft(string basketId)
@@ -97,7 +103,10 @@ public async Task GetOrderDraft(string basketId)
var responseString = await _apiClient.GetStringAsync(uri);
- var response = JsonConvert.DeserializeObject(responseString);
+ var response = JsonSerializer.Deserialize(responseString, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return response;
}
@@ -113,7 +122,7 @@ public async Task AddItemToBasket(ApplicationUser user, int productId)
Quantity = 1
};
- var basketContent = new StringContent(JsonConvert.SerializeObject(newItem), System.Text.Encoding.UTF8, "application/json");
+ var basketContent = new StringContent(JsonSerializer.Serialize(newItem), System.Text.Encoding.UTF8, "application/json");
var response = await _apiClient.PostAsync(uri, basketContent);
}
diff --git a/src/Web/WebMVC/Services/CatalogService.cs b/src/Web/WebMVC/Services/CatalogService.cs
index 40d3644f42..e7806a7384 100644
--- a/src/Web/WebMVC/Services/CatalogService.cs
+++ b/src/Web/WebMVC/Services/CatalogService.cs
@@ -2,12 +2,11 @@
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using WebMVC.Infrastructure;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.WebMVC.Services
{
@@ -34,7 +33,10 @@ public async Task GetCatalogItems(int page, int take, int? brand, int?
var responseString = await _httpClient.GetStringAsync(uri);
- var catalog = JsonConvert.DeserializeObject(responseString);
+ var catalog = JsonSerializer.Deserialize(responseString, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return catalog;
}
@@ -48,15 +50,15 @@ public async Task> GetBrands()
var items = new List();
items.Add(new SelectListItem() { Value = null, Text = "All", Selected = true });
+
+ using var brands = JsonDocument.Parse(responseString);
- var brands = JArray.Parse(responseString);
-
- foreach (var brand in brands.Children())
+ foreach (JsonElement brand in brands.RootElement.EnumerateArray())
{
items.Add(new SelectListItem()
{
- Value = brand.Value("id"),
- Text = brand.Value("brand")
+ Value = brand.GetProperty("id").ToString(),
+ Text = brand.GetProperty("brand").ToString()
});
}
@@ -71,14 +73,15 @@ public async Task> GetTypes()
var items = new List();
items.Add(new SelectListItem() { Value = null, Text = "All", Selected = true });
+
+ using var catalogTypes = JsonDocument.Parse(responseString);
- var brands = JArray.Parse(responseString);
- foreach (var brand in brands.Children())
+ foreach (JsonElement catalogType in catalogTypes.RootElement.EnumerateArray())
{
items.Add(new SelectListItem()
{
- Value = brand.Value("id"),
- Text = brand.Value("type")
+ Value = catalogType.GetProperty("id").ToString(),
+ Text = catalogType.GetProperty("type").ToString()
});
}
diff --git a/src/Web/WebMVC/Services/OrderingService.cs b/src/Web/WebMVC/Services/OrderingService.cs
index b5ad133867..8699e61f88 100644
--- a/src/Web/WebMVC/Services/OrderingService.cs
+++ b/src/Web/WebMVC/Services/OrderingService.cs
@@ -1,12 +1,12 @@
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using WebMVC.Infrastructure;
using WebMVC.Services.ModelDTOs;
+using System.Text.Json;
namespace Microsoft.eShopOnContainers.WebMVC.Services
{
@@ -31,7 +31,10 @@ async public Task GetOrder(ApplicationUser user, string id)
var responseString = await _httpClient.GetStringAsync(uri);
- var response = JsonConvert.DeserializeObject(responseString);
+ var response = JsonSerializer.Deserialize(responseString, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return response;
}
@@ -42,7 +45,10 @@ async public Task> GetMyOrders(ApplicationUser user)
var responseString = await _httpClient.GetStringAsync(uri);
- var response = JsonConvert.DeserializeObject>(responseString);
+ var response = JsonSerializer.Deserialize>(responseString, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return response;
}
@@ -57,7 +63,7 @@ async public Task CancelOrder(string orderId)
};
var uri = API.Order.CancelOrder(_remoteServiceBaseUrl);
- var orderContent = new StringContent(JsonConvert.SerializeObject(order), System.Text.Encoding.UTF8, "application/json");
+ var orderContent = new StringContent(JsonSerializer.Serialize(order), System.Text.Encoding.UTF8, "application/json");
var response = await _httpClient.PutAsync(uri, orderContent);
@@ -77,7 +83,7 @@ async public Task ShipOrder(string orderId)
};
var uri = API.Order.ShipOrder(_remoteServiceBaseUrl);
- var orderContent = new StringContent(JsonConvert.SerializeObject(order), System.Text.Encoding.UTF8, "application/json");
+ var orderContent = new StringContent(JsonSerializer.Serialize(order), System.Text.Encoding.UTF8, "application/json");
var response = await _httpClient.PutAsync(uri, orderContent);
diff --git a/src/Web/WebMVC/ViewModels/BasketItem.cs b/src/Web/WebMVC/ViewModels/BasketItem.cs
index 115871f966..28d0752c6c 100644
--- a/src/Web/WebMVC/ViewModels/BasketItem.cs
+++ b/src/Web/WebMVC/ViewModels/BasketItem.cs
@@ -3,7 +3,7 @@
public record BasketItem
{
public string Id { get; init; }
- public string ProductId { get; init; }
+ public int ProductId { get; init; }
public string ProductName { get; init; }
public decimal UnitPrice { get; init; }
public decimal OldUnitPrice { get; init; }
diff --git a/src/Web/WebMVC/ViewModels/Converters/NumberToStringConverter.cs b/src/Web/WebMVC/ViewModels/Converters/NumberToStringConverter.cs
new file mode 100644
index 0000000000..cd5b8275ab
--- /dev/null
+++ b/src/Web/WebMVC/ViewModels/Converters/NumberToStringConverter.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Threading.Tasks;
+
+namespace Microsoft.eShopOnContainers.WebMVC.ViewModels
+{
+ public class NumberToStringConverter : JsonConverter
+ {
+ public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ if (reader.TokenType == JsonTokenType.Number)
+ {
+ var numberValue = reader.GetInt32();
+ return numberValue.ToString();
+ }
+ else if (reader.TokenType == JsonTokenType.String)
+ {
+ return reader.GetString();
+ }
+ else
+ {
+ throw new JsonException();
+ }
+ }
+
+ public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(value);
+ }
+ }
+}
diff --git a/src/Web/WebMVC/ViewModels/Order.cs b/src/Web/WebMVC/ViewModels/Order.cs
index 4de37ca004..475f1cbe35 100644
--- a/src/Web/WebMVC/ViewModels/Order.cs
+++ b/src/Web/WebMVC/ViewModels/Order.cs
@@ -1,16 +1,17 @@
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.eShopOnContainers.WebMVC.ViewModels.Annotations;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
+using System.Text.Json.Serialization;
using WebMVC.Services.ModelDTOs;
namespace Microsoft.eShopOnContainers.WebMVC.ViewModels
{
public class Order
- {
+ {
+ [JsonConverter(typeof(NumberToStringConverter))]
public string OrderNumber { get; set; }
public DateTime Date { get; set; }
@@ -53,11 +54,8 @@ public class Order
public List ActionCodeSelectList =>
GetActionCodesByCurrentState();
-
- // See the property initializer syntax below. This
- // initializes the compiler generated field for this
- // auto-implemented property.
- public List OrderItems { get; } = new List();
+
+ public List OrderItems { get; set; }
[Required]
public Guid RequestId { get; set; }
diff --git a/src/Web/WebSPA/WebSPA.csproj b/src/Web/WebSPA/WebSPA.csproj
index 7b9c9ee584..533b91db75 100644
--- a/src/Web/WebSPA/WebSPA.csproj
+++ b/src/Web/WebSPA/WebSPA.csproj
@@ -94,8 +94,7 @@
-
-
+
diff --git a/src/Web/WebhookClient/Pages/RegisterWebhook.cshtml.cs b/src/Web/WebhookClient/Pages/RegisterWebhook.cshtml.cs
index 8ff384b418..7a0ad5fdc0 100644
--- a/src/Web/WebhookClient/Pages/RegisterWebhook.cshtml.cs
+++ b/src/Web/WebhookClient/Pages/RegisterWebhook.cshtml.cs
@@ -2,12 +2,12 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System.Net;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Threading.Tasks;
using WebhookClient.Models;
+using System.Text.Json;
namespace WebhookClient.Pages
{
@@ -66,7 +66,7 @@ public async Task OnPost()
}
else
{
- RequestBodyJson = JsonConvert.SerializeObject(payload);
+ RequestBodyJson = JsonSerializer.Serialize(payload);
ResponseCode = (int)response.StatusCode;
ResponseMessage = response.ReasonPhrase;
GrantUrl = granturl;
diff --git a/src/Web/WebhookClient/Services/WebhooksClient.cs b/src/Web/WebhookClient/Services/WebhooksClient.cs
index 3293f282d7..dc12aaf37e 100644
--- a/src/Web/WebhookClient/Services/WebhooksClient.cs
+++ b/src/Web/WebhookClient/Services/WebhooksClient.cs
@@ -1,9 +1,9 @@
using Microsoft.Extensions.Options;
-using Newtonsoft.Json;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using WebhookClient.Models;
+using System.Text.Json;
namespace WebhookClient.Services
{
@@ -22,7 +22,10 @@ public async Task> LoadWebhooks()
var client = _httpClientFactory.CreateClient("GrantClient");
var response = await client.GetAsync(_settings.WebhooksUrl + "/api/v1/webhooks");
var json = await response.Content.ReadAsStringAsync();
- var subscriptions = JsonConvert.DeserializeObject>(json);
+ var subscriptions = JsonSerializer.Deserialize>(json, new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ });
return subscriptions;
}
}
From 911a5c52be4b9551284b56b50113f52cc8d00d6c Mon Sep 17 00:00:00 2001
From: Sumit Ghosh <13281246+sughosneo@users.noreply.github.com>
Date: Wed, 5 May 2021 14:48:19 +0530
Subject: [PATCH 36/76] Enabled zipkin configuration
---
.../helm/basket-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/basket-api/values.yaml | 6 +++++-
.../helm/catalog-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/catalog-api/values.yaml | 4 ++++
.../identity-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/identity-api/values.yaml | 5 ++++-
.../templates/configmap.yaml | 2 ++
deploy/k8s/helm/mobileshoppingagg/values.yaml | 4 ++++
.../ordering-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/ordering-api/values.yaml | 6 +++++-
.../templates/configmap.yaml | 4 +++-
.../helm/ordering-backgroundtasks/values.yaml | 4 ++++
.../templates/configmap.yaml | 4 +++-
.../k8s/helm/ordering-signalrhub/values.yaml | 4 ++++
.../helm/payment-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/payment-api/values.yaml | 4 ++++
.../webhooks-api/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/webhooks-api/values.yaml | 4 ++++
.../webhooks-web/templates/configmap.yaml | 2 ++
deploy/k8s/helm/webhooks-web/values.yaml | 4 ++++
.../webshoppingagg/templates/configmap.yaml | 2 ++
deploy/k8s/helm/webshoppingagg/values.yaml | 5 ++++-
.../k8s/helm/webspa/templates/configmap.yaml | 4 +++-
deploy/k8s/helm/webspa/values.yaml | 4 ++++
.../Mobile.Shopping.HttpAggregator.csproj | 1 +
.../Mobile.Bff.Shopping/aggregator/Startup.cs | 10 ++++++++++
.../Web.Bff.Shopping/aggregator/Startup.cs | 10 ++++++++++
.../Web.Shopping.HttpAggregator.csproj | 1 +
.../Basket/Basket.API/Basket.API.csproj | 12 -----------
src/Services/Basket/Basket.API/Startup.cs | 20 +++++++++----------
.../Ordering/Ordering.API/Ordering.API.csproj | 12 -----------
src/Web/WebMVC/Startup.cs | 1 +
src/Web/WebMVC/WebMVC.csproj | 11 ----------
src/docker-compose.opentelemetry.zipkin.yml | 12 ++++++++++-
34 files changed, 127 insertions(+), 59 deletions(-)
diff --git a/deploy/k8s/helm/basket-api/templates/configmap.yaml b/deploy/k8s/helm/basket-api/templates/configmap.yaml
index 8a36f74ace..5fef3c911c 100644
--- a/deploy/k8s/helm/basket-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/basket-api/templates/configmap.yaml
@@ -1,4 +1,5 @@
{{- $name := include "basket-api.fullname" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -14,4 +15,5 @@ data:
urls__IdentityUrl: http://{{ .Values.app.svc.identity }}
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
- all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
\ No newline at end of file
+ all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/basket-api/values.yaml b/deploy/k8s/helm/basket-api/values.yaml
index dcd6aa763b..c422f1a9b2 100644
--- a/deploy/k8s/helm/basket-api/values.yaml
+++ b/deploy/k8s/helm/basket-api/values.yaml
@@ -36,6 +36,8 @@ env:
key: all__UseAzureServiceBus
- name: IdentityUrl
key: urls__IdentityUrl
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: OrchestratorType
@@ -43,7 +45,9 @@ env:
- name: PORT
value: "80"
- name: GRPC_PORT
- value: "81"
+ value: "81"
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/catalog-api/templates/configmap.yaml b/deploy/k8s/helm/catalog-api/templates/configmap.yaml
index 292b9e9b91..5795cc03a5 100644
--- a/deploy/k8s/helm/catalog-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/catalog-api/templates/configmap.yaml
@@ -2,6 +2,7 @@
{{- $sqlsrv := include "sql-name" . -}}
{{- $webshoppingapigw := include "url-of" (list .Values.app.ingress.entries.webshoppingapigw .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -18,4 +19,5 @@ data:
catalog__AzureStorageEnabled: "{{ .Values.inf.misc.useAzureStorage }}"
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
- all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
\ No newline at end of file
+ all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/catalog-api/values.yaml b/deploy/k8s/helm/catalog-api/values.yaml
index 0de49b7f6c..7564a393f6 100644
--- a/deploy/k8s/helm/catalog-api/values.yaml
+++ b/deploy/k8s/helm/catalog-api/values.yaml
@@ -38,6 +38,8 @@ env:
key: all__EventBusConnection
- name: AzureServiceBusEnabled
key: all__UseAzureServiceBus
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -48,6 +50,8 @@ env:
value: "80"
- name: GRPC_PORT
value: "81"
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/identity-api/templates/configmap.yaml b/deploy/k8s/helm/identity-api/templates/configmap.yaml
index 7c670f6469..3b03f4db89 100644
--- a/deploy/k8s/helm/identity-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/identity-api/templates/configmap.yaml
@@ -9,6 +9,7 @@
{{- $xamarincallback := include "url-of" (list "xamarincallback" .) -}}
{{- $webhooks_url := include "url-of" (list .Values.app.ingress.entries.webhooks .) -}}
{{- $webhooksweb_url := include "url-of" (list .Values.app.ingress.entries.webhooksweb .) -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -32,4 +33,5 @@ data:
xamarin_callback_e: http://{{ $xamarincallback }}
webhooksapi_e: http://{{ $webhooks_url }}
webhooksweb_e: http://{{ $webhooksweb_url }}
- enableDevspaces: "{{ .Values.enableDevspaces }}"
\ No newline at end of file
+ enableDevspaces: "{{ .Values.enableDevspaces }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/identity-api/values.yaml b/deploy/k8s/helm/identity-api/values.yaml
index 92fd57283b..c716965e3d 100644
--- a/deploy/k8s/helm/identity-api/values.yaml
+++ b/deploy/k8s/helm/identity-api/values.yaml
@@ -56,6 +56,8 @@ env:
key: webhooksweb_e
- name: EnableDevspaces
key: enableDevspaces
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
values:
- name: ASPNETCORE_ENVIRONMENT
value: Development
@@ -63,7 +65,8 @@ env:
value: 'K8S'
- name: IsClusterEnv
value: 'True'
-
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/mobileshoppingagg/templates/configmap.yaml b/deploy/k8s/helm/mobileshoppingagg/templates/configmap.yaml
index cc66723d4e..deca5b4809 100644
--- a/deploy/k8s/helm/mobileshoppingagg/templates/configmap.yaml
+++ b/deploy/k8s/helm/mobileshoppingagg/templates/configmap.yaml
@@ -1,6 +1,7 @@
{{- $name := include "mobileshoppingagg.fullname" . -}}
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -27,3 +28,4 @@ data:
internalurls__grpcCatalog: "http://{{ .Values.app.svc.catalog }}:{{ .Values.service.grpcPort }}"
internalurls__grpcOrdering: "http://{{ .Values.app.svc.ordering }}:{{ .Values.service.grpcPort }}"
urls__IdentityUrlExternal: {{ $protocol }}://{{ $identity }}
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
diff --git a/deploy/k8s/helm/mobileshoppingagg/values.yaml b/deploy/k8s/helm/mobileshoppingagg/values.yaml
index 960601da0d..506a66d7a6 100644
--- a/deploy/k8s/helm/mobileshoppingagg/values.yaml
+++ b/deploy/k8s/helm/mobileshoppingagg/values.yaml
@@ -59,6 +59,8 @@ env:
key: internalurls__grpcOrdering
- name: IdentityUrlExternal
key: urls__IdentityUrlExternal
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -69,6 +71,8 @@ env:
value: 'K8S'
- name: IsClusterEnv
value: 'True'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/ordering-api/templates/configmap.yaml b/deploy/k8s/helm/ordering-api/templates/configmap.yaml
index e93dddd5cb..714787c8a0 100644
--- a/deploy/k8s/helm/ordering-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/ordering-api/templates/configmap.yaml
@@ -1,5 +1,6 @@
{{- $name := include "ordering-api.fullname" . -}}
{{- $sqlsrv := include "sql-name" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -15,4 +16,5 @@ data:
urls__IdentityUrl: http://{{ .Values.app.svc.identity }}
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
- all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
\ No newline at end of file
+ all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/ordering-api/values.yaml b/deploy/k8s/helm/ordering-api/values.yaml
index 505ccc3793..017c18d55c 100644
--- a/deploy/k8s/helm/ordering-api/values.yaml
+++ b/deploy/k8s/helm/ordering-api/values.yaml
@@ -43,6 +43,8 @@ env:
key: all__UseAzureServiceBus
- name: IdentityUrl
key: urls__IdentityUrl
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -52,7 +54,9 @@ env:
- name: PORT
value: "80"
- name: GRPC_PORT
- value: "81"
+ value: "81"
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml b/deploy/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml
index 7ed4a0e8e2..23f046e11d 100644
--- a/deploy/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml
+++ b/deploy/k8s/helm/ordering-backgroundtasks/templates/configmap.yaml
@@ -1,6 +1,7 @@
{{- $name := include "ordering-backgroundtasks.fullname" . -}}
{{- $sqlsrv := include "sql-name" . -}}
{{- $cfgname := printf "cfg-%s" $name | trunc 63 }}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -18,4 +19,5 @@ data:
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
graceperiodmanager__CheckUpdateTime: "{{ .Values.cfg.checkUpdateTime }}"
- graceperiodmanager__GracePeriodTime: "{{ .Values.cfg.gracePeriodTime }}"
\ No newline at end of file
+ graceperiodmanager__GracePeriodTime: "{{ .Values.cfg.gracePeriodTime }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/ordering-backgroundtasks/values.yaml b/deploy/k8s/helm/ordering-backgroundtasks/values.yaml
index 18abe99a53..8b3ac27c83 100644
--- a/deploy/k8s/helm/ordering-backgroundtasks/values.yaml
+++ b/deploy/k8s/helm/ordering-backgroundtasks/values.yaml
@@ -48,12 +48,16 @@ env:
key: graceperiodmanager__CheckUpdateTime
- name: GracePeriodTime
key: graceperiodmanager__GracePeriodTime
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
value: Development
- name: OrchestratorType
value: 'K8S'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/ordering-signalrhub/templates/configmap.yaml b/deploy/k8s/helm/ordering-signalrhub/templates/configmap.yaml
index 98e94b3c3a..2e3b0d330e 100644
--- a/deploy/k8s/helm/ordering-signalrhub/templates/configmap.yaml
+++ b/deploy/k8s/helm/ordering-signalrhub/templates/configmap.yaml
@@ -1,5 +1,6 @@
{{- $name := include "ordering-signalrhub.fullname" . -}}
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -15,4 +16,5 @@ data:
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
signalr__StoreConnectionString: {{ .Values.inf.redis.keystore.constr }}
- urls__IdentityUrl: http://identity-api
\ No newline at end of file
+ urls__IdentityUrl: http://identity-api
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/ordering-signalrhub/values.yaml b/deploy/k8s/helm/ordering-signalrhub/values.yaml
index 19099b147c..47c1f159f5 100644
--- a/deploy/k8s/helm/ordering-signalrhub/values.yaml
+++ b/deploy/k8s/helm/ordering-signalrhub/values.yaml
@@ -46,6 +46,8 @@ env:
key: urls__IdentityUrl
- name: SignalrStoreConnectionString
key: signalr__StoreConnectionString
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -54,4 +56,6 @@ env:
value: 'K8S'
- name: IsClusterEnv
values: 'True'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
diff --git a/deploy/k8s/helm/payment-api/templates/configmap.yaml b/deploy/k8s/helm/payment-api/templates/configmap.yaml
index 3bdb95c0fa..3b3c76c209 100644
--- a/deploy/k8s/helm/payment-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/payment-api/templates/configmap.yaml
@@ -1,4 +1,5 @@
{{- $name := include "payment-api.fullname" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -12,4 +13,5 @@ metadata:
data:
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
- all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
\ No newline at end of file
+ all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/payment-api/values.yaml b/deploy/k8s/helm/payment-api/values.yaml
index 341e4e1a95..03572313bb 100644
--- a/deploy/k8s/helm/payment-api/values.yaml
+++ b/deploy/k8s/helm/payment-api/values.yaml
@@ -36,12 +36,16 @@ env:
key: all__EventBusConnection
- name: AzureServiceBusEnabled
key: all__UseAzureServiceBus
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
value: Development
- name: OrchestratorType
value: 'K8S'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/webhooks-api/templates/configmap.yaml b/deploy/k8s/helm/webhooks-api/templates/configmap.yaml
index 05b9b7f572..0bd71d51a4 100644
--- a/deploy/k8s/helm/webhooks-api/templates/configmap.yaml
+++ b/deploy/k8s/helm/webhooks-api/templates/configmap.yaml
@@ -2,6 +2,7 @@
{{- $sqlsrv := include "sql-name" . -}}
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -18,4 +19,5 @@ data:
urls__IdentityUrlExternal: {{ $protocol }}://{{ $identity }}
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
- all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
\ No newline at end of file
+ all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/webhooks-api/values.yaml b/deploy/k8s/helm/webhooks-api/values.yaml
index f6b1957e93..2d3bb11f23 100644
--- a/deploy/k8s/helm/webhooks-api/values.yaml
+++ b/deploy/k8s/helm/webhooks-api/values.yaml
@@ -44,10 +44,14 @@ env:
key: urls__IdentityUrl
- name: IdentityUrlExternal
key: urls__IdentityUrlExternal
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
value: Development
- name: OrchestratorType
value: 'K8S'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
diff --git a/deploy/k8s/helm/webhooks-web/templates/configmap.yaml b/deploy/k8s/helm/webhooks-web/templates/configmap.yaml
index bd09c7c622..fe90bc29ee 100644
--- a/deploy/k8s/helm/webhooks-web/templates/configmap.yaml
+++ b/deploy/k8s/helm/webhooks-web/templates/configmap.yaml
@@ -3,6 +3,7 @@
{{- $webhooksweb := include "url-of" (list .Values.app.ingress.entries.webhooksweb .) -}}
{{- $webhooks := include "url-of" (list .Values.app.ingress.entries.webhooks .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -18,3 +19,4 @@ data:
identity_e: {{ $protocol }}://{{ $identity }}
webhooksweb_e: {{ $protocol }}://{{ $webhooksweb }}
urls_webhooksweb: http://{{ .Values.app.svc.webhooksweb }}
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
diff --git a/deploy/k8s/helm/webhooks-web/values.yaml b/deploy/k8s/helm/webhooks-web/values.yaml
index 0e5b04b57e..dab101ae2f 100644
--- a/deploy/k8s/helm/webhooks-web/values.yaml
+++ b/deploy/k8s/helm/webhooks-web/values.yaml
@@ -40,6 +40,8 @@ env:
key: webhooksweb_e
- name: SelfUrl
key: webhooksweb_e
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -48,5 +50,7 @@ env:
value: 'K8S'
- name: Token
value: "WebHooks-Demo-Web" # Can use whatever you want
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
diff --git a/deploy/k8s/helm/webshoppingagg/templates/configmap.yaml b/deploy/k8s/helm/webshoppingagg/templates/configmap.yaml
index 0bfb690c17..0abdcb4abd 100644
--- a/deploy/k8s/helm/webshoppingagg/templates/configmap.yaml
+++ b/deploy/k8s/helm/webshoppingagg/templates/configmap.yaml
@@ -1,6 +1,7 @@
{{- $name := include "webshoppingagg.fullname" . -}}
{{- $identity := include "url-of" (list .Values.app.ingress.entries.identity .) -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -27,3 +28,4 @@ data:
internalurls__grpcCatalog: "http://{{ .Values.app.svc.catalog }}:{{ .Values.service.grpcPort }}"
internalurls__grpcOrdering: "http://{{ .Values.app.svc.ordering }}:{{ .Values.service.grpcPort }}"
urls__IdentityUrlExternal: {{ $protocol }}://{{ $identity }}
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
diff --git a/deploy/k8s/helm/webshoppingagg/values.yaml b/deploy/k8s/helm/webshoppingagg/values.yaml
index b85210afa5..e63dbe6e65 100644
--- a/deploy/k8s/helm/webshoppingagg/values.yaml
+++ b/deploy/k8s/helm/webshoppingagg/values.yaml
@@ -59,7 +59,8 @@ env:
key: internalurls__grpcOrdering
- name: IdentityUrlExternal
key: urls__IdentityUrlExternal
-
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -70,6 +71,8 @@ env:
value: 'K8S'
- name: IsClusterEnv
value: 'True'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
probes:
liveness:
path: /liveness
diff --git a/deploy/k8s/helm/webspa/templates/configmap.yaml b/deploy/k8s/helm/webspa/templates/configmap.yaml
index e5ca69308e..5d6e75edec 100644
--- a/deploy/k8s/helm/webspa/templates/configmap.yaml
+++ b/deploy/k8s/helm/webspa/templates/configmap.yaml
@@ -4,6 +4,7 @@
{{- $spa := include "url-of" (list .Values.app.ingress.entries.spa .) -}}
{{- $mongo := include "mongo-name" . -}}
{{- $protocol := include "protocol" . -}}
+{{- $zipkin := include "url-of" (list .Values.app.ingress.entries.zipkin .) -}}
apiVersion: v1
kind: ConfigMap
@@ -21,4 +22,5 @@ data:
internalurls__identity__hc: http://{{ .Values.app.svc.identity }}/hc
urls__apigwws: {{ $protocol }}://{{ $webshoppingapigw }}
urls__spa: {{ $protocol }}://{{ $spa }}
- urls__IdentityUrl: {{ $protocol }}://{{ $identity }}
\ No newline at end of file
+ urls__IdentityUrl: {{ $protocol }}://{{ $identity }}
+ urls__Otel__ExporterEndpoint: http://{{ .Values.app.svc.zipkin }}:9411/api/v2/spans
\ No newline at end of file
diff --git a/deploy/k8s/helm/webspa/values.yaml b/deploy/k8s/helm/webspa/values.yaml
index 08e1481111..a850a824b1 100644
--- a/deploy/k8s/helm/webspa/values.yaml
+++ b/deploy/k8s/helm/webspa/values.yaml
@@ -44,6 +44,8 @@ env:
key: internalurls__identity__hc
- name: SignalrHubUrl
key: urls__apigwws
+ - name: OTEL_EXPORTER_TOOL_ENDPOINT
+ key: urls__Otel__ExporterEndpoint
# values define environment variables with a fixed value (no configmap involved) (name is name of var, and value is its value)
values:
- name: ASPNETCORE_ENVIRONMENT
@@ -54,4 +56,6 @@ env:
value: 'K8S'
- name: IsClusterEnv
value: 'True'
+ - name: OTEL_USE_EXPORTER
+ value: 'zipkin'
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
index 4a982fc2de..41a1ec869d 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
@@ -33,6 +33,7 @@
+
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
index 3e1ec38870..20a5bac3a3 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
@@ -22,6 +22,8 @@
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
+using OpenTelemetry.Customization.Extensions;
+using OpenTelemetry.Customization;
namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator
{
@@ -50,6 +52,14 @@ public void ConfigureServices(IServiceCollection services)
.AddDevspaces()
.AddHttpServices()
.AddGrpcServices();
+
+ // Add Telemetry
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "mobileshoppingagg",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
index 99780f66f5..746961e4cd 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
@@ -19,9 +19,11 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
+using OpenTelemetry.Customization;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
+using OpenTelemetry.Customization.Extensions;
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
{
@@ -50,6 +52,14 @@ public void ConfigureServices(IServiceCollection services)
.AddDevspaces()
.AddApplicationServices()
.AddGrpcServices();
+
+ // Add Telemetry
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "webshoppingagg",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
index 2bae6e150d..6873b50458 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
@@ -35,6 +35,7 @@
+
diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index 2459f2dc63..3649731a59 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -49,18 +49,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs
index 33cb431167..8b397c9ff2 100644
--- a/src/Services/Basket/Basket.API/Startup.cs
+++ b/src/Services/Basket/Basket.API/Startup.cs
@@ -53,7 +53,15 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
services.AddGrpc(options =>
{
options.EnableDetailedErrors = true;
- });
+ });
+
+ // Add Telemetry
+ services.AddOpenTelemetry(new OpenTelemetryConfig()
+ {
+ ServiceName = "Basket.API",
+ ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
+ ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
+ });
RegisterAppInsights(services);
@@ -188,15 +196,7 @@ public virtual IServiceProvider ConfigureServices(IServiceCollection services)
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory, ConnectionMultiplexer connectionMultiplexer)
- {
-
- OpenTelemetryExtensions.AddOpenTelemetry(connectionMultiplexer,new OpenTelemetryConfig()
- {
- ServiceName = "Basket.API",
- ExportType = Configuration.GetValue("OTEL_USE_EXPORTER"),
- ExportToolEndpoint = Configuration.GetValue("OTEL_EXPORTER_TOOL_ENDPOINT")
- });
-
+ {
//loggerFactory.AddAzureWebAppDiagnostics();
//loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Trace);
diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
index cbaaf3761e..8e535b2cf1 100644
--- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj
+++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
@@ -74,18 +74,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
PreserveNewest
diff --git a/src/Web/WebMVC/Startup.cs b/src/Web/WebMVC/Startup.cs
index 209f033938..c6ec61fcc6 100644
--- a/src/Web/WebMVC/Startup.cs
+++ b/src/Web/WebMVC/Startup.cs
@@ -44,6 +44,7 @@ public void ConfigureServices(IServiceCollection services)
.AddDevspaces()
.AddHttpClientServices(Configuration);
+ // Add Telemetry
services.AddOpenTelemetry(new OpenTelemetryConfig()
{
ServiceName = "WebMVC",
diff --git a/src/Web/WebMVC/WebMVC.csproj b/src/Web/WebMVC/WebMVC.csproj
index 1359150115..d5279dd0e4 100644
--- a/src/Web/WebMVC/WebMVC.csproj
+++ b/src/Web/WebMVC/WebMVC.csproj
@@ -48,17 +48,6 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/docker-compose.opentelemetry.zipkin.yml b/src/docker-compose.opentelemetry.zipkin.yml
index 96908ec574..7e83c19c1e 100644
--- a/src/docker-compose.opentelemetry.zipkin.yml
+++ b/src/docker-compose.opentelemetry.zipkin.yml
@@ -40,7 +40,17 @@ services:
environment:
- OTEL_USE_EXPORTER=zipkin
- OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
-
+
+ webshoppingagg:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
+ mobileshoppingagg:
+ environment:
+ - OTEL_USE_EXPORTER=zipkin
+ - OTEL_EXPORTER_TOOL_ENDPOINT=${OTEL_EXPORTER_TOOL_ENDPOINT:-http://zipkin:9411/api/v2/spans}
+
webmvc:
environment:
- OTEL_USE_EXPORTER=zipkin
From fb657f0634ec0831ccae3495c7355e51026ee647 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 5 May 2021 16:21:40 +0530
Subject: [PATCH 37/76] Bump merge from 1.2.1 to 2.1.1 in /src/Web/WebSPA
(#1662)
Bumps [merge](https://github.com/yeikos/js.merge) from 1.2.1 to 2.1.1.
- [Release notes](https://github.com/yeikos/js.merge/releases)
- [Commits](https://github.com/yeikos/js.merge/compare/v1.2.1...v2.1.1)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 46 +++++++++++++++++++++++---------
src/Web/WebSPA/package.json | 2 +-
2 files changed, 35 insertions(+), 13 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 724c290735..81b21458a8 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -7794,8 +7794,7 @@
"html-comment-regex": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
- "dev": true
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
},
"html-entities": {
"version": "1.3.3",
@@ -8477,7 +8476,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.2.tgz",
"integrity": "sha512-JlA7Mc7mfWjdxxTkJ094oUK9amGD7gQaj5xA/NCY0vlVvZ1stmj4VX+bRuwOMN93IHRZ2ctpPH/0FO6DqvQ5Rw==",
- "dev": true,
"requires": {
"html-comment-regex": "^1.1.2"
}
@@ -9599,9 +9597,9 @@
}
},
"merge": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
- "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz",
+ "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==",
"dev": true
},
"merge-descriptors": {
@@ -9758,7 +9756,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
"integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "dev": true,
"requires": {
"yallist": "^4.0.0"
}
@@ -11656,6 +11653,15 @@
"svgo": "^1.0.0"
},
"dependencies": {
+ "is-svg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
@@ -13516,6 +13522,12 @@
"graceful-fs": "^4.1.6"
}
},
+ "merge": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
+ "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
+ "dev": true
+ },
"onetime": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
@@ -14411,18 +14423,26 @@
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
"integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
- "dev": true,
"requires": {
"faye-websocket": "^0.10.0",
"uuid": "^3.4.0",
"websocket-driver": "0.6.5"
+ },
+ "dependencies": {
+ "websocket-driver": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
+ "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+ "requires": {
+ "websocket-extensions": ">=0.1.1"
+ }
+ }
}
},
"sockjs-client": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
"integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
- "dev": true,
"requires": {
"debug": "^3.2.5",
"eventsource": "^1.0.7",
@@ -14436,7 +14456,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"requires": {
"ms": "^2.1.1"
}
@@ -14445,10 +14464,14 @@
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
"integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
- "dev": true,
"requires": {
"websocket-driver": ">=0.5.1"
}
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
}
}
},
@@ -14787,7 +14810,6 @@
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
- "dev": true,
"requires": {
"minipass": "^3.1.1"
}
diff --git a/src/Web/WebSPA/package.json b/src/Web/WebSPA/package.json
index 43358a1e36..ee21b3b494 100644
--- a/src/Web/WebSPA/package.json
+++ b/src/Web/WebSPA/package.json
@@ -82,7 +82,7 @@
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"lodash": "^4.17.19",
- "merge": "1.2.1",
+ "merge": "2.1.1",
"npm-watch": "0.5.0",
"protractor": "~7.0.0",
"rxjs-tslint": "^0.1.7",
From 6007bdc2b1c7affebdf2eabb37ca1752333578f8 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Wed, 5 May 2021 19:41:28 +0530
Subject: [PATCH 38/76] Updated xmlhttprequest-ssl package to 1.6.2 (#1664)
---
src/Web/WebSPA/package-lock.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 81b21458a8..0b63a28999 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -14273,7 +14273,7 @@
"parseqs": "0.0.6",
"parseuri": "0.0.6",
"ws": "~7.4.2",
- "xmlhttprequest-ssl": "~1.5.4",
+ "xmlhttprequest-ssl": "^1.6.2",
"yeast": "0.1.2"
},
"dependencies": {
@@ -17086,9 +17086,9 @@
"dev": true
},
"xmlhttprequest-ssl": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
- "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.2.tgz",
+ "integrity": "sha512-tYOaldF/0BLfKuoA39QMwD4j2m8lq4DIncqj1yuNELX4vz9+z/ieG/vwmctjJce+boFHXstqhWnHSxc4W8f4qg==",
"dev": true
},
"xregexp": {
From 6b0890f90bca09b69b8f295ea3520aec9aac5e7c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 May 2021 12:09:15 +0530
Subject: [PATCH 39/76] Bump handlebars from 4.7.6 to 4.7.7 in /src/Web/WebSPA
(#1665)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 12 ++++++------
src/Web/WebSPA/package.json | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 0b63a28999..d627a2517d 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -7584,9 +7584,9 @@
"integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg=="
},
"handlebars": {
- "version": "4.7.6",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
- "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
+ "version": "4.7.7",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
+ "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
"requires": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
@@ -15824,9 +15824,9 @@
"dev": true
},
"uglify-js": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.1.tgz",
- "integrity": "sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ==",
+ "version": "3.13.5",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.5.tgz",
+ "integrity": "sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==",
"optional": true
},
"undefsafe": {
diff --git a/src/Web/WebSPA/package.json b/src/Web/WebSPA/package.json
index ee21b3b494..5ab8436a9f 100644
--- a/src/Web/WebSPA/package.json
+++ b/src/Web/WebSPA/package.json
@@ -73,7 +73,7 @@
"@types/selenium-webdriver": "3.0.10",
"codelyzer": "^5.1.2",
"eslint": "^6.8.0",
- "handlebars": "^4.7.6",
+ "handlebars": "^4.7.7",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.0.0",
From 6556c4f4cc91e736c32322c59ed904372f5218e1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 May 2021 12:09:36 +0530
Subject: [PATCH 40/76] Bump url-parse from 1.4.7 to 1.5.1 in /src/Web/WebSPA
(#1666)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index d627a2517d..b4035edc94 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -16137,9 +16137,9 @@
}
},
"url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
+ "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
From 3521fb892cfda026bb6fd1ef4af7ade28a844abf Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 May 2021 12:10:01 +0530
Subject: [PATCH 41/76] Bump lodash from 4.17.20 to 4.17.21 in /src/Web/WebSPA
(#1667)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 6 +++---
src/Web/WebSPA/package.json | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index b4035edc94..3f4bc54e89 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -9312,9 +9312,9 @@
}
},
"lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.capitalize": {
"version": "4.2.1",
diff --git a/src/Web/WebSPA/package.json b/src/Web/WebSPA/package.json
index 5ab8436a9f..665d33c0a9 100644
--- a/src/Web/WebSPA/package.json
+++ b/src/Web/WebSPA/package.json
@@ -81,7 +81,7 @@
"karma-cli": "^2.0.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
- "lodash": "^4.17.19",
+ "lodash": "^4.17.21",
"merge": "2.1.1",
"npm-watch": "0.5.0",
"protractor": "~7.0.0",
From 2b8b6b52063512a95fa0dbde02de8968764d41ca Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Fri, 7 May 2021 16:41:24 +0530
Subject: [PATCH 42/76] Updated package versions (#1669)
---
src/Web/WebSPA/package-lock.json | 40 ++++++++++++++++----------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 3f4bc54e89..a8ab0469eb 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -7760,9 +7760,9 @@
}
},
"hosted-git-info": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
- "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -8804,7 +8804,7 @@
"socket.io": "^2.3.0",
"source-map": "^0.6.1",
"tmp": "0.2.1",
- "ua-parser-js": "0.7.21",
+ "ua-parser-js": "^0.7.24",
"yargs": "^15.3.1"
},
"dependencies": {
@@ -10070,16 +10070,16 @@
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"requires": {
- "hosted-git-info": "^2.1.4",
+ "hosted-git-info": "^3.0.8",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
},
"dependencies": {
"hosted-git-info": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
"dev": true
},
"semver": {
@@ -10142,7 +10142,7 @@
"integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==",
"dev": true,
"requires": {
- "hosted-git-info": "^3.0.2",
+ "hosted-git-info": "^3.0.8",
"semver": "^7.0.0",
"validate-npm-package-name": "^3.0.0"
}
@@ -10185,9 +10185,9 @@
},
"dependencies": {
"hosted-git-info": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
"dev": true
},
"lru-cache": {
@@ -10205,7 +10205,7 @@
"integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
"dev": true,
"requires": {
- "hosted-git-info": "^2.7.1",
+ "hosted-git-info": "^3.0.8",
"osenv": "^0.1.5",
"semver": "^5.6.0",
"validate-npm-package-name": "^3.0.0"
@@ -10726,9 +10726,9 @@
}
},
"hosted-git-info": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+ "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
"dev": true
},
"lru-cache": {
@@ -10765,7 +10765,7 @@
"integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
"dev": true,
"requires": {
- "hosted-git-info": "^2.7.1",
+ "hosted-git-info": "^3.0.8",
"osenv": "^0.1.5",
"semver": "^5.6.0",
"validate-npm-package-name": "^3.0.0"
@@ -15818,9 +15818,9 @@
"dev": true
},
"ua-parser-js": {
- "version": "0.7.21",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
- "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
+ "version": "0.7.24",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz",
+ "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==",
"dev": true
},
"uglify-js": {
From bf7ade80d286f5d0a6c1eaa88a1aad9764a935aa Mon Sep 17 00:00:00 2001
From: David Pine
Date: Mon, 17 May 2021 02:46:38 -0500
Subject: [PATCH 43/76] Update CardType.cs (#1674)
Sync with https://github.com/dotnet/docs/pull/24236
---
.../AggregatesModel/BuyerAggregate/CardType.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
index 872a8f65d9..333aaec505 100644
--- a/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
+++ b/src/Services/Ordering/Ordering.Domain/AggregatesModel/BuyerAggregate/CardType.cs
@@ -9,9 +9,9 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.B
public class CardType
: Enumeration
{
- public static CardType Amex = new CardType(1, nameof(Amex));
- public static CardType Visa = new CardType(2, nameof(Visa));
- public static CardType MasterCard = new CardType(3, nameof(MasterCard));
+ public static CardType Amex = new(1, nameof(Amex));
+ public static CardType Visa = new(2, nameof(Visa));
+ public static CardType MasterCard = new(3, nameof(MasterCard));
public CardType(int id, string name)
: base(id, name)
From 1cbd218dc4530cccb7146de2264e4019cb1efd80 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Mon, 17 May 2021 16:31:59 +0530
Subject: [PATCH 44/76] Updates the postcss package version (#1672)
* Updated package postcss version to 8.2.10
* Updated the package version
---
src/Web/WebSPA/package-lock.json | 98 ++++++++++++++++----------------
1 file changed, 49 insertions(+), 49 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index a8ab0469eb..28049cd08b 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -100,7 +100,7 @@
"parse5": "6.0.1",
"parse5-htmlparser2-tree-adapter": "6.0.1",
"pnp-webpack-plugin": "1.6.4",
- "postcss": "7.0.32",
+ "postcss": "^8.2.10",
"postcss-import": "12.0.1",
"postcss-loader": "3.0.0",
"raw-loader": "4.0.1",
@@ -3897,7 +3897,7 @@
"colorette": "^1.2.1",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
- "postcss": "^7.0.32",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^4.1.0"
}
},
@@ -5442,7 +5442,7 @@
"integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
"dev": true,
"requires": {
- "postcss": "^7.0.1",
+ "postcss": "^8.2.10",
"timsort": "^0.3.0"
}
},
@@ -5456,7 +5456,7 @@
"cssesc": "^3.0.0",
"icss-utils": "^4.1.1",
"loader-utils": "^2.0.0",
- "postcss": "^7.0.32",
+ "postcss": "^8.2.10",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^3.0.3",
"postcss-modules-scope": "^2.2.0",
@@ -5590,7 +5590,7 @@
"cosmiconfig": "^5.0.0",
"cssnano-preset-default": "^4.0.7",
"is-resolvable": "^1.0.0",
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"cssnano-preset-default": {
@@ -5601,7 +5601,7 @@
"requires": {
"css-declaration-sorter": "^4.0.1",
"cssnano-util-raw-cache": "^4.0.1",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-calc": "^7.0.1",
"postcss-colormin": "^4.0.3",
"postcss-convert-values": "^4.0.1",
@@ -5649,7 +5649,7 @@
"integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"cssnano-util-same-parent": {
@@ -7927,7 +7927,7 @@
"integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
"dev": true,
"requires": {
- "postcss": "^7.0.14"
+ "postcss": "^8.2.10"
}
},
"ieee754": {
@@ -11035,9 +11035,9 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
+ "version": "8.2.10",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
+ "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -11120,7 +11120,7 @@
"integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==",
"dev": true,
"requires": {
- "postcss": "^7.0.27",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.0.2"
}
@@ -11134,7 +11134,7 @@
"browserslist": "^4.0.0",
"color": "^3.0.0",
"has": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11152,7 +11152,7 @@
"integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11170,7 +11170,7 @@
"integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-discard-duplicates": {
@@ -11179,7 +11179,7 @@
"integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-discard-empty": {
@@ -11188,7 +11188,7 @@
"integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-discard-overridden": {
@@ -11197,7 +11197,7 @@
"integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-import": {
@@ -11206,7 +11206,7 @@
"integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
"dev": true,
"requires": {
- "postcss": "^7.0.1",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.2.3",
"read-cache": "^1.0.0",
"resolve": "^1.1.7"
@@ -11237,7 +11237,7 @@
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-load-config": "^2.0.0",
"schema-utils": "^1.0.0"
}
@@ -11249,7 +11249,7 @@
"dev": true,
"requires": {
"css-color-names": "0.0.4",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0",
"stylehacks": "^4.0.0"
},
@@ -11271,7 +11271,7 @@
"browserslist": "^4.0.0",
"caniuse-api": "^3.0.0",
"cssnano-util-same-parent": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^3.0.0",
"vendors": "^1.0.0"
},
@@ -11295,7 +11295,7 @@
"integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
"dev": true,
"requires": {
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11315,7 +11315,7 @@
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"is-color-stop": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11336,7 +11336,7 @@
"alphanum-sort": "^1.0.0",
"browserslist": "^4.0.0",
"cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0",
"uniqs": "^2.0.0"
},
@@ -11357,7 +11357,7 @@
"requires": {
"alphanum-sort": "^1.0.0",
"has": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
@@ -11380,7 +11380,7 @@
"integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.5"
+ "postcss": "^8.2.10"
}
},
"postcss-modules-local-by-default": {
@@ -11390,7 +11390,7 @@
"dev": true,
"requires": {
"icss-utils": "^4.1.1",
- "postcss": "^7.0.32",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.1.0"
}
@@ -11401,7 +11401,7 @@
"integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.6",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^6.0.0"
}
},
@@ -11412,7 +11412,7 @@
"dev": true,
"requires": {
"icss-utils": "^4.0.0",
- "postcss": "^7.0.6"
+ "postcss": "^8.2.10"
}
},
"postcss-normalize-charset": {
@@ -11421,7 +11421,7 @@
"integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-normalize-display-values": {
@@ -11431,7 +11431,7 @@
"dev": true,
"requires": {
"cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11451,7 +11451,7 @@
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"has": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11471,7 +11471,7 @@
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11490,7 +11490,7 @@
"dev": true,
"requires": {
"has": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11509,7 +11509,7 @@
"dev": true,
"requires": {
"cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11528,7 +11528,7 @@
"dev": true,
"requires": {
"browserslist": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11548,7 +11548,7 @@
"requires": {
"is-absolute-url": "^2.0.0",
"normalize-url": "^3.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11566,7 +11566,7 @@
"integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
"dev": true,
"requires": {
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11585,7 +11585,7 @@
"dev": true,
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11606,7 +11606,7 @@
"browserslist": "^4.0.0",
"caniuse-api": "^3.0.0",
"has": "^1.0.0",
- "postcss": "^7.0.0"
+ "postcss": "^8.2.10"
}
},
"postcss-reduce-transforms": {
@@ -11617,7 +11617,7 @@
"requires": {
"cssnano-util-get-match": "^4.0.0",
"has": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
@@ -11648,7 +11648,7 @@
"dev": true,
"requires": {
"is-svg": "^3.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0",
"svgo": "^1.0.0"
},
@@ -11677,7 +11677,7 @@
"dev": true,
"requires": {
"alphanum-sort": "^1.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"uniqs": "^2.0.0"
}
},
@@ -12708,7 +12708,7 @@
"convert-source-map": "1.7.0",
"es6-iterator": "2.0.3",
"loader-utils": "1.2.3",
- "postcss": "7.0.21",
+ "postcss": "^8.2.10",
"rework": "1.0.1",
"rework-visit": "1.0.0",
"source-map": "0.6.1"
@@ -12790,9 +12790,9 @@
}
},
"postcss": {
- "version": "7.0.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
- "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
+ "version": "8.2.10",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
+ "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -15075,7 +15075,7 @@
"dev": true,
"requires": {
"browserslist": "^4.0.0",
- "postcss": "^7.0.0",
+ "postcss": "^8.2.10",
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
From 37aeaceeabfa4ff096b76a77dd47207513b7466d Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Wed, 26 May 2021 19:06:55 +0530
Subject: [PATCH 45/76] Updated dns-packet package to version 5.2.2 (#1682)
---
src/Web/WebSPA/package-lock.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 28049cd08b..ed6167cf2e 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -5970,9 +5970,9 @@
"integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
},
"dns-packet": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
- "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.2.tgz",
+ "integrity": "sha512-sQN+vLwC3PvOXiCH/oHcdzML2opFeIdVh8gjjMZrM45n4dR80QF6o3AzInQy6F9Eoc0VJYog4JpQTilt4RFLYQ==",
"requires": {
"ip": "^1.1.0",
"safe-buffer": "^5.0.1"
@@ -9866,7 +9866,7 @@
"resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
"integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
"requires": {
- "dns-packet": "^1.3.1",
+ "dns-packet": "^5.2.2",
"thunky": "^1.0.2"
}
},
From ad7ff76fedee005fcef1e1210c659f976ae9de39 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 26 May 2021 19:07:29 +0530
Subject: [PATCH 46/76] Bump browserslist from 4.16.0 to 4.16.6 in
/src/Web/WebSPA (#1679)
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.16.0 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.16.0...4.16.6)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 52 ++++++++++++++++++++------------
1 file changed, 33 insertions(+), 19 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index ed6167cf2e..9c500fab9e 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -4375,16 +4375,42 @@
}
},
"browserslist": {
- "version": "4.16.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz",
- "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==",
+ "version": "4.16.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001165",
- "colorette": "^1.2.1",
- "electron-to-chromium": "^1.3.621",
+ "caniuse-lite": "^1.0.30001219",
+ "colorette": "^1.2.2",
+ "electron-to-chromium": "^1.3.723",
"escalade": "^3.1.1",
- "node-releases": "^1.1.67"
+ "node-releases": "^1.1.71"
+ },
+ "dependencies": {
+ "caniuse-lite": {
+ "version": "1.0.30001228",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz",
+ "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.736",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz",
+ "integrity": "sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.72",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz",
+ "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==",
+ "dev": true
+ }
}
},
"browserstack": {
@@ -6093,12 +6119,6 @@
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
- "electron-to-chromium": {
- "version": "1.3.627",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.627.tgz",
- "integrity": "sha512-O5IVRS4sCxP2+vECAp7uHkaI8V+dKYpuCyBcLn+hqVAOy/RONd8zx+6eH7TuWSTBYs/oUrzBXkNMZuVsQd58kQ==",
- "dev": true
- },
"elliptic": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
@@ -10008,12 +10028,6 @@
}
}
},
- "node-releases": {
- "version": "1.1.67",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz",
- "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==",
- "dev": true
- },
"nodemon": {
"version": "1.19.4",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz",
From 8ed25875af96b0013c3f098780a1c7997e361513 Mon Sep 17 00:00:00 2001
From: Sander Obdeijn
Date: Mon, 31 May 2021 11:16:44 +0200
Subject: [PATCH 47/76] Added EventBus.Tests to solution (#1684)
* - Added EventBus.Tests to solution
- Updated targetframework to net5.0
- Consolidated nuget packages
* Added copy EventBus.Tests.csproj to DockerFile's
---
.../Mobile.Bff.Shopping/aggregator/Dockerfile | 1 +
.../Web.Bff.Shopping/aggregator/Dockerfile | 1 +
.../EventBus.Tests/EventBus.Tests.csproj | 11 ++--
.../EventBus.Tests/TestIntegrationEvent.cs | 2 +-
src/Services/Basket/Basket.API/Dockerfile | 1 +
src/Services/Catalog/Catalog.API/Dockerfile | 1 +
src/Services/Identity/Identity.API/Dockerfile | 1 +
src/Services/Ordering/Ordering.API/Dockerfile | 1 +
.../Ordering.BackgroundTasks/Dockerfile | 1 +
.../Ordering/Ordering.SignalrHub/Dockerfile | 1 +
src/Services/Payment/Payment.API/Dockerfile | 1 +
src/Services/Webhooks/Webhooks.API/Dockerfile | 1 +
src/Web/WebMVC/Dockerfile | 1 +
src/Web/WebSPA/Dockerfile | 1 +
src/Web/WebStatus/Dockerfile | 1 +
src/Web/WebhookClient/Dockerfile | 1 +
src/eShopOnContainers-ServicesAndWebApps.sln | 54 +++++++++++++++++++
17 files changed, 76 insertions(+), 5 deletions(-)
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
index d64cd2f77d..1bba584c20 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
index 6a7eb023bc..c7b1b87a61 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj b/src/BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj
index a05d5157d0..3ea8e4b20a 100644
--- a/src/BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj
+++ b/src/BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj
@@ -1,13 +1,16 @@
- netstandard2.1
+ net5.0
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/src/BuildingBlocks/EventBus/EventBus.Tests/TestIntegrationEvent.cs b/src/BuildingBlocks/EventBus/EventBus.Tests/TestIntegrationEvent.cs
index a77f3ef6fc..4e85e7ae67 100644
--- a/src/BuildingBlocks/EventBus/EventBus.Tests/TestIntegrationEvent.cs
+++ b/src/BuildingBlocks/EventBus/EventBus.Tests/TestIntegrationEvent.cs
@@ -5,7 +5,7 @@
namespace EventBus.Tests
{
- public class TestIntegrationEvent : IntegrationEvent
+ public record TestIntegrationEvent : IntegrationEvent
{
}
}
diff --git a/src/Services/Basket/Basket.API/Dockerfile b/src/Services/Basket/Basket.API/Dockerfile
index 7ba77d1563..4650c19ea9 100644
--- a/src/Services/Basket/Basket.API/Dockerfile
+++ b/src/Services/Basket/Basket.API/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Catalog/Catalog.API/Dockerfile b/src/Services/Catalog/Catalog.API/Dockerfile
index 74dd100a58..e5d2de654e 100644
--- a/src/Services/Catalog/Catalog.API/Dockerfile
+++ b/src/Services/Catalog/Catalog.API/Dockerfile
@@ -14,6 +14,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile
index 039aba031c..0d3f33ce70 100644
--- a/src/Services/Identity/Identity.API/Dockerfile
+++ b/src/Services/Identity/Identity.API/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile
index 54d63a41ce..f1e2b79784 100644
--- a/src/Services/Ordering/Ordering.API/Dockerfile
+++ b/src/Services/Ordering/Ordering.API/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
index 05b83d441b..c24f17ffd2 100644
--- a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
+++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
index ce132b71a5..a32a7ee82e 100644
--- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
+++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Payment/Payment.API/Dockerfile b/src/Services/Payment/Payment.API/Dockerfile
index fba668f096..3cd9d95c1f 100644
--- a/src/Services/Payment/Payment.API/Dockerfile
+++ b/src/Services/Payment/Payment.API/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile b/src/Services/Webhooks/Webhooks.API/Dockerfile
index 67e1c5375a..0c8ca3457b 100644
--- a/src/Services/Webhooks/Webhooks.API/Dockerfile
+++ b/src/Services/Webhooks/Webhooks.API/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile
index a99a72c6ff..8fd0d1829f 100644
--- a/src/Web/WebMVC/Dockerfile
+++ b/src/Web/WebMVC/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile
index 800caa2ac2..86cd332fce 100644
--- a/src/Web/WebSPA/Dockerfile
+++ b/src/Web/WebSPA/Dockerfile
@@ -21,6 +21,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Web/WebStatus/Dockerfile b/src/Web/WebStatus/Dockerfile
index 4388374237..f553289260 100644
--- a/src/Web/WebStatus/Dockerfile
+++ b/src/Web/WebStatus/Dockerfile
@@ -13,6 +13,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/Web/WebhookClient/Dockerfile b/src/Web/WebhookClient/Dockerfile
index 150049bd92..4cd8c5d26f 100644
--- a/src/Web/WebhookClient/Dockerfile
+++ b/src/Web/WebhookClient/Dockerfile
@@ -14,6 +14,7 @@ COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj"
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj"
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj"
+COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj"
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj"
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj"
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj"
diff --git a/src/eShopOnContainers-ServicesAndWebApps.sln b/src/eShopOnContainers-ServicesAndWebApps.sln
index f0d907d8bd..446614fc06 100644
--- a/src/eShopOnContainers-ServicesAndWebApps.sln
+++ b/src/eShopOnContainers-ServicesAndWebApps.sln
@@ -120,6 +120,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile.Bff.Shopping", "Mobi
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mobile.Shopping.HttpAggregator", "ApiGateways\Mobile.Bff.Shopping\aggregator\Mobile.Shopping.HttpAggregator.csproj", "{B62E859F-825E-4C8B-93EC-5966EACFD026}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{373D8AA1-36BE-49EC-89F0-6CB736666285}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EventBus.Tests", "BuildingBlocks\EventBus\EventBus.Tests\EventBus.Tests.csproj", "{95D735BE-2899-4495-BE3F-2600E93B4E3C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@@ -1478,6 +1482,54 @@ Global
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x64.Build.0 = Release|Any CPU
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x86.ActiveCfg = Release|Any CPU
{B62E859F-825E-4C8B-93EC-5966EACFD026}.Release|x86.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|Any CPU.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|ARM.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|ARM.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|iPhone.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|x64.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|x64.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|x86.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.AppStore|x86.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|ARM.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|x64.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Debug|x86.Build.0 = Debug|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|ARM.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|ARM.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|iPhone.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|x64.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|x64.Build.0 = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|x86.ActiveCfg = Release|Any CPU
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1534,6 +1586,8 @@ Global
{966B1B0B-2AE0-4438-8741-1C5A05556095} = {3ABEEE8C-35E0-4185-9825-C44326151F5B}
{798BFC44-2CCD-45FA-B37A-5173B03C2B30} = {77849D35-37D4-4802-81DC-9477B2775A40}
{B62E859F-825E-4C8B-93EC-5966EACFD026} = {798BFC44-2CCD-45FA-B37A-5173B03C2B30}
+ {373D8AA1-36BE-49EC-89F0-6CB736666285} = {807BB76E-B2BB-47A2-A57B-3D1B20FF5E7F}
+ {95D735BE-2899-4495-BE3F-2600E93B4E3C} = {373D8AA1-36BE-49EC-89F0-6CB736666285}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {25728519-5F0F-4973-8A64-0A81EB4EA8D9}
From be9ce6d069f63ccfdd24b3b7cf037b9cfe9ec5b1 Mon Sep 17 00:00:00 2001
From: zedy <81678720+zedy-wj@users.noreply.github.com>
Date: Tue, 8 Jun 2021 17:15:15 +0800
Subject: [PATCH 48/76] Update keyvault sdk from t1 to t2 (#1685)
* Upgrade Microsoft.Extensions.Configuration.AzureKeyVault to
* Update keyvault uri
* Update Program.cs
Modify format
* modify format
* resolve conflict
* replace credential
Co-authored-by: Wenjie Yu
---
src/Services/Basket/Basket.API/Basket.API.csproj | 5 +++--
src/Services/Basket/Basket.API/Program.cs | 9 ++++++---
src/Services/Catalog/Catalog.API/Catalog.API.csproj | 5 +++--
src/Services/Catalog/Catalog.API/Program.cs | 7 +++++--
src/Services/Identity/Identity.API/Identity.API.csproj | 3 ++-
src/Services/Identity/Identity.API/Program.cs | 7 +++++--
src/Services/Ordering/Ordering.API/Ordering.API.csproj | 5 +++--
src/Services/Ordering/Ordering.API/Program.cs | 7 +++++--
src/Services/Payment/Payment.API/Payment.API.csproj | 3 ++-
src/Services/Payment/Payment.API/Program.cs | 8 +++++---
src/Web/WebStatus/Program.cs | 7 +++++--
src/Web/WebStatus/WebStatus.csproj | 3 ++-
12 files changed, 46 insertions(+), 23 deletions(-)
diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index d721d00cf0..5fdc5259a0 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -21,6 +21,8 @@
+
+
@@ -29,8 +31,7 @@
-
-
+
diff --git a/src/Services/Basket/Basket.API/Program.cs b/src/Services/Basket/Basket.API/Program.cs
index 058735a07a..79f7965653 100644
--- a/src/Services/Basket/Basket.API/Program.cs
+++ b/src/Services/Basket/Basket.API/Program.cs
@@ -5,10 +5,12 @@
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.eShopOnContainers.Services.Basket.API;
using Microsoft.Extensions.Configuration;
+using Azure.Identity;
using Serilog;
using System;
using System.IO;
using System.Net;
+using Azure.Core;
var configuration = GetConfiguration();
@@ -88,10 +90,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
@@ -109,4 +112,4 @@ public class Program
public static string Namespace = typeof(Startup).Namespace;
public static string AppName = Namespace.Substring(Namespace.LastIndexOf('.', Namespace.LastIndexOf('.') - 1) + 1);
-}
\ 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 71558fc6e1..e49538fdbd 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -48,14 +48,15 @@
+
+
-
-
+
diff --git a/src/Services/Catalog/Catalog.API/Program.cs b/src/Services/Catalog/Catalog.API/Program.cs
index 1507b1d8e3..cb6c1e1a6e 100644
--- a/src/Services/Catalog/Catalog.API/Program.cs
+++ b/src/Services/Catalog/Catalog.API/Program.cs
@@ -14,6 +14,8 @@
using System;
using System.IO;
using System.Net;
+using Azure.Identity;
+using Azure.Core;
var configuration = GetConfiguration();
@@ -108,10 +110,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj
index 7184410d28..55ad09a2dc 100644
--- a/src/Services/Identity/Identity.API/Identity.API.csproj
+++ b/src/Services/Identity/Identity.API/Identity.API.csproj
@@ -19,6 +19,8 @@
+
+
@@ -38,7 +40,6 @@
-
diff --git a/src/Services/Identity/Identity.API/Program.cs b/src/Services/Identity/Identity.API/Program.cs
index 9096806210..a6f7ec9eec 100644
--- a/src/Services/Identity/Identity.API/Program.cs
+++ b/src/Services/Identity/Identity.API/Program.cs
@@ -11,6 +11,8 @@
using Serilog;
using System;
using System.IO;
+using Azure.Identity;
+using Azure.Core;
string Namespace = typeof(Startup).Namespace;
string AppName = Namespace.Substring(Namespace.LastIndexOf('.', Namespace.LastIndexOf('.') - 1) + 1);
@@ -93,10 +95,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
diff --git a/src/Services/Ordering/Ordering.API/Ordering.API.csproj b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
index ef71dde813..daa84fe0fc 100644
--- a/src/Services/Ordering/Ordering.API/Ordering.API.csproj
+++ b/src/Services/Ordering/Ordering.API/Ordering.API.csproj
@@ -42,6 +42,8 @@
+
+
@@ -54,8 +56,7 @@
-
-
+
diff --git a/src/Services/Ordering/Ordering.API/Program.cs b/src/Services/Ordering/Ordering.API/Program.cs
index 0a42cbba13..52eb1a38be 100644
--- a/src/Services/Ordering/Ordering.API/Program.cs
+++ b/src/Services/Ordering/Ordering.API/Program.cs
@@ -13,6 +13,8 @@
using System;
using System.IO;
using System.Net;
+using Azure.Identity;
+using Azure.Core;
var configuration = GetConfiguration();
@@ -100,10 +102,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
diff --git a/src/Services/Payment/Payment.API/Payment.API.csproj b/src/Services/Payment/Payment.API/Payment.API.csproj
index e438f4e661..dbd64e9bf9 100644
--- a/src/Services/Payment/Payment.API/Payment.API.csproj
+++ b/src/Services/Payment/Payment.API/Payment.API.csproj
@@ -14,11 +14,12 @@
+
+
-
diff --git a/src/Services/Payment/Payment.API/Program.cs b/src/Services/Payment/Payment.API/Program.cs
index 1e5dd19222..2680999570 100644
--- a/src/Services/Payment/Payment.API/Program.cs
+++ b/src/Services/Payment/Payment.API/Program.cs
@@ -7,7 +7,8 @@
using Serilog;
using System;
using System.IO;
-
+using Azure.Identity;
+using Azure.Core;
var configuration = GetConfiguration();
@@ -69,10 +70,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
diff --git a/src/Web/WebStatus/Program.cs b/src/Web/WebStatus/Program.cs
index a06f0b1420..fa298fa7f8 100644
--- a/src/Web/WebStatus/Program.cs
+++ b/src/Web/WebStatus/Program.cs
@@ -8,6 +8,8 @@
using System.Linq;
using System.Reflection;
using WebStatus;
+using Azure.Identity;
+using Azure.Core;
var configuration = GetConfiguration();
@@ -70,10 +72,11 @@ IConfiguration GetConfiguration()
if (config.GetValue("UseVault", false))
{
- builder.AddAzureKeyVault(
- $"https://{config["Vault:Name"]}.vault.azure.net/",
+ TokenCredential credential = new ClientSecretCredential(
+ config["Vault:TenantId"],
config["Vault:ClientId"],
config["Vault:ClientSecret"]);
+ builder.AddAzureKeyVault(new Uri($"https://{config["Vault:Name"]}.vault.azure.net/"), credential);
}
return builder.Build();
diff --git a/src/Web/WebStatus/WebStatus.csproj b/src/Web/WebStatus/WebStatus.csproj
index c3f22905bb..e57e492525 100644
--- a/src/Web/WebStatus/WebStatus.csproj
+++ b/src/Web/WebStatus/WebStatus.csproj
@@ -12,11 +12,12 @@
+
+
-
From e8fd578bb28339d1b0699884e1d3c16de578e7d2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 8 Jun 2021 22:30:54 +0530
Subject: [PATCH 49/76] Bump ws from 6.2.1 to 6.2.2 in /src/Web/WebSPA (#1694)
Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/Web/WebSPA/package-lock.json | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index 9c500fab9e..f05d156549 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -14380,9 +14380,9 @@
}
},
"ws": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
- "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==",
+ "version": "7.4.6",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+ "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
"dev": true
}
}
@@ -17065,9 +17065,9 @@
}
},
"ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
+ "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
"requires": {
"async-limiter": "~1.0.0"
}
From d49334b049b47bf5d7badeb6554a6f247899e977 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Tue, 8 Jun 2021 22:31:13 +0530
Subject: [PATCH 50/76] Updated packages (#1695)
---
src/Web/WebSPA/package-lock.json | 64 ++++++++++++++++----------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index f05d156549..bc4b728e50 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -1319,7 +1319,7 @@
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
@@ -1393,9 +1393,9 @@
"dev": true
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -4643,7 +4643,7 @@
"async-each": "^1.0.1",
"braces": "^2.3.2",
"fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
+ "glob-parent": "^5.1.2",
"inherits": "^2.0.3",
"is-binary-path": "^1.0.0",
"is-glob": "^4.0.0",
@@ -5217,7 +5217,7 @@
"cacache": "^15.0.4",
"fast-glob": "^3.2.4",
"find-cache-dir": "^3.3.1",
- "glob-parent": "^5.1.1",
+ "glob-parent": "^5.1.2",
"globby": "^11.0.1",
"loader-utils": "^2.0.0",
"normalize-path": "^3.0.0",
@@ -5234,9 +5234,9 @@
"dev": true
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -5547,7 +5547,7 @@
"dev": true,
"requires": {
"boolbase": "^1.0.0",
- "css-what": "^3.2.1",
+ "css-what": "^5.0.1",
"domutils": "^1.7.0",
"nth-check": "^1.0.2"
}
@@ -5587,9 +5587,9 @@
}
},
"css-what": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
- "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
+ "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
"dev": true
},
"cssauron": {
@@ -6420,7 +6420,7 @@
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
+ "glob-parent": "^5.1.2",
"globals": "^12.1.0",
"ignore": "^4.0.6",
"import-fresh": "^3.0.0",
@@ -6506,9 +6506,9 @@
}
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -6997,7 +6997,7 @@
"requires": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
+ "glob-parent": "^5.1.2",
"merge2": "^1.3.0",
"micromatch": "^4.0.2",
"picomatch": "^2.2.1"
@@ -7022,9 +7022,9 @@
}
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -7494,9 +7494,9 @@
}
},
"glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
@@ -8868,7 +8868,7 @@
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
@@ -8931,9 +8931,9 @@
"dev": true
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -16343,7 +16343,7 @@
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
@@ -16368,9 +16368,9 @@
"optional": true
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"optional": true,
"requires": {
From 08d3a2b85c9dc8a5022adcd0366e892c7e792bd4 Mon Sep 17 00:00:00 2001
From: Sumit Ghosh
Date: Wed, 9 Jun 2021 19:51:34 +0530
Subject: [PATCH 51/76] Updated package (#1696)
---
src/Web/WebSPA/package-lock.json | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/Web/WebSPA/package-lock.json b/src/Web/WebSPA/package-lock.json
index bc4b728e50..ac266a0bc8 100644
--- a/src/Web/WebSPA/package-lock.json
+++ b/src/Web/WebSPA/package-lock.json
@@ -9729,15 +9729,15 @@
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
- "normalize-url": "1.9.1",
+ "normalize-url": "4.5.1",
"schema-utils": "^1.0.0",
"webpack-sources": "^1.1.0"
},
- "dependencies": {
+ "dependencies": {
"normalize-url": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
- "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"dev": true,
"requires": {
"object-assign": "^4.0.1",
@@ -10116,9 +10116,9 @@
"dev": true
},
"normalize-url": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
- "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"dev": true
},
"normalize.css": {
@@ -11561,7 +11561,7 @@
"dev": true,
"requires": {
"is-absolute-url": "^2.0.0",
- "normalize-url": "^3.0.0",
+ "normalize-url": "^4.5.1",
"postcss": "^8.2.10",
"postcss-value-parser": "^3.0.0"
},
From dbf782d21004a603fa713930b19762e45c4467aa Mon Sep 17 00:00:00 2001
From: Miguel Veloso
Date: Tue, 15 Jun 2021 09:57:28 +0100
Subject: [PATCH 52/76] Initial eShop-Learn version
---
src/Web/WebSPA/.gitignore | 3 +-
src/Web/WebSPA/AppSettings.cs | 8 +-
src/Web/WebSPA/{ => Client}/.npmignore | 0
src/Web/WebSPA/{ => Client}/.sass-lint.yml | 0
src/Web/WebSPA/{ => Client}/angular.json | 49 +-
.../Client/assets/images/arrow-down.png | Bin 1045 -> 0 bytes
src/Web/WebSPA/Client/assets/images/brand.png | Bin 4849 -> 0 bytes
.../Client/assets/images/brand_dark.png | Bin 4363 -> 0 bytes
src/Web/WebSPA/Client/assets/images/cart.png | Bin 1532 -> 0 bytes
.../WebSPA/Client/assets/images/logout.png | Bin 429 -> 0 bytes
.../Client/assets/images/main_banner.png | Bin 394114 -> 0 bytes
.../Client/assets/images/main_banner_text.png | Bin 8828 -> 0 bytes
.../Client/assets/images/main_footer_text.png | Bin 4685 -> 0 bytes
.../WebSPA/Client/assets/images/my_orders.png | Bin 221 -> 0 bytes
src/Web/WebSPA/Client/favicon.ico | Bin 15086 -> 0 bytes
.../WebSPA/Client/fonts/Montserrat-Bold.eot | Bin 29744 -> 0 bytes
.../WebSPA/Client/fonts/Montserrat-Bold.svg | 1933 --
.../WebSPA/Client/fonts/Montserrat-Bold.ttf | Bin 29560 -> 0 bytes
.../WebSPA/Client/fonts/Montserrat-Bold.woff | Bin 17348 -> 0 bytes
.../WebSPA/Client/fonts/Montserrat-Bold.woff2 | Bin 12112 -> 0 bytes
.../Client/fonts/Montserrat-Regular.eot | Bin 29212 -> 0 bytes
.../Client/fonts/Montserrat-Regular.svg | 1743 --
.../Client/fonts/Montserrat-Regular.ttf | Bin 29016 -> 0 bytes
.../Client/fonts/Montserrat-Regular.woff | Bin 17284 -> 0 bytes
.../Client/fonts/Montserrat-Regular.woff2 | Bin 12080 -> 0 bytes
src/Web/WebSPA/Client/globals.scss | 80 -
src/Web/WebSPA/Client/modules/_variables.scss | 58 -
.../WebSPA/Client/modules/app.component.html | 40 -
.../WebSPA/Client/modules/app.component.scss | 27 -
.../basket-status.component.scss | 41 -
.../modules/basket/basket.component.html | 65 -
.../modules/basket/basket.component.scss | 89 -
.../modules/catalog/catalog.component.html | 54 -
.../modules/catalog/catalog.component.scss | 158 -
.../orders-detail.component.html | 78 -
.../orders-new/orders-new.component.html | 116 -
.../orders-new/orders-new.component.scss | 101 -
.../modules/orders/orders.component.html | 27 -
.../modules/orders/orders.component.scss | 85 -
.../shared/components/identity/identity.html | 35 -
.../shared/components/identity/identity.scss | 57 -
src/Web/WebSPA/{ => Client}/package-lock.json | 21605 +++++++---------
src/Web/WebSPA/{ => Client}/package.json | 90 +-
.../WebSPA/Client/{ => src}/assets/.gitkeep | 0
.../Client/src/assets/fonts/Oswald-Bold.eot | Bin 0 -> 102320 bytes
.../Client/src/assets/fonts/Oswald-Bold.svg | 3184 +++
.../Client/src/assets/fonts/Oswald-Bold.ttf | Bin 0 -> 91680 bytes
.../Client/src/assets/fonts/Oswald-Bold.woff | Bin 0 -> 51904 bytes
.../Client/src/assets/fonts/Oswald-Bold.woff2 | Bin 0 -> 38576 bytes
.../src/assets/fonts/Oswald-ExtraLight.eot | Bin 0 -> 102480 bytes
.../src/assets/fonts/Oswald-ExtraLight.svg | 2860 ++
.../src/assets/fonts/Oswald-ExtraLight.ttf | Bin 0 -> 91360 bytes
.../src/assets/fonts/Oswald-ExtraLight.woff | Bin 0 -> 50872 bytes
.../src/assets/fonts/Oswald-ExtraLight.woff2 | Bin 0 -> 37864 bytes
.../Client/src/assets/fonts/Oswald-Light.eot | Bin 0 -> 102388 bytes
.../Client/src/assets/fonts/Oswald-Light.svg | 2902 +++
.../Client/src/assets/fonts/Oswald-Light.ttf | Bin 0 -> 91504 bytes
.../Client/src/assets/fonts/Oswald-Light.woff | Bin 0 -> 51288 bytes
.../src/assets/fonts/Oswald-Light.woff2 | Bin 0 -> 38408 bytes
.../Client/src/assets/fonts/Oswald-Medium.eot | Bin 0 -> 102396 bytes
.../Client/src/assets/fonts/Oswald-Medium.svg | 3232 +++
.../Client/src/assets/fonts/Oswald-Medium.ttf | Bin 0 -> 91652 bytes
.../src/assets/fonts/Oswald-Medium.woff | Bin 0 -> 52168 bytes
.../src/assets/fonts/Oswald-Medium.woff2 | Bin 0 -> 38936 bytes
.../src/assets/fonts/Oswald-Regular.eot | Bin 0 -> 102216 bytes
.../src/assets/fonts/Oswald-Regular.svg | 2720 ++
.../src/assets/fonts/Oswald-Regular.ttf | Bin 0 -> 91400 bytes
.../src/assets/fonts/Oswald-Regular.woff | Bin 0 -> 50820 bytes
.../src/assets/fonts/Oswald-Regular.woff2 | Bin 0 -> 37812 bytes
.../src/assets/fonts/Oswald-SemiBold.eot | Bin 0 -> 102468 bytes
.../src/assets/fonts/Oswald-SemiBold.svg | 3197 +++
.../src/assets/fonts/Oswald-SemiBold.ttf | Bin 0 -> 91700 bytes
.../src/assets/fonts/Oswald-SemiBold.woff | Bin 0 -> 52124 bytes
.../src/assets/fonts/Oswald-SemiBold.woff2 | Bin 0 -> 38884 bytes
.../WebSPA/Client/src/assets/images/add.svg | 9 +
.../{ => src}/assets/images/arrow-right.svg | 0
.../WebSPA/Client/src/assets/images/cart.svg | 9 +
.../Client/src/assets/images/delete.svg | 9 +
.../Client/src/assets/images/header.jpg | Bin 0 -> 297005 bytes
.../WebSPA/Client/src/assets/images/logo.svg | 14 +
.../Client/src/assets/images/logo_color.svg | 14 +
.../WebSPA/Client/src/assets/images/minus.svg | 9 +
.../WebSPA/Client/src/assets/images/plus.svg | 9 +
.../Client/src/assets/images/refresh.svg | 9 +
.../WebSPA/Client/src/assets/images/user.svg | 9 +
.../environments/environment.prod.ts | 0
.../{ => src}/environments/environment.ts | 0
src/Web/WebSPA/Client/src/favicon.ico | Bin 0 -> 100441 bytes
src/Web/WebSPA/Client/{ => src}/guid.ts | 0
src/Web/WebSPA/Client/{ => src}/index.html | 4 +-
src/Web/WebSPA/Client/{ => src}/main.ts | 0
.../Client/src/modules/app.component.html | 40 +
.../Client/src/modules/app.component.scss | 76 +
.../Client/{ => src}/modules/app.component.ts | 6 +-
.../Client/{ => src}/modules/app.module.ts | 4 +-
.../Client/{ => src}/modules/app.routes.ts | 4 +
.../Client/{ => src}/modules/app.service.ts | 0
.../basket-status.component.html | 6 +-
.../basket-status.component.scss | 39 +
.../basket-status/basket-status.component.ts | 30 +-
.../src/modules/basket/basket.component.html | 72 +
.../src/modules/basket/basket.component.scss | 125 +
.../modules/basket/basket.component.ts | 27 +-
.../{ => src}/modules/basket/basket.module.ts | 2 +-
.../modules/basket/basket.service.ts | 55 +-
.../campaigns-detail.component.html | 17 +
.../campaigns-detail.component.scss} | 11 +-
.../campaigns-detail.component.ts | 30 +
.../campaigns/campaigns.component.html | 43 +
.../campaigns/campaigns.component.scss | 78 +
.../modules/campaigns/campaigns.component.ts | 67 +
.../src/modules/campaigns/campaigns.module.ts | 15 +
.../modules/campaigns/campaigns.service.ts | 47 +
.../modules/catalog/catalog.component.html | 59 +
.../modules/catalog/catalog.component.scss | 189 +
.../modules/catalog/catalog.component.ts | 14 +-
.../modules/catalog/catalog.module.ts | 0
.../modules/catalog/catalog.service.ts | 0
.../orders-detail.component.html | 56 +
.../orders-detail.component.scss | 45 +
.../orders-detail/orders-detail.component.ts | 2 +-
.../orders-new/orders-new.component.html | 131 +
.../orders-new/orders-new.component.scss | 43 +
.../orders/orders-new/orders-new.component.ts | 40 +-
.../src/modules/orders/orders.component.html | 37 +
.../src/modules/orders/orders.component.scss | 39 +
.../modules/orders/orders.component.ts | 11 +-
.../{ => src}/modules/orders/orders.module.ts | 0
.../modules/orders/orders.service.ts | 20 +-
.../shared/components/header/header.html | 0
.../shared/components/header/header.scss | 8 +-
.../shared/components/header/header.ts | 0
.../shared/components/identity/identity.html | 32 +
.../shared/components/identity/identity.scss | 52 +
.../shared/components/identity/identity.ts | 2 +-
.../page-not-found.component.html | 0
.../page-not-found.component.scss | 0
.../page-not-found.component.spec.ts | 0
.../page-not-found.component.ts | 0
.../shared/components/pager/pager.html | 2 +-
.../shared/components/pager/pager.scss | 14 +-
.../modules/shared/components/pager/pager.ts | 2 +
.../modules/shared/models/basket.model.ts | 0
.../shared/models/basketCheckout.model.ts | 2 +
.../modules/shared/models/basketItem.model.ts | 0
.../modules/shared/models/campaign.model.ts | 0
.../shared/models/campaignItem.model.ts | 0
.../modules/shared/models/catalog.model.ts | 0
.../shared/models/catalogBrand.model.ts | 0
.../shared/models/catalogItem.model.ts | 0
.../shared/models/catalogType.model.ts | 0
.../shared/models/configuration.model.ts | 1 +
.../src/modules/shared/models/coupon.model.ts | 5 +
.../modules/shared/models/identity.model.ts | 0
.../shared/models/order-detail.model.ts | 3 +
.../modules/shared/models/order.model.ts | 3 +
.../modules/shared/models/orderItem.model.ts | 0
.../modules/shared/models/pager.model.ts | 0
.../shared/pipes/uppercase.pipe.spec.ts | 0
.../modules/shared/pipes/uppercase.pipe.ts | 0
.../shared/services/basket.wrapper.service.ts | 4 +-
.../shared/services/configuration.service.ts | 1 +
.../modules/shared/services/data.service.ts | 0
.../shared/services/notification.service.ts | 0
.../shared/services/security.service.ts | 2 +-
.../shared/services/signalr.service.ts | 0
.../shared/services/storage.service.ts | 0
.../{ => src}/modules/shared/shared.module.ts | 2 +-
src/Web/WebSPA/Client/{ => src}/polyfills.ts | 0
.../src/styles/_bootstrap-overrides.scss | 14 +
src/Web/WebSPA/Client/src/styles/_button.scss | 43 +
src/Web/WebSPA/Client/src/styles/_form.scss | 26 +
src/Web/WebSPA/Client/src/styles/_toastr.scss | 110 +
.../WebSPA/Client/src/styles/_utilities.scss | 69 +
.../WebSPA/Client/src/styles/_variables.scss | 47 +
src/Web/WebSPA/Client/src/styles/globals.scss | 165 +
src/Web/WebSPA/Client/{ => src}/test.ts | 0
.../WebSPA/Client/{ => src}/tsconfig.app.json | 10 +-
.../Client/{ => src}/tsconfig.spec.json | 1 +
src/Web/WebSPA/Client/{ => src}/typings.d.ts | 0
src/Web/WebSPA/{ => Client}/tsconfig.json | 4 +-
src/Web/WebSPA/{ => Client}/tslint.json | 3 -
src/Web/WebSPA/{ => Client}/typedoc.json | 0
src/Web/WebSPA/Client/yarn.lock | 9388 +++++++
src/Web/WebSPA/Dockerfile | 94 +-
src/Web/WebSPA/Program.cs | 66 +-
src/Web/WebSPA/Properties/launchSettings.json | 16 +-
.../Server/Controllers/HomeController.cs | 4 +-
.../Server/Infrastructure/WebContextSeed.cs | 8 +-
src/Web/WebSPA/Startup.cs | 87 +-
src/Web/WebSPA/WebSPA.csproj | 161 +-
src/Web/WebSPA/appsettings.json | 15 +-
192 files changed, 39513 insertions(+), 17165 deletions(-)
rename src/Web/WebSPA/{ => Client}/.npmignore (100%)
rename src/Web/WebSPA/{ => Client}/.sass-lint.yml (100%)
rename src/Web/WebSPA/{ => Client}/angular.json (72%)
delete mode 100644 src/Web/WebSPA/Client/assets/images/arrow-down.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/brand.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/brand_dark.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/cart.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/logout.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/main_banner.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/main_banner_text.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/main_footer_text.png
delete mode 100644 src/Web/WebSPA/Client/assets/images/my_orders.png
delete mode 100644 src/Web/WebSPA/Client/favicon.ico
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Bold.eot
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Bold.svg
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Bold.ttf
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Bold.woff
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Bold.woff2
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Regular.eot
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Regular.svg
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Regular.ttf
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Regular.woff
delete mode 100644 src/Web/WebSPA/Client/fonts/Montserrat-Regular.woff2
delete mode 100644 src/Web/WebSPA/Client/globals.scss
delete mode 100644 src/Web/WebSPA/Client/modules/_variables.scss
delete mode 100644 src/Web/WebSPA/Client/modules/app.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/app.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/basket/basket-status/basket-status.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/basket/basket.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/basket/basket.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/catalog/catalog.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/catalog/catalog.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/orders/orders-detail/orders-detail.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/orders/orders-new/orders-new.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/orders/orders-new/orders-new.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/orders/orders.component.html
delete mode 100644 src/Web/WebSPA/Client/modules/orders/orders.component.scss
delete mode 100644 src/Web/WebSPA/Client/modules/shared/components/identity/identity.html
delete mode 100644 src/Web/WebSPA/Client/modules/shared/components/identity/identity.scss
rename src/Web/WebSPA/{ => Client}/package-lock.json (51%)
rename src/Web/WebSPA/{ => Client}/package.json (50%)
rename src/Web/WebSPA/Client/{ => src}/assets/.gitkeep (100%)
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Bold.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Bold.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Bold.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Bold.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Bold.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-ExtraLight.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-ExtraLight.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-ExtraLight.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-ExtraLight.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-ExtraLight.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Light.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Light.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Light.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Light.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Light.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Medium.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Medium.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Medium.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Medium.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Medium.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Regular.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Regular.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Regular.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Regular.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-Regular.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-SemiBold.eot
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-SemiBold.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-SemiBold.ttf
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-SemiBold.woff
create mode 100644 src/Web/WebSPA/Client/src/assets/fonts/Oswald-SemiBold.woff2
create mode 100644 src/Web/WebSPA/Client/src/assets/images/add.svg
rename src/Web/WebSPA/Client/{ => src}/assets/images/arrow-right.svg (100%)
create mode 100644 src/Web/WebSPA/Client/src/assets/images/cart.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/delete.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/header.jpg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/logo.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/logo_color.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/minus.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/plus.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/refresh.svg
create mode 100644 src/Web/WebSPA/Client/src/assets/images/user.svg
rename src/Web/WebSPA/Client/{ => src}/environments/environment.prod.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/environments/environment.ts (100%)
create mode 100644 src/Web/WebSPA/Client/src/favicon.ico
rename src/Web/WebSPA/Client/{ => src}/guid.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/index.html (85%)
rename src/Web/WebSPA/Client/{ => src}/main.ts (100%)
create mode 100644 src/Web/WebSPA/Client/src/modules/app.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/app.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/app.component.ts (89%)
rename src/Web/WebSPA/Client/{ => src}/modules/app.module.ts (90%)
rename src/Web/WebSPA/Client/{ => src}/modules/app.routes.ts (73%)
rename src/Web/WebSPA/Client/{ => src}/modules/app.service.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/basket/basket-status/basket-status.component.html (54%)
create mode 100644 src/Web/WebSPA/Client/src/modules/basket/basket-status/basket-status.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/basket/basket-status/basket-status.component.ts (59%)
create mode 100644 src/Web/WebSPA/Client/src/modules/basket/basket.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/basket/basket.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/basket/basket.component.ts (61%)
rename src/Web/WebSPA/Client/{ => src}/modules/basket/basket.module.ts (93%)
rename src/Web/WebSPA/Client/{ => src}/modules/basket/basket.service.ts (68%)
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns-detail/campaigns-detail.component.html
rename src/Web/WebSPA/Client/{modules/orders/orders-detail/orders-detail.component.scss => src/modules/campaigns/campaigns-detail/campaigns-detail.component.scss} (75%)
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns-detail/campaigns-detail.component.ts
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns.component.scss
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns.component.ts
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns.module.ts
create mode 100644 src/Web/WebSPA/Client/src/modules/campaigns/campaigns.service.ts
create mode 100644 src/Web/WebSPA/Client/src/modules/catalog/catalog.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/catalog/catalog.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/catalog/catalog.component.ts (90%)
rename src/Web/WebSPA/Client/{ => src}/modules/catalog/catalog.module.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/catalog/catalog.service.ts (100%)
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders-detail/orders-detail.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders-detail/orders-detail.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/orders/orders-detail/orders-detail.component.ts (94%)
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders-new/orders-new.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders-new/orders-new.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/orders/orders-new/orders-new.component.ts (70%)
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders.component.html
create mode 100644 src/Web/WebSPA/Client/src/modules/orders/orders.component.scss
rename src/Web/WebSPA/Client/{ => src}/modules/orders/orders.component.ts (83%)
rename src/Web/WebSPA/Client/{ => src}/modules/orders/orders.module.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/orders/orders.service.ts (82%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/header/header.html (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/header/header.scss (66%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/header/header.ts (100%)
create mode 100644 src/Web/WebSPA/Client/src/modules/shared/components/identity/identity.html
create mode 100644 src/Web/WebSPA/Client/src/modules/shared/components/identity/identity.scss
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/identity/identity.ts (94%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/page-not-found/page-not-found.component.html (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/page-not-found/page-not-found.component.scss (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/page-not-found/page-not-found.component.spec.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/page-not-found/page-not-found.component.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/pager/pager.html (96%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/pager/pager.scss (57%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/components/pager/pager.ts (89%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/basket.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/basketCheckout.model.ts (89%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/basketItem.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/campaign.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/campaignItem.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/catalog.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/catalogBrand.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/catalogItem.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/catalogType.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/configuration.model.ts (85%)
create mode 100644 src/Web/WebSPA/Client/src/modules/shared/models/coupon.model.ts
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/identity.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/order-detail.model.ts (83%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/order.model.ts (86%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/orderItem.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/models/pager.model.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/pipes/uppercase.pipe.spec.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/pipes/uppercase.pipe.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/basket.wrapper.service.ts (93%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/configuration.service.ts (94%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/data.service.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/notification.service.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/security.service.ts (98%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/signalr.service.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/services/storage.service.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/modules/shared/shared.module.ts (97%)
rename src/Web/WebSPA/Client/{ => src}/polyfills.ts (100%)
create mode 100644 src/Web/WebSPA/Client/src/styles/_bootstrap-overrides.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/_button.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/_form.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/_toastr.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/_utilities.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/_variables.scss
create mode 100644 src/Web/WebSPA/Client/src/styles/globals.scss
rename src/Web/WebSPA/Client/{ => src}/test.ts (100%)
rename src/Web/WebSPA/Client/{ => src}/tsconfig.app.json (60%)
rename src/Web/WebSPA/Client/{ => src}/tsconfig.spec.json (91%)
rename src/Web/WebSPA/Client/{ => src}/typings.d.ts (100%)
rename src/Web/WebSPA/{ => Client}/tsconfig.json (90%)
rename src/Web/WebSPA/{ => Client}/tslint.json (97%)
rename src/Web/WebSPA/{ => Client}/typedoc.json (100%)
create mode 100644 src/Web/WebSPA/Client/yarn.lock
diff --git a/src/Web/WebSPA/.gitignore b/src/Web/WebSPA/.gitignore
index a4cb1babf1..393da938cb 100644
--- a/src/Web/WebSPA/.gitignore
+++ b/src/Web/WebSPA/.gitignore
@@ -177,7 +177,8 @@ ClientBin/
*.publishsettings
node_modules/
bower_components/
-wwwroot/
+wwwroot/*
+!wwwroot/favicon.ico
orleans.codegen.cs
diff --git a/src/Web/WebSPA/AppSettings.cs b/src/Web/WebSPA/AppSettings.cs
index 7c4b89b3cc..037ed858f0 100644
--- a/src/Web/WebSPA/AppSettings.cs
+++ b/src/Web/WebSPA/AppSettings.cs
@@ -1,9 +1,15 @@
-namespace eShopOnContainers.WebSPA
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace eShopOnContainers.WebSPA
{
public class AppSettings
{
public string IdentityUrl { get; set; }
public string BasketUrl { get; set; }
+ public string MarketingUrl { get; set; }
public string PurchaseUrl { get; set; }
public string SignalrHubUrl { get; set; }
diff --git a/src/Web/WebSPA/.npmignore b/src/Web/WebSPA/Client/.npmignore
similarity index 100%
rename from src/Web/WebSPA/.npmignore
rename to src/Web/WebSPA/Client/.npmignore
diff --git a/src/Web/WebSPA/.sass-lint.yml b/src/Web/WebSPA/Client/.sass-lint.yml
similarity index 100%
rename from src/Web/WebSPA/.sass-lint.yml
rename to src/Web/WebSPA/Client/.sass-lint.yml
diff --git a/src/Web/WebSPA/angular.json b/src/Web/WebSPA/Client/angular.json
similarity index 72%
rename from src/Web/WebSPA/angular.json
rename to src/Web/WebSPA/Client/angular.json
index dd21bfae8c..b9ceb7f9ee 100644
--- a/src/Web/WebSPA/angular.json
+++ b/src/Web/WebSPA/Client/angular.json
@@ -5,34 +5,28 @@
"projects": {
"WebSPA": {
"root": "",
- "sourceRoot": "Client",
+ "sourceRoot": "src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
- "outputPath": "wwwroot",
- "index": "Client/index.html",
- "main": "Client/main.ts",
- "tsConfig": "Client/tsconfig.app.json",
- "polyfills": "Client/polyfills.ts",
+ "outputPath": "../wwwroot",
+ "index": "src/index.html",
+ "main": "src/main.ts",
+ "tsConfig": "src/tsconfig.app.json",
+ "polyfills": "src/polyfills.ts",
"assets": [
- "Client/assets",
- "Client/favicon.ico"
+ "src/assets",
+ "src/favicon.ico"
],
"styles": [
- "Client/globals.scss"
+ "src/styles/globals.scss"
],
"scripts": []
},
"configurations": {
"production": {
- "budgets": [
- {
- "type": "anyComponentStyle",
- "maximumWarning": "6kb"
- }
- ],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
@@ -44,8 +38,8 @@
"buildOptimizer": true,
"fileReplacements": [
{
- "replace": "Client/environments/environment.ts",
- "with": "Client/environments/environment.prod.ts"
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.prod.ts"
}
]
}
@@ -71,17 +65,17 @@
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
- "main": "Client/test.ts",
+ "main": "src/test.ts",
"karmaConfig": "./karma.conf.js",
- "polyfills": "Client/polyfills.ts",
- "tsConfig": "Client/tsconfig.spec.json",
+ "polyfills": "src/polyfills.ts",
+ "tsConfig": "src/tsconfig.spec.json",
"scripts": [],
"styles": [
- "Client/globals.scss"
+ "src/styles/globals.scss"
],
"assets": [
- "Client/assets",
- "Client/favicon.ico"
+ "src/assets",
+ "src/favicon.ico"
]
}
},
@@ -89,8 +83,8 @@
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
- "Client/tsconfig.app.json",
- "Client/tsconfig.spec.json"
+ "src/tsconfig.app.json",
+ "src/tsconfig.spec.json"
],
"exclude": []
}
@@ -125,13 +119,10 @@
"schematics": {
"@schematics/angular:component": {
"prefix": "app",
- "style": "scss"
+ "styleext": "scss"
},
"@schematics/angular:directive": {
"prefix": "app"
}
- },
- "cli": {
- "analytics": false
}
}
\ No newline at end of file
diff --git a/src/Web/WebSPA/Client/assets/images/arrow-down.png b/src/Web/WebSPA/Client/assets/images/arrow-down.png
deleted file mode 100644
index 1ebe2e929f3f2f57d48d8464510f8f3ba0d4104d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1045
zcmaJ=&ui0A9M5d`gXy4%PTj>vCNjn5N7r^uSlnu|y23g~S6EMCn!L5KOJ0_|*{mKM
z4rIHDrwN|KgP;s=9z>l?!NG#EY^&K;}!=b{?$Zk@tO%&*$^~`BtYUul98J
zbyF18lO9*HWcTgPt`73&pMTTHb_S2-@idyn71e=MQbz>{(xzI3S*YrZ^ILG3q5=a(
zE|2q>2~k5Pqxu-eGi}1AsNoUMR<$z3pa6@8CDFfLy`_PnOY}@E!)0t4mW=VL1E;H#
zIjvgO1f3qa42C_C2$&G7z%%D8SM(&hrYjQLzh-GrgW$469|V=pOaU1=5X6{xSmOsH
zU`Sy2m=H-sFM$Zh$5}4Q@Kmp#IUso1@Q)StV8XMNSf3!q^sBwo<7ul|cqM
zMZy&XmW!~FNSGkP?xKZNFKoH}4Fv_dnq%15Ko;;7)dE_;5=|mKNWrw5vX)yf6Db($
zsW!_qoS#wyn92MfYMM>7i?i@B-hT?axkVeYS?Hn#M)Xr#eakhWk#3pcp>Ay;V0^#{VViDv~m#x1C)9Atu8;-b+ymUv6O
zI#+KU%TP-$OM+qj_WsrG#ub?%-)s&qIW)%~T4d%OGTiuGwMZVua#~5|ysw41H(+Ob
zVQGN
zYZS_oy=0xN+4AZAy}iHhkMI4S<9MEXInMLEuKT*qf9@y2+R~JhU6>sJ0B|DA;HabV
z-O;Pe%6#h(LEAGz#tR6^eU@h5`T#vVL}s
zL`S3r#4{*R)%`a{l@y3QVgmqB0}|HV(;rO)dZ2y$FnW@!4b753KQBGW^IAwXB-RM+
z>t}WqkG8#PY3F&>-xKU5X`l~;k|0L{foP&TkQ5kzAwWoal7Hz!j^@9&L6X3~AVhyX
z$^Rtfh_nV81>w;^Emdt5PjyWl;2E&0x)xYRAx-gHUKfP%z%}sBzv>ze8amMtHP4F$ixL6cq5M
ziq^hC#2|ui5Ef`;^t)m4+;eSb!>>=zvrU$uX=xTz5YEH?SJKhj*j$eC
znHdc~;rN4<5pI1#%8llJL+}>7l_{Z9Qr-r7y!F^C0EkOn*gED3oZ>!N^^(chau^>o_nLA6K|A|^%9`klfP71
z#IhJSA(KyK)7JCYBx3MnMT8=2QN9|lH3R8VS`Cui%-*0Hvle}MXa`N*o_6AKOa*DY
zHkSV8?3jL1M^}f-UUV}0Nta=nnT(S?X*ELz`tFYY=Ysl(c#E}a8%O%YT@Gb^?pdXn
z;~GmCG(Da?u_$QBx|bw_kfR){;DoZ|G@N;LW2xof(KM~W7e&pvLq$@JvFZjt-m703
z5w85?e~QrP7xg~RY2xa7<$i@}
z%DYEF9^ptlI%1nmoUQe14bCc2J;7gGhBKXDIal(Pm=x$E0pXlK4N^~WQ#k5J{CpSB
z)E~y8jz1W@$kfEKZ{pR6U>F%-B!|bPQd_Hu5_TRkV78z7Pco~Vzwh2-cZgZiX%*;-
zki?43!!HS3vQ_AKMm5JZRwhB!2-_4KYCM)I0d0?Hpl_IZm5S3yVxsO+eeO}+>XbXmLdqmBosga^RruUGEMC%#W~(sYdZOI(P8k->I`{PgKC8||5O^v|5obf
z`u8v2*Y;7gXYh6-!>3iRvb@gRE^!|uSC7x#1Io={Z-xJQN@Y8R%S3um$E>8bM1Dqa
z_O6qM6-$h}2wI);WuSpU`kr#~17UKN?O7+yzF_~Z`*(BSdUgZcs(yiOaORR&Igi>{
z4_C0tJ9TOZJ>T2FZ=(HZ;i{}?C+8UH6LJfP2yYY@3l9cy8NK_1{`Q4L`|8=FtCcpdAPn*M)0%EIkJgOnP2j}
z+19AvtJCFXqV&Ey1C2{()RKU{3GWlMr%Vw!&k8P6*q-`M9y_JH9h=wo5#-8WuXAAuFvG0l*87%E%DYYS#OS2O2T0V?fS183d7>9V|-UmMJT#d9i8LirG1X&qc
ztyGz)PhZ&XqH0Dwl=9gPYikKpF2XGEp1tNx*`RS95FN`orrcbHR@qnieOJqLs(4i>
z{&WI`E7@W^n7}&cj-_F&1tq(_M1!SNOygLYfeh~PHqn4NHyEAp
zi*>)F+QiC#7RfK4)UG%wy5L$(CvnfbwXo4__`2^L)+=$#k~_k@YdS!2rlE=M6OwKp
zS`#8Ra$$aInemkO_wgl^q5G|GMvZrk`YWO5@Go##x?XY}!hIESLrspEZJ5yOHY$UJqZ>K4o8S)5
zpH5SDsyU2N3svVJ?|0o&AU6$9RPL_~iL&uY^WF~h(Cm1~I%AUjiI~mB^5xjQNdr};
zskK|J#pAM5;V#jgLQ7vzR~3ab=UM7qJELJ+-6(RF%k3Cz$P*q9`sb4a~Z_u1|6esusaWvRMb6>x}Xji$kT~glb)$oj2+rIv|Rf~X!t@Vu;
z5EOwfw05J#yFQg=xRB;$Pg=DB?IYOiy4gjA%wq;cNlMx6CB5eP5Xy}Rqx0KE`)xYV
z)Rc|T!Up!?;hFti>4JI5kD*`chwa-C*}Sra0RfaNr9yI~3;~vg8kvIoETet4e+{P3)|ya!yku{im*z~1
z11KzFzox#wxl7xInZqJ$NIn;#NE!A_X)UHHlM2(phq_769^5qF;ARpFq-X`~0~j@l
zrPuXEI$To-_f9bhH*&R^**oWT8)stLQtm$ZB^-a<6x-~8!0XzJu1sI7sMgP~K2uqp
z|6mqHiK~u$__}0r=LX-xrdEsj%~!m=B6@vBH;J(cl}SzK7&7+;twR7a1o5b*j;yo-
zcS@$XQb)-12*=z0{)}K`lkE9ve2P1dTib=3DRU>-HU)#(v-=5mRphqB=no#{?^&V-
zuJfk5+BALqu-jf(!h^e4kCd{jf{@t}J@#q#mv3_;;tw3l@CJfaGa7n6K0h*ULLORhVu^=m778e8Zc1##
z32iw<14GT@y$*Ug+?kFwtlEV_!2wtN25_PB9^U90%bvf?bYw$7t@~afe{DAYw&_?1mD
z*=q8#I1&&cJJxst|G4h*b}dPW8!*9)FY-2>S(+=Go>@Pi&{Sd8yG$J>*T`p=Cq2TC
z&c8}XDad%ejNQ)rCP%#G64E2Od5)Q;ifznZbWoGmmrB0g?am|2%O6l5-Ak}kc5snv
zI%oXji}H)O(3h_16{hBmBP?<YEqbLC~d~Qnauq51}IeoUO>jSz4rH^4eBnzjE
zS;m=w*!yR-xkwT|PEu){$y&mkA0q}heZF@Pr?2+O_oR*?jq}Th6~`8B^!o^pYb(~7
zTfe)qY$-8W#X^S6(wa-&ZZa4#RK(F
zgU-Z?;R7G?H{xLk;6h$c>-@%`BJXH;``dTNPFg*hg<*rYEO0>d{0_O8?6y`kgE28c7!U&+hlg7JDOni>Dno+E$07;`dRCoy;FgXg$Ln
zJ!kd%OCKy`OJe&pejSR%5C|^)k;7s`6No#|@+D{ccPoIGqZ#YETdmab1D@$3x;Z2i
z1Uf--Ee8+zUbCeyB226jh9cUe%ii>X^2#5T^0JOM^w&IKXqOeNON;7Kshu_Zak*sC
z8z(09JSfZxLXLU1jc)VncAELrlrn<6R@YTvYy{y~@1e;(g6KxrD-kYPav?y#B!{uE??_
zuOj8wNj&?IzCDeU8G2d7ICtif*(`=XV_@4-fG?wHMU*G&tIe~OZW1V4Tel`nIF|nSk(`##dubopGWS%DH=kSqS!+_{&6H%MyIZ$J}yi>I&-2PTSxhOrW^Z
ztCoYiKVmdXqIW4!Mv%F1xt2cTySzf;;+^qykFfJ*MOJ3FsV{i~ncuzfnOy&@6Y-oQ
z*fg;{t6yhu2NUJrKaObsb!T{bYt6NK7Bld52M*fEWv^y_Si6`svN2fOvDBMMYkHI#
zi{U=_F4y^jSjVa$WV_GVO>DOb)NOIXRP@R@0Uw!@Swkm)Td&*UU-pJUcb
zLD6i>&OTG#qm4^<6`y6ojqHBHgX5XJCeo%t<98MM&(qq4d`ip3xh#rhnmj}FE?lIA
zCG_TwQ!uR$q>|I!3eXh4>xzjo@v^8i82jZb8R_^X>#*ycL;)WOXaB|y{zO|rMnd%y
z(az57DB;6anbPR
z`{K78*Sf1!`A;%JHLoumQ?7qb*Y~Wo__M;|`wOsD6tDApL2lU_S%{nIo1>SNT+Kga
zG4}a;wYb!Wi;K+^jSexpUR(NLl8PG|Zd4JjPuMI;f0atPQSH3nJ?OF7Dw{XK*F!eJ
zukkKhRA5;{WaF&+tyNMl#T|crs2lT$Y{Xi`mvs-FEWt319PwJYXr~*AlS==2(JubD
zVXPveIH64PEhw<@a9$S4{+d(6CCg1|DebsoNyBp;#E44U-6@1P-<{bH+1=9>Y=2!<
c3z!4}ms)m?iQ1c-`u!6MVQdMnGQ1T1KduMU@c;k-
diff --git a/src/Web/WebSPA/Client/assets/images/brand_dark.png b/src/Web/WebSPA/Client/assets/images/brand_dark.png
deleted file mode 100644
index 23fbb43934738abf37c0438e46fe88ef3a934e4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 4363
zcmaJ_c|4SB|DGrzWXTem#*8czX2!nEV9eN#*Onzk7>wO4Ow14=+4m(Ug^;pjjjVBO
zDP=1aVlXP&Ft(vAug-fq@B7E^{GQL}dG6(NUDtQHult`T!OFszms^}0008isnqbcz
zjL!~U1x}8G@37@<)q~+A#n6FbL-eGC-~#agvAqFdEw9DaUL}CGdvOiV3+Z+
zb)Yzy|4ZAQ7@&mviBX~kkPg@Y08)=i!nyn5DIhnzmk$92UT*6IgM2(t;PYzcaB~s{
z@9kp}8i=f$q0PE?3kW}phfdD)O2cib}6N0p;90B_4
z0UtyQ^zhU^hc)^u*1-w|_NGus+Avs1NQhF1iV`u<3x?3r(t^R2Vam#i2MEO=8i9hN
zDiVSqzZ9_eAooBY62*r|0R2?Nxe+f@P~d}1|5HK$>2Fy=&|hsjXc&x&Bf$_#@Si39
z0-Bru|ImPdztKUIbNK(}`+o`t+0saO*g1R<@p7R1!NGY#eug4xV*>Fw3Ng@@Nc8{J
zMJsP2g&5>bB!MuPpIy@c$({Ehco0K^`127vx7TifR!b3q&aquyU!kAKVsZS;>^*g-O|pNIQDhy82oz(GH!e_Qup
z@wfT$gagM19$34&{odrkbqh1aqHU>@UoUY{?D|d?=!4{R+~niG0uv*RzvG=p{QNnmpk@Ghu0uU}Z};_<
zZ)NFah0Q!Bnwu=>EaID?c~mKFlVObM9M?Mj$^SHxUIDY7&t6!5NlL
zWoO>4uQdS-Z2NjzukXmaw4;Do5WZEW_nz`y~=cPvvHf|$5jZv
zov`$@&P?&pAe(W0{2=Fzv;I6*MV*y$1Ez|I;EghS1zG%+{8zEJ!*6CA(il}FZd))A
zQg1Ww2a$YdabB7$f}%Tul?M_91b8B38W>Ox^jwPvJn)A)5|ewqF`x>~QE&@rcirugxvQuMt@olQX(
z={Jew76-xkB7z!3y^AKaqcrH+w04vvc{qMw##6AfYuA<`Y4XIIiMdGrEW4hLZ(Ejw&An!m3%6C
zs`K!VZ%Pb9H$}!Vpif`{jenEOIOp`mz4G#>0BNKzee{E~@s#BWql($zxzGQ8Laa$a
z@nyV3{53;|DtkNQ(&YX~c^x*6xhuM4e0;565gidBXcW=#V^7?%%8Uq+*C#Fp*MQK=
zlw(Z0_ID>3c8gs%uf~Wbh54g=J0qzg3qlDKwboB)<2I8zA9{_9#@`r}hV}RBCam!sZGj~-5RnV8GF88G7=TD+(8LXiux_O8hd&}!O45!5Xzn@Ty_4;g-I@9
zuLnK5ue#UnG3D#D>Qw49zD9o`FIzD5;uRD6AunuFH9H54w<`O#<>#IAq{Qj!
zIrA#utxKr1DaP&Is2`uq4M;GAufI;RdLh2{X8h^nrh!vlFuk|)7t9d_MF`zQa%Ns{
zQnUJWf0(Xpf#Yz$CfEGofr-t%Qfwwq6uky@!EaXPwGm0CjH%A^vV~MrPw&Xl6c08~
zAd79Xy*qW*ASMek$7{>XV4_IJ@1vn=sbEW4+(Ip6PC)FVOKVI3SbA2wJ+0SB^YjU1
zh^+Muzq!7L@rWJOOp!9V$>%QzNGiZ6@r|Ij3FaJwf6V%PMU|DgaumMmQ-O9nAdITc3N+Qr9VTV-)ume;gz
z#C;KUl{D5-#DiYG+&Vm*$9>Jw(yj$7`B7Q%OizV=so8YiJ%cp+es*EpI4lXiXT3g-
zBvDT>)#i0A_s6A^w;oaH`ofZ3K-UTnUp$RA0CE$5;A`M$pO}
z2hHSM%uA9xdFka8TZ2ux@MEyoE<9=0>Kxx4PJKRRSEVlA@5!@=Pg>gYqgkxAfV73s%SFkVeeq)dyR_AYLwpCnVUkJYR5qcFwD+p_J!
zc#a4&(^3{{ejt<>f5pyFb6Ub)ko?%8i~2E(0X+V~S%A@!BVYkbFcBfsipHmPS0B8p
znN{hOm!fB&qL8m{UE1lf9r4@JnQxh*&e)=lL*}EO>Rder90z9je+k9TUUyg9q`iM(%
z)n{}cL<6mFBqQw``DV}|u3tvegQbQ7pqk#n2k1YETo4tAr%$PZry?r%S(`$J{1z;zV^*=k43QG@Nc#fhELe>ANUlr)8m`
zyjbBnd5q(t)^rdIl(Pg5R=I55!qo*Px
zpwLmVIJgb@eUx*7WZsFm)h__3N!JWx=P0x}8|1XOr6`5U5_CG5Cf{pwt@qZf#MYOk+wd|-l>J(>n;L5{{gJo`cz
z+)mH&EVO#NWO(W3bq*Vd2))Xq=MNjc*h(ZccZF%iDu@Z~dl)>yixNtiuYupzdlJ^^
z-Fr5!+s#o*Nbm!Cs*)rBhV|+GnjR~i_0~0v?ii%1`jhi;`4w5t#^@A=j=Mud%60cy
zwX*0#qwuyKLgL-ID$$oK!G+9vt0MEERe>fpWO@)*HrL05zsi$2RywzMC$*%bA@N>D
zLsUhVaD9PU)cR!v@=KA%_nS#csu$P$m@KH~O{?gz)dezLB*k=|6A2P5Ojw)jj<5n2
z0EI&HjT47gSIiq9&RbZOqDakRE(bIc^B$~iejp3sV37cC#(
z*U@LU8{>U3DMGoL+i%9ANmzNLhC
zo$_Wd30(8sDDXv}k!EQkA?q&hw5<~hax(bXGgAKQURv&u=F*1M^Y29=)m)ekOg8>J
z`w-uC4)00q(a{Se_VC|YhMP$kb?D5+^{Hj~W%DiHSX{HL{K7Pz%9H5T(D@a#J6yv4
z`_b}gEbjt6qA2(?jP&Lr9+z^9>ve*Ugb~*^B$|9qHYR`&{CAh=C`!0^Oj!cB*%rWLn
zg^j`rYS|5Nsos*Tu7{%K!SLTq-jym%DGg}6ta6#Ly8ir8+#g?rkC7nbY^%y~l(JUg
zBDx)dp4*fg-eq|CjYQ7vjdM+_J!6mEukXk)EHHQoUvIrd?lR#ahC4J)Pdox|@FCuDcaZ%f$~~3V+`s6-*nY_DQ7`)%H3l
zJ)W66Y07Zn6FWW|dYQqNwjRRl1W-*g1^97abIP&-T-}g+?SUkZ>`zx>oD)%Mp}i>4
z@9;J?4RH?AjX;-zHeO%HYI3+vK?Wat-ec*;*+Y|TqV+BL@)CED-V;ZB-ws;!TVQq_
zxi;iy(Dj})lMCt2b;&SYu6$`$r5WvgdSgoqSw(M`g11W1dYpKY$HLO}i&m@%RGIy9}gQ_<$eY&F9*s
zo8B3u@e6;5h&;-0aKIk*$x^i`IvT*(7JZ$pJ@5lop{O9p=aaQncXYCHWPbxF@7p!9
z{^PXF8<{$jvew3DUgJ)7Q$0dwS0dA95QjDylC_0HVC$_y06PG%+Xzl5=+ON6d&1Pv
K0$Xk18vSpd|G(D&
diff --git a/src/Web/WebSPA/Client/assets/images/cart.png b/src/Web/WebSPA/Client/assets/images/cart.png
deleted file mode 100644
index 158bcf797fb229b7752ac6c3f498adc9e3fd0662..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1532
zcmeAS@N?(olHy`uVBq!ia0vp^+CZ$z!3HF6hYM@~Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07??FOLn2Bde0{8v^KKTB%1XJkii(hGOE?jkSNl+@ny;uz{4yi0i
z)elN7&Mz%W21Z<(GRUd|E9aur#FG4?ko^1{SSSW$A4ng>ktMZm<(tolQffq^N@
z)5S5Q;?|iNXS0O^MUJXpTr|<4TftROTyN5%+=ITX&YBAYE((-9KGwT?U5v;bj#j7L
zFV5LJ+!496LomivR@cLO?T=PQN0E>MWv#0sXHQ*P_WY9Z520s|eXa7-`2L(InQ?v2
zy?f=)?@eDBvRd-=re8Ywrfa6WP^e%!Ry$9U?fs<$Gj2Afc{4qNQ;s{#JQjMkv93V!
zj%WAH^Gkxo5AX&sRbKFMma15J?7VZ&o~db@H+|ezS*xj7ziH?Grr(Zf_07}w?3*#+
zre*Pvd68o?Nje)Zr*8_yX~ZT
zc*f>e@iWtJXE?D>S@~4+$Mv;0XBFjYiMkyK+%8fuD?hgOv5wi1mk%2mH(%fT$#hNR
zMWwT+@@jJp^7l9RC(e4mKqxI}+jSl>x9mGhE6tu=ZaY)gbLfp&1Y7vcp7kH%9vMdj
zIN#$ww>&lB%k7jttxR+6%g@;3?x&@Th<;i&r~gt;bbqEoh3bCcnRzArHRcInX0H#g
zIJ-}M(PN$T`rUtG_x5BQb~$Hd#TNEc>K|*G^E!Jbxr7>7w)2k0JJF~9*kIvHPt{q>`o4o&>gTe~DWM4f`YlMX
diff --git a/src/Web/WebSPA/Client/assets/images/logout.png b/src/Web/WebSPA/Client/assets/images/logout.png
deleted file mode 100644
index 9915b9862900e5195baeecb1b9a77432903b9cff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 429
zcmV;e0aE^nP)X1^@s6+90*i00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0YXVcK~zXfWB5-)
zFlsnfKwrb(e82Pm=7(MXZ-3l_6NBX6{IdVhVOgY@xSh@(Eq0MQdkWJVVL3n{`~{uzhD|0z~b`G|21a?{`X$i`+xE6YG5$z
z#lWy&`SA1U|63pS{Qv#;Csa2oz-oB)8NUCMuA2Y<^7}1R6gznI<;?#TcN6~K{;>D|
z&p%(Fq6mP)<@{j7KmK|K7Q+?E`<`|DZ@Z}Uf92goum#_KzXz*_0iq0tM6xJG*f(F0
zfyRy8|8)ds83wvDOHsd;L1I<@WFSKs}9-1qJ$KlWNr
zl9iQ}ohMnzj#5#QMn=F#fPjENmX(oEgMfeyfPjF6f`j^)$v)lwn1H|oN$P;qovc8f
zrmmI{q83hOmZY){rq-5fmZlcoE+du#5D?JRHX1r09YqB`b0-I8(|_PFdpS6NP(wfn
z2zxo3n%h}|NX;y*Z5##3&)d7nNo_0y$+fu@SrwhdErB*NKCYJPK1v$qK6d837UaT0
zqyk=i9}FBUL8hc$4)%_2d|ra&|K!W}@&1o#7IM;mqJZoK$^Rvkj-m>wxRa|TDHk(0
zlQ|m)59t?PW;QNf9(GPfQg&80ZWdNv7B)^MRyICXUOrYf(tkhXAFH`qSn;VzNd0@Q
zkC7lb5Cn4OV`1_1^knwrV0Ln~W?|#ytWN9~@21oZLZzRq=gO{6&
zlaotaf`^rtjZKo9myMT;hn>cfKm
z@%lfe`!V<*%(5bRIe8Q6m{!~^6R}6W1qlFn!tn1Yk?`jG7aT`
z)yKx?t<94A4jTXNJA+roBw;&my^`#*k|~dYlAD{)bW?M$)=Z5Go3JcXd?m{EFSE>Y
z=4XOqnE{0q*9!W(>Wwf$Gp62o+Rq+38;gGhT}mAHZ$eQQzt(ms*9mlKYr4DPly{Iu
zO7)MJ@Gy2-vGVU8KE8d1UAEh-TotRS%P)K{Y4+blEqu7Tu4AlcEWk0v)zVC&gzx-3
zbm`0^v3KLLoY>?qm;BP3KhkwBDl^7sXbLm#jsyMsnDvOhUjsz1L&~4mAHFcd&
zdyv7F0w+n35VM2Wh3O;Oo$vXF9@782(Qd{KI#;NWq_4Bh6TYD%Cq8%|NFX#Yf2e;$
zf((-$Z7LdC)_9YSuW%~5xU!ji>USxVuVf2-RJb@7XH+A7KASN|M)c`v-?p(W@coTm
zHsEZ(OJQ@!InVe;Oo}{-S~Ea@nvR|id;`T1$*r>L%+&U&v*%$>8$kJL-@{(JhA^Yq7O?Len=QFduvLLxEHPhoXTKzvqGMAx
z><)l12p6>j6?B%kQLDnT+f
za-Bz-RA`gHA{k;-fFy-@g+_C|R?PYAvrY0$k_}G5b3xtl|PO!X&e2u~@s)ep
z0A`qJP|b3Y49D?`d;4X|%AmMB&J|c%huc;&kY{>t9pAY+{*G1`&;VOsV^??GAabsv
z42DopoW{1>I5ox}oSZ<{&NHhrbF-@?d@D-n-)zD0?fU8-f|y5~E{6}B4tIiI>E
z?8cRPb7=M}H!YuqaHA!jNYt1DTHe9VNt5^t1VlBVsrO>
zO84vP`$#8=#e4tz!{+-7OTcB$>-GEH!Nt6$+?OF#%h}5yp$w+UDVELW-mLfQ`}h0Zde8UWz#G)J`pqZh=g_Qyd|YG?piCKyY@HtS
zJ_xHVbQU5^Re&(|B2p~puJFJp!m=k|X!lbbvxCu5POL>5<>B7I$5oGY!m;SN$}@N`do2&xJtG3fDXqWJKROSEMO9Ls
zy1yG-tTEnPPBU?sr6)#$-MvgLHe3*wIgaw!85vpj?7CjRzP>KVSUk+I$TAAtjSIC~
zJQHkDPEseir{))3y6%tsD-;>RQ%otaXRwht?OHtS$0e3_%nj{@p?uT1fJS0DUZ
zx~BC&7Vx%4nqFeCf?r+Id2R6YAR6za{Bl~abmOLrJH^L1@E^!p}-uXJGm)Ynn2ip+$
znXAW&j}eTjZGhe0?u$^9n>7dXL`|>V@gpGB5>$myV)w+Jb$pmELSEV}nGMbQ`%ru9
zR!`IdQ2Qy=`6heo8X01Rvu=^$PfyhM_#Ip{lDLYHA3Z|TmH-qL%yO7W2#KH-sU+b5
zKZSn8rIe!~x)eQ`{)AmV7;alrJN_iT!j?=SBWSx pDlN2-}6jkK7>s+@$k2iMdp
z-d*H|Md9C^C9~Au5DXDF0JgQH50HeYoKWm`FK)zmEG#kEbD@^SwRL6|ZB1C5&5G|0qr5G$<#%12V9Jp)7YSsO&@jg
z7tJQv%uELyDLDKMAChLC(Ebj2MUo}dfo>2kccO@w0Q|p=h5DuzzI2los^6b9*}3EpP8LE#Dq3Y~g^n@|_)V@U0
zSLvkfEGU_^nk5}+iB*8`7$VE8v=m@j2n^5{vgtLo$23{!lH1HG+56^ZN2{7CW8nfd
zwCv2|8PqD+dpDQEr_W(eLo~GUx)l6Ne6fv-cAkrUs(=%vy$$zpjb1^|OhNGkoa=D?
zv>IPDXXol7YT)cvo#JfKU_ce+dW^(4N4KSoUHQZd<|Xoy{ta;n<(0`5yz`>^we+3K
z_M+i!?;F1NEX+z9Ue`%>i}wfF2H3I9R?Fo#z99H4_O;ql6Qy~HFA;Ol8;b1-Qgp^t
z@cnz)_i^v{1SKUy-FJ4~FZY4Fi!a~G%LjKu$=!mr6-w$Ub-_X3gU#GN&o+h(n8_05
z|H}VTw#TW`&;ND@}n<_7qw9bISZ6M$}|z2E(=MTaKhDAd%ts}~TEn!>?Ck+2w$IL(-3_ss8sn-5>PI>w
z518?WZ7a8nBHW--a1(}Z{*H`{xVGXac>cZSb(h1RYEJFVRlc1a*1lzhJG7zP$*@0|
z^_uCE$9ST47^O#e6cR%ulbwl)aVvkXYTn4NdOB>Mt_ys$7G<^pqF&6c?47fy|D{C3u@O{KacD&idXflERv6!%yl{jsZr9e<>Ws
zrB@zG8ZUJ3cbf!U#D!>lLhglNZqq8yIrNT|ZhLEQAxcsp@&f8>+QeUt;0qt}AjKBiHXBtY+i=!H+bw_4
zpPy_N_CY8nqT)NdYwbM)2E{O^IpojU>=LA`*wdyL*dy$t9fWY8E{D(XW>l$W
z?At!zf=C-SE~fw~RE0#IH56Dr@H?q?88V%}8eLK{$&k5zBxhRL<{N86mEG^-)Jm(&
zYlUx6ISH4<$jptI;>Zx+OsD-ICqKy}KmDQ@02+%zw$fQ6&it(6ezxt+hgGoWVE`k|~E
zw?jTrBAw`~iw>lKC1s(Rz`FJDR5)ah0Zjlgw>>M6Q_8X)&(5WrcN#E&GepsoYiIN)
ze1DA3h1F*Xoy?6MfT+c&2~#M+35}|Dioes)kht=btrk&3J0DvB=VwQ@&6$9aR4`6m
z3@ru}
z$kcYm(H3R-AVH7TmRPTyB|L16xG%F+YUAP}T(Hgz01y?i
z+Mg&X_KxJOW^p}}D<^-fafeQ?T7r0{T=%&%pLw)=4tdgw@e1O;xy1u+KejW&1U>q*
zqr;gV?2jc8Sf><*10y=F*)G*H?y67mb>H^XuWrXwzDdY$U0KS`;mh|nrgX4IucRFy
zbgFW9K_24!x8^ooN@Fph-)@)=ot~XxTe`ToROj*Pz$1a8-=#V+nfTV!N%D-~p3|}U
zXHUJ&mU%z%aaRTE#o?v}Pv@=Br>_6
zn*R3Jx1HkfBg=n!xVSh#H1^7{nv$KO-^e1VLeV
zjP|J?d$|G$;h*{4JH7232i^v5w)yWe7(b4VH48QCSOu&d5B1xymk_gv;cttCWtGYwHzy}A;9cqK!&obR`TFbG
z*)Zr|#fvp0YaQ-xocP4V8->-W?Gayx5<>b1Yz4SlB8Cj7{lmt!HD{FEJ6nWn_GyNO
z=CV_ad@LI?$_m
zYJh&dc#b&gpr{JbQ!y
zkg8GS9npc1xBYl(@E{+ZTVw#EtxUp%d34>l3I|cq0f49>s9&i>Jv<0K5rq}hD96mg
za{ZDSP*-0MO`RncCnr6iS;{>S*n6>qg9K~|LWg0QI;@oorLmqv7#bEMd0O>3x|2|0
z=>G{OPlF+QedN6kAM3MBBl-QBT3mc*8{~q`uQQf`Yoxy{)UZ7h9S4TT134XW{U!;r
z2zI5V^)_*iL*~)X`xL`?JVN5!J?T_WpWd^NpZ64^w-Zsf#nJz<4zztbV#?gcSUa7&3}Yr_W)ADp^yP3f4QJ6yll
zfqVC?U}@R1P_kX1g@q^X^-3K2m$Q~?D3rlx8+ZV%tAT;{9h~7Zm%{3VK4ofIw8ols$i-l=S;PU}*ZUPY9G7d@#?GDy|1CvTTQJ}AmaiCT8P_Ai*
z7h)vXsv3}9H;Pw=#T>*IocPPhMY<2-#qJLnYQ=;uN9*ZjajqXvzy)7Za8ho5
zv*V%mr&jO&&gS>7HN|1!WL=@VMkn;Eha%X_;_|VB#e&Sb1TLOA-NvoDXp#u#xMx^`!6-m1I
zzf4G_nQqkW5-d3NY-|eTVmDl3YtNrdjcZV3aJC1v%=L0kHEwhvRgTV0roVd8hDmVs
zWhG^Qh|SZ;Idy#CdKAi-i|0RE89ak<%gvV!_Y0@&Gv^N&JX}v@n17lX3{Q
zh=JAEd)OB7?#j{Ii)!=tUMDW+)+FR!Q=^n*j;rOT+G-1H{&IF*owrmw6OnPvlvX2k
zC41V`{AxRUTu0g7IJ|aOf)H-qWHY*SQ9gNER|oRY(6(@UNiI(2w}
z1Pw5-YBQe^k>O9sIcI7-T0oXbLXw1x{&(YnUQO}^pI8X%7KYx><%!h^-@ykb5YBt3ez0K=@5I>DFMfSrr8Ptj}
zE8IdH#5S*yc-PC-ysA8z4EB|rzo}0Xz|KI!k#}oti)day3cv_=I=~yz#1>VD;#L~&
z=yz+bCHo_zldZ7>b;Z7A=^J5>Sq$9xwMH+{8Jyl$iGm$857f>v^&}A$OYbW?AX0jP
z0(mf1KlUakdE%GL#t25eZxrLrO(b_!+F5GtQ4)vEa9k9uAU{*eH?(xL+`L}y4UD?&
z(i*)gzwdaScio=`Ug^JIe0l4CKlppPdacWj`@IZaNs0L&x?=u^qhbMAXGoDm5@b8a
zY`R3*5w#nJf^z5K;TheL%Cs;0W1;BF0qV#%nlVmUSD%X(?_FoU&Rj!oyz{ejAKI-@HKz6@eWo9e_GviYKdKK9eSOge
zV!gd?3q2gwC$gHC$osmArlr1X*k>Vxqhn>LeD@@QH!_*EDa)mtB)(VO^kb%*4yM(*
zf5KJ1aB4{LD7dndcu0HJyX?BMu9%>?Csb+FrnZ=;QZu7*DVlhnQLp46A?b^z
zyPhJc)$u3cwpj{E{UDy8f!H}d-DJquhLP_F6nv!Mn6a_3>uWb#%B=XOR|vf}EgFfu
zXp}osNh3cB%{37KOrcimDvCm@mH-?@5q*1dL!X59X0XKaV^lT=RxLO0L%L~UjB8tM
z@4>I%`%uylax%h@5MQrP&3*;3yH}ik6TO6xknf4aosR(9Qxi=%ZvEiCr}%o=6b6+1
z)+^4Uhu<^tTQCK+UpkI0;EW(_LWO5_77J^an>gH1x$kKNX#R~8s`T;9465ag+rD1LKCQmVTZ(+{D39gB!>wcZN)*wK(?8Y`kTup2Hq(wB}tf
z6|mpg)3apAZ0dWQdnvvg*UXx?gm4{kgiwrdmObI@IFXoc`81zF)n-KjrAXDsz5Poci537^?EL-tZ})4x@cUx-
z+i~}U{`=#3$J?OtgjLM4S!=uS_|maoFk`WW_czl7dJ>ecO9OE3Gy24t?Kce~PA4Y{
z5#liIz0pDkL71z%dpE{pz{`{Fl-Q*SG%>!`aC*Z^!`re-@4HmHYAD(_BW@&c{
zELM*0>3<#731F2OQHceDn&8KCXRal2_{V0#77$}FAKwNB2Anysq_TxfN^$ud6nz(U
zd>zIJtrXeGo@>MCn<(f$LHFFx&4Rtqe(^}{l(#Jsd@}M1@Ohl%_Y82pe-7ap8r!qA
zX7_&FONmcN5Y&F(dfpV|6_ovK6dW2Lkb!*@>EhB=`fcKeWCI0WCzP3h%bGH_n-WJ~
zut);}eVC1XFL*zm-)YQ^ksEz7;kTbK^250`MCgXt)W5&~IwqEv&p&B7y@hlE?~gzFZAjh1_}Dkq
zn!t9T-2q{2pkz476`r@YOn&JEiOHN7una!|>Za_uGn7hheAw~q9Qnd&3>Z+&%$Hnf
z&hNcwB2(}D^v0*h$eIsEv0G2jO4T4rvwoc
zgQI-V_~hPW8}sN*S42dL*1p8*L`f(OM@W0Rc6IKHkk;6$0m4RR7`q))19a0?KkAoHNsK?YHJ%Rtz|%i{(*^V^v2cp
z8BD*Oo*i3@RxpU9a3PbJAq%u{dx9l<+;OQ`v_6e%%Z_GlB>sXo&a?LUUOAHvuob&y
zrghb8WNN;y;K&C*Ved_ijx!5yB?P(fqtN83`KlbL;JH{l_A7~!vvjVJ68G#C8$3(#
z6>JvxSCtY5ltPE(dbz)VD2Epznk(!TMCRzHbgqkjTMu9D=tXae#&?Xylo#C`ZJhk7
z^vG@3ytF)#IG*c86D?fzp}@Rr?BXL`Y>-PDwEM0S7pf{BlS5nAvE2;34OvLL)F=~1
znszxABZa!uz>_&f*rFH3tbZI^E@bl@ZL<=WZrjN=%?*XK)Dh2t&c~CP&A-K7NrF>sV5#x<$Mi*
zi1t~c$^2U>%^V=HCQ&4Q+T!K6JE;A&as*8?
z-*V4yME<0n2BKZ|p2!IGt9Vjdav{2gn=JpI6Z`G?S7}t@7cj~DTh%IT_qFj$;-XQY
zon(7wWkHK@XNwM_)@#7rG3qG2_K6XZeQoj)yj=<>HqE|!u0DfB3~mK-C?q07%Fqza
z=JQ!IiEsesSMcNpO6U88lYhZtjFJCoV?jZ|wzI;lRA-KowMLPTC2M_j)p5PnE<}(S
zkM3F6t1@T6?&ZN?9Dxgq*>XPG58W;yx~NtWD6o4rG;K>y?LoRztVlArA5{x+p7gsK
z^izfvyrMdqgas9`AYYe2x1aNSukZPWuiur)`^tvvFSHczi_`8$0-qK+t%}{*&pv+n
zf4g6<w-G^0*s}-FYu6;>9>SqyEU_;NbKmVGj31#Z(Vp=EV%`?G+JP
z!eXyCSqC5jxsh9-Mz};mgR8Ji)U0y$9_6l>Ba+cp&sI2Nky*ESV_J0}^dN}{Q(c@j
zv(Un|4+`O<_QAkEdLCp!R!>l!@UBIoBV^)w`jd4Ny_S#w2KjupL-LY#Eth%H*N6&7
zu@nAu+(}xFgK4@IGjBH`xa?E(v8xlzKXtWrnu@Bp!x*UU;1IK7=b$~F5}UjeVMMuT
z+p2m4d&A(B7_Ny#Pw}QzProP{*0=PGHPegTp#esuum*4vSrg#%s~E0vKxvO4hc?88q8l{
zMmOq+#T4_0D6@&1^-eP8LKH!UYAcQaqlA3Ma+>GQKR4mz
zV+mojCsssQBgcC1EpYuuSnIW1*}v4NJcQ$
z;mnVg8gdSmc2^<&ah84S{gRu*34$-cX2a~9z;oaG&?W!3Yp2fFyH)0gXP1|k+uLy|Mr|L7_5GcPPAIMX*8+4j=jODNFY)4O
zcefcWG!m+$a&~qg0;{igEQT>FB2&;B-8@{!(MetcdPXHB`<`cO-d^wE<-@}p*ETt8
z{`P|U+0Xdi_`$QE@m178vxF(o}tFZA@TLJCV*S{NWa`s1Z9
zb4PV8V9WWE4i23j+g7he@&|L8R)h?|8C%vtP~G9#&3n@JRSvmB|8fE)8$rH5IO3E%
z$#%}{2=mt?ew$M4uUXa9?K@a&P|IbUD=4Y(bm!3nf;gAIn`!dMFj(cKVopkenp`66
znkGvY2QBr3rW%pBrYn*_l`DX`LQ2_#pW))vC?+ikoVkYwjXL9^fB{~ugaZ==hSCxl
zEwZ0d1jDi2*hWJ^JNQss&Wd}rrUAUic$Ab{@z;9D2ZTKah(&=n1hnbz?e3LQ_#SFDbRU5`58A;N
zr?(@;qeUp=Vz#3C29i8tv^zT$JH*jrs>9v@oo(=`A&i*^u?2>d_6O;9>+|L;x?%SpPCo`Zb
zPqq1hx}Yc6THWj@A8?fCAr6q$;1U~B@vgZOZ9XNMt@-sfj|TZZ^T+*2AQ!!*rN!A{
zNjh`^454LNXCV7lyM`|kiyLGQtZ7dM)PS7Ct*gWGa7F)U&!h6Oi!O+p>_RiHuB_fL
zVXdU8Ku{P?pg`bL9rqc0
zrJGB_N+~69ziR{82}@8cleJ`!$1V`?nPARzAE|=}mr`*Zm40(n@JqUXWunlZaJ2{v
z0;$VCO}9}nGv06F-}lCgp`XC7M2xo`;M}F-lT4HWLy;=qF+vtp
z5kS`$UDqL}h_|?2cZ~!%7n0siJ!^AZZv*wibrPuS%ngTvlek*s>EjdN=VyTR=GvM|
z1Ggf0Gk<*@v%F{7jpMhc9kBfue7e5Az76a!sQRcAlu1WY0wr)-_w|Wbk;E`>A@<8rHMMy5PgD{se8YVFy}aNi`QP&E
zEmf8GM@9~JJsvN&eXQ@MdiY@U;c_2l8dj
znB^&N`dm+RzIHy}pU+~%V#X{(qizsT<=vD*oRgQ%1K0mX-2T0HF=3VwB$A}t?|!BW5JU$AG+lw>j$V%oZ5
zUZpvb`R9>fx;`=1+fU90wH#YFh?B%bcYunkSYI;W_II@e@jPhIMSI(%s9X2b@8Wv#
zaC{9%64uwsi=TyuZEj?>2OV4K)FD`$>6lLKCL
zscPL77*`@qE^_CmMWzMi{hB7!HNro)%uhP8iEa^1cMV4~7E`1zYJb8OCuzvrlN*H|
zM8AEWp0V3rA{idkBEbD6v^dRtFm3}FmPeum2=?GRsXEooz;P_F_tHOi3X+TmQl$~?%=>2x7$~+W<
zK}BHFLirU>@`9})9DQS6OMREK6j}OFf3@g?AB7~omzVlPJShmJ^?4fp8FOkBpXhls>5KeA8Mmz>St=tA#@6qSijIDMwKtGWad<5#r6#^Cbzo_Db#SI!)w{$
zcGe4F$c$@aVC2Pg1pn>txfUcqfWU3z9c@}|488)$Yx<+c9cUlIjD5o@LsPy{3*l63
za81X+*Iyy;z?T;l)~D{G<<(f&igAosjM*6kT?515NNk)m8v({0icB`1RA;?VzpJ`y
zgB(6-O-5}I%98*wG`NE5-UO{Nd?R)^+3`pjY@nJYxr$lY;Nr{lKwXP}&(z}sV{m*`
zyauyMcQ6ZD*SKDKfFP3|NaTL=ya*J{!#8)S7;0E`zv1fi>%9lJ}M07L^X8e(m%cQdI=75GTN7drb`!g4Jce
zSNbI+Yaux?iy?2>T1srVRZul6N@RVDOoC-at)P^BPkDdzoSHg+uMd3M98f*~W%MhAz~mv?ggQNfJb-SA7Bv5%F0`QscAAX*&q
zeVejI-t)aTR62p=aNysX<}M)f_?y@!xXl?csq
z(C`6VFw`LB3|qnyGyHsYcdAdpP5tulTM5%A9wDT&lPCb2RY~_Y{NSm9RnT44X+ba<
zc4R*13!bviD{&l*AZWS}Znxd%eEr(@JbN5_|NeY^Pa*0t+QV9v+TwjnyZxi%_amT>
zOua2ThyCii%T_;p$Z|U56mXs4f;m&Le!3|2%A|4`aVa@6+ZY`C~>p7;&fc
zZ_&XTHu0-W3$?z$yEys76sJ!P{Y2bUY(1G@2*Mwl&hOccY*Q`x*)O+GbPK83vHh5j>UkKL{{CHJH|{TgPp_E}K^hS40KsDd&`BA1!0=O7nL#?U6i*
zkPo~*d#rqaxti^LV7wD^6K&@6*c
zROAznvlc>p$Q|5V6tz}*o}KqJLMh!TVh|2o5I0%sj2_mF#s-5*Hug4DzM%yk+)5YJ
z5OCa?rx4*V_DjaZ0il^k%wJNRr6*G0Jn3F*|57;b>VAjDhSdhZ197H_D64
zc^bH*OOGrXp(Zq!YWncq;)_}2XS?9Oz%sq