From 58eced8118ab466f5f4d7d64994c2626dc317070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 2 Aug 2021 11:58:38 +0300 Subject: [PATCH 01/47] Created postgresql chart --- etc/k8s/helm-chart/eventhub/Chart.yaml | 6 +++++ .../eventhub/charts/postgresql/Chart.yaml | 6 +++++ .../templates/postgresql-service.yaml | 15 +++++++++++ .../postgresql/templates/postgresql.yaml | 25 +++++++++++++++++++ .../eventhub/charts/postgresql/values.yaml | 0 etc/k8s/helm-chart/eventhub/values.yaml | 0 6 files changed, 52 insertions(+) create mode 100644 etc/k8s/helm-chart/eventhub/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/postgresql/values.yaml create mode 100644 etc/k8s/helm-chart/eventhub/values.yaml diff --git a/etc/k8s/helm-chart/eventhub/Chart.yaml b/etc/k8s/helm-chart/eventhub/Chart.yaml new file mode 100644 index 0000000..5c0b700 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: eventhub +appVersion: "1.0" +description: Eventhub application chart +version: 1.0.0 +type: application diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml new file mode 100644 index 0000000..49bbcd8 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: database +appVersion: "1.0" +description: Runs PostgreSQL Instance +version: 1.0.0 +type: application diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml new file mode 100644 index 0000000..c4fa04a --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: postgresql + name: postgresql +spec: + type: LoadBalancer + ports: + - name: postgresql + port: 5435 + targetPort: 5432 + selector: + app: postgresql + diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml new file mode 100644 index 0000000..fd6e1e0 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgresql +spec: + replicas: 1 + selector: + matchLabels: + app: postgresql + template: + metadata: + labels: + app: postgresql + spec: + containers: + - image: postgres + name: postgresql + ports: + - name: postgresql + containerPort: 5432 + env: + - name: POSTGRES_USER + value: "root" + - name: POSTGRES_PASSWORD + value: "root" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/values.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml new file mode 100644 index 0000000..e69de29 From 3b98092967fdf2e01287676b4d7090c3de3cb03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 2 Aug 2021 12:21:21 +0300 Subject: [PATCH 02/47] Created dbmigrator chart --- .../eventhub/charts/dbmigrator/Chart.yaml | 6 ++++++ .../charts/dbmigrator/templates/migrator.yaml | 14 ++++++++++++++ src/EventHub.DbMigrator/Dockerfile | 4 ++++ src/EventHub.DbMigrator/appsettings.json | 2 +- 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 etc/k8s/helm-chart/eventhub/charts/dbmigrator/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml create mode 100644 src/EventHub.DbMigrator/Dockerfile diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/Chart.yaml new file mode 100644 index 0000000..a20b761 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: migrator +appVersion: "1.0" +description: EventHub Migrator Application +version: 1.0.0 +type: application \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml new file mode 100644 index 0000000..18f6233 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml @@ -0,0 +1,14 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: migrator +spec: + activeDeadlineSeconds: 100 + template: + spec: + containers: + - name: migrator + image: eventhubmigrator + imagePullPolicy: Never + restartPolicy: Never + backoffLimit: 4 \ No newline at end of file diff --git a/src/EventHub.DbMigrator/Dockerfile b/src/EventHub.DbMigrator/Dockerfile new file mode 100644 index 0000000..1c97a60 --- /dev/null +++ b/src/EventHub.DbMigrator/Dockerfile @@ -0,0 +1,4 @@ + FROM mcr.microsoft.com/dotnet/runtime:5.0 + COPY bin/Release/net5.0/ app/ + WORKDIR /app + ENTRYPOINT ["dotnet", "EventHub.DbMigrator.dll"] \ No newline at end of file diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index 828fd62..c4413fb 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root;Port=5432" }, "IdentityServer": { "Clients": { From 6d115573a4610d3d5ba7b0240a3d7201002c0dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 2 Aug 2021 13:26:58 +0300 Subject: [PATCH 03/47] Added redis chart --- .../eventhub/charts/redis/Chart.yaml | 6 +++++ .../charts/redis/templates/redis-service.yaml | 15 +++++++++++ .../charts/redis/templates/redis.yaml | 25 +++++++++++++++++++ .../eventhub/charts/redis/values.yaml | 0 src/EventHub.DbMigrator/Dockerfile | 2 +- src/EventHub.DbMigrator/appsettings.json | 2 +- 6 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 etc/k8s/helm-chart/eventhub/charts/redis/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/redis/values.yaml diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/Chart.yaml new file mode 100644 index 0000000..11ec26c --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/redis/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: redis +appVersion: "1.0" +description: Runs Redis instance +version: 1.0.0 +type: application diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml new file mode 100644 index 0000000..5c2d9ef --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: redis + name: redis +spec: + type: ClusterIP + ports: + - name: redis + port: 6379 + targetPort: 6379 + selector: + app: redis + diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml new file mode 100644 index 0000000..22e1f51 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis +spec: + replicas: 1 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + containers: + - image: redis:6.0.10-alpine + name: redis + ports: + - name: redis + containerPort: 6379 + env: + - name: POSTGRES_USER + value: "root" + - name: POSTGRES_PASSWORD + value: "root" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/values.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/src/EventHub.DbMigrator/Dockerfile b/src/EventHub.DbMigrator/Dockerfile index 1c97a60..175494f 100644 --- a/src/EventHub.DbMigrator/Dockerfile +++ b/src/EventHub.DbMigrator/Dockerfile @@ -1,4 +1,4 @@ - FROM mcr.microsoft.com/dotnet/runtime:5.0 + FROM mcr.microsoft.com/dotnet/aspnet:5.0 COPY bin/Release/net5.0/ app/ WORKDIR /app ENTRYPOINT ["dotnet", "EventHub.DbMigrator.dll"] \ No newline at end of file diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index c4413fb..9073010 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root;Port=5432" + "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "IdentityServer": { "Clients": { From 0c1b6a5aada417ff6bca2be141f6b30d53c9daf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 2 Aug 2021 13:54:50 +0300 Subject: [PATCH 04/47] Added account chart. --- .../eventhub/charts/account/Chart.yaml | 6 ++ .../account/templates/account-ingress.yaml | 18 +++++ .../account/templates/account-service.yaml | 14 ++++ .../charts/account/templates/account.yaml | 22 ++++++ src/EventHub.DbMigrator/appsettings.json | 6 +- src/EventHub.IdentityServer/Dockerfile | 4 ++ .../EventHubIdentityServerModule.cs | 4 ++ src/EventHub.IdentityServer/Program.cs | 2 - ...eSiteCookiesServiceCollectionExtensions.cs | 70 +++++++++++++++++++ src/EventHub.IdentityServer/appsettings.json | 10 +-- 10 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml create mode 100644 src/EventHub.IdentityServer/Dockerfile create mode 100644 src/EventHub.IdentityServer/SameSiteCookiesServiceCollectionExtensions.cs diff --git a/etc/k8s/helm-chart/eventhub/charts/account/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/account/Chart.yaml new file mode 100644 index 0000000..ad4fd58 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: account +appVersion: "1.0" +description: EventHub Account Application +version: 1.0.0 +type: application \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml new file mode 100644 index 0000000..19ef867 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: account-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + rules: + - host: "account.openeventhub.com" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: account + port: + number: 443 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml new file mode 100644 index 0000000..8d843f1 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: account + name: account +spec: + ports: + - name: "80" + port: 80 + - name: "433" + port: 433 + selector: + app: account diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml new file mode 100644 index 0000000..a4455c9 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: account +spec: + selector: + matchLabels: + app: account + template: + metadata: + labels: + app: account + spec: + containers: + - image: eventhub.account + imagePullPolicy: Never + name: account + ports: + - name: accounthttp + containerPort: 80 + - name: accounthttps + containerPort: 433 \ No newline at end of file diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index 9073010..07155fd 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -7,16 +7,16 @@ "EventHub_Web": { "ClientId": "EventHub_Web", "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44308" + "RootUrl": "https://openeventhub.com" }, "EventHub_Blazor": { "ClientId": "EventHub_Blazor", - "RootUrl": "https://localhost:44307" + "RootUrl": "https://admin.openeventhub.com" }, "EventHub_Swagger": { "ClientId": "EventHub_Swagger", "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44362" + "RootUrl": "https://api.openeventhub.com" } } } diff --git a/src/EventHub.IdentityServer/Dockerfile b/src/EventHub.IdentityServer/Dockerfile new file mode 100644 index 0000000..20a0003 --- /dev/null +++ b/src/EventHub.IdentityServer/Dockerfile @@ -0,0 +1,4 @@ + FROM mcr.microsoft.com/dotnet/aspnet:5.0 + COPY bin/Release/net5.0/publish/ app/ + WORKDIR /app + ENTRYPOINT ["dotnet", "EventHub.IdentityServer.dll"] \ No newline at end of file diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index 08898db..f10a1ee 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -139,6 +139,8 @@ namespace EventHub .AllowCredentials(); }); }); + + context.Services.AddSameSiteCookiePolicy(); } public override void OnApplicationInitialization(ApplicationInitializationContext context) @@ -157,6 +159,8 @@ namespace EventHub { app.UseErrorPage(); } + + app.UseCookiePolicy(); app.UseCorrelationId(); app.UseVirtualFiles(); diff --git a/src/EventHub.IdentityServer/Program.cs b/src/EventHub.IdentityServer/Program.cs index ef4acd5..c65563b 100644 --- a/src/EventHub.IdentityServer/Program.cs +++ b/src/EventHub.IdentityServer/Program.cs @@ -20,9 +20,7 @@ namespace EventHub .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG .WriteTo.Async(c => c.Console()) -#endif .CreateLogger(); try diff --git a/src/EventHub.IdentityServer/SameSiteCookiesServiceCollectionExtensions.cs b/src/EventHub.IdentityServer/SameSiteCookiesServiceCollectionExtensions.cs new file mode 100644 index 0000000..3b0c754 --- /dev/null +++ b/src/EventHub.IdentityServer/SameSiteCookiesServiceCollectionExtensions.cs @@ -0,0 +1,70 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.Extensions.DependencyInjection +{ + public static class SameSiteCookiesServiceCollectionExtensions + { + public static IServiceCollection AddSameSiteCookiePolicy(this IServiceCollection services) + { + services.Configure(options => + { + options.MinimumSameSitePolicy = SameSiteMode.Unspecified; + options.OnAppendCookie = cookieContext => + CheckSameSite(cookieContext.Context, cookieContext.CookieOptions); + options.OnDeleteCookie = cookieContext => + CheckSameSite(cookieContext.Context, cookieContext.CookieOptions); + }); + + return services; + } + + private static void CheckSameSite(HttpContext httpContext, CookieOptions options) + { + if (options.SameSite == SameSiteMode.None) + { + var userAgent = httpContext.Request.Headers["User-Agent"].ToString(); + if (!httpContext.Request.IsHttps || DisallowsSameSiteNone(userAgent)) + { + // For .NET Core < 3.1 set SameSite = (SameSiteMode)(-1) + options.SameSite = SameSiteMode.Unspecified; + } + } + } + + private static bool DisallowsSameSiteNone(string userAgent) + { + // Cover all iOS based browsers here. This includes: + // - Safari on iOS 12 for iPhone, iPod Touch, iPad + // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad + // - Chrome on iOS 12 for iPhone, iPod Touch, iPad + // All of which are broken by SameSite=None, because they use the iOS networking stack + if (userAgent.Contains("CPU iPhone OS 12") || userAgent.Contains("iPad; CPU OS 12")) + { + return true; + } + + // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes: + // - Safari on Mac OS X. + // This does not include: + // - Chrome on Mac OS X + // Because they do not use the Mac OS networking stack. + if (userAgent.Contains("Macintosh; Intel Mac OS X 10_14") && + userAgent.Contains("Version/") && userAgent.Contains("Safari")) + { + return true; + } + + // Cover Chrome 50-69, because some versions are broken by SameSite=None, + // and none in this range require it. + // Note: this covers some pre-Chromium Edge versions, + // but pre-Chromium Edge does not require SameSite=None. + if (userAgent.Contains("Chrome/5") || userAgent.Contains("Chrome/6")) + { + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/src/EventHub.IdentityServer/appsettings.json b/src/EventHub.IdentityServer/appsettings.json index c9e8b26..d4b0c6a 100644 --- a/src/EventHub.IdentityServer/appsettings.json +++ b/src/EventHub.IdentityServer/appsettings.json @@ -1,14 +1,14 @@ { "App": { - "SelfUrl": "https://localhost:44313", - "CorsOrigins": "https://*.EventHub.com,http://localhost:4200,https://localhost:44307,https://localhost:44362", - "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" + "SelfUrl": "https://account.openeventhub.com", + "CorsOrigins": "https://*.openeventhub.com,http://localhost:4200,https://localhost:44307,https://localhost:44362", + "RedirectAllowedUrls": "https://openeventhub.com,https://admin.openeventhub.com" }, "ConnectionStrings": { - "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "Redis": { - "Configuration": "127.0.0.1" + "Configuration": "redis" }, "StringEncryption": { "DefaultPassPhrase": "TxVIZFPxK33czbbv" From 72d7a4888a062273a79082e3648342ea10a3482f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 2 Aug 2021 17:30:35 +0300 Subject: [PATCH 05/47] Added account & api services --- .../account/templates/account-ingress.yaml | 3 +- .../account/templates/account-service.yaml | 4 +- .../charts/account/templates/account.yaml | 2 +- .../helm-chart/eventhub/charts/api/Chart.yaml | 6 ++ .../charts/api/templates/api-ingress.yaml | 18 +++++ .../charts/api/templates/api-service.yaml | 14 ++++ .../eventhub/charts/api/templates/api.yaml | 22 ++++++ .../EventHubAdminHttpApiHostModule.cs | 1 + src/EventHub.Admin.HttpApi.Host/Program.cs | 2 - .../EventHub.DbMigrator.csproj | 4 ++ .../appsettings.Development.json | 5 ++ .../Web/EventHubExternalUrls.cs | 8 +-- src/EventHub.HttpApi.Host/Dockerfile | 4 ++ .../EventHubHttpApiHostModule.cs | 10 +++ src/EventHub.HttpApi.Host/Program.cs | 2 - ...eSiteCookiesServiceCollectionExtensions.cs | 70 +++++++++++++++++++ .../appsettings.Development.json | 12 ++++ src/EventHub.HttpApi.Host/appsettings.json | 6 +- .../EventHub.IdentityServer.csproj | 4 ++ .../EventHubIdentityServerModule.cs | 16 +++++ .../appsettings.Development.json | 8 ++- .../wwwroot/themes/eventhub/owl-edit.css | 6 +- .../wwwroot/themes/eventhub/style.css | 6 +- src/EventHub.Web/Program.cs | 2 - 24 files changed, 211 insertions(+), 24 deletions(-) create mode 100644 etc/k8s/helm-chart/eventhub/charts/api/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml create mode 100644 src/EventHub.DbMigrator/appsettings.Development.json create mode 100644 src/EventHub.HttpApi.Host/Dockerfile create mode 100644 src/EventHub.HttpApi.Host/SameSiteCookiesServiceCollectionExtensions.cs diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index 19ef867..2138aa0 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -4,6 +4,7 @@ metadata: name: account-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: rules: - host: "account.openeventhub.com" @@ -15,4 +16,4 @@ spec: service: name: account port: - number: 443 \ No newline at end of file + number: 80 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml index 8d843f1..075e7d7 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml @@ -8,7 +8,7 @@ spec: ports: - name: "80" port: 80 - - name: "433" - port: 433 + - name: "443" + port: 443 selector: app: account diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml index a4455c9..e67dbcb 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml @@ -19,4 +19,4 @@ spec: - name: accounthttp containerPort: 80 - name: accounthttps - containerPort: 433 \ No newline at end of file + containerPort: 443 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/api/Chart.yaml new file mode 100644 index 0000000..fa75f5b --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/api/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: api +appVersion: "1.0" +description: EventHub API Application +version: 1.0.0 +type: application \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml new file mode 100644 index 0000000..efc2deb --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: api-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + rules: + - host: "api.openeventhub.com" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: api + port: + number: 80 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml new file mode 100644 index 0000000..e4b7ee7 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: api + name: api +spec: + ports: + - name: "80" + port: 80 + - name: "443" + port: 443 + selector: + app: api diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml new file mode 100644 index 0000000..b5ad403 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: api +spec: + selector: + matchLabels: + app: api + template: + metadata: + labels: + app: api + spec: + containers: + - image: eventhub.api + imagePullPolicy: Never + name: api + ports: + - name: apihttp + containerPort: 80 + - name: apihttps + containerPort: 443 \ No newline at end of file diff --git a/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs b/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs index 38ff481..81a76bc 100644 --- a/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs +++ b/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs @@ -15,6 +15,7 @@ using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; using StackExchange.Redis; using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; diff --git a/src/EventHub.Admin.HttpApi.Host/Program.cs b/src/EventHub.Admin.HttpApi.Host/Program.cs index fdb4ed3..076a07e 100644 --- a/src/EventHub.Admin.HttpApi.Host/Program.cs +++ b/src/EventHub.Admin.HttpApi.Host/Program.cs @@ -20,9 +20,7 @@ namespace EventHub.Admin .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG .WriteTo.Async(c => c.Console()) -#endif .CreateLogger(); try diff --git a/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj b/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj index 69154bc..ed41ba6 100644 --- a/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj +++ b/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj @@ -12,6 +12,10 @@ + + PreserveNewest + Always + PreserveNewest Always diff --git a/src/EventHub.DbMigrator/appsettings.Development.json b/src/EventHub.DbMigrator/appsettings.Development.json new file mode 100644 index 0000000..4ba93e6 --- /dev/null +++ b/src/EventHub.DbMigrator/appsettings.Development.json @@ -0,0 +1,5 @@ +{ + "ConnectionStrings": { + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + } +} diff --git a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs b/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs index e6d8c7a..60ff0bd 100644 --- a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs +++ b/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs @@ -9,10 +9,10 @@ namespace EventHub.Web public const string EhWww = "https://localhost:44308"; #else // TODO: Change these production links - public const string EhAccount = "https://localhost:44313"; - public const string EhApi = "https://localhost:44362"; - public const string EhAdmin = "https://localhost:44307"; - public const string EhWww = "https://localhost:44308"; + public const string EhAccount = "https://account.openeventhub.com"; + public const string EhApi = "https://api.openeventhub.com"; + public const string EhAdmin = "https://admin.openeventhub.com"; + public const string EhWww = "https://openeventhub.com"; #endif } } \ No newline at end of file diff --git a/src/EventHub.HttpApi.Host/Dockerfile b/src/EventHub.HttpApi.Host/Dockerfile new file mode 100644 index 0000000..b5bd5d9 --- /dev/null +++ b/src/EventHub.HttpApi.Host/Dockerfile @@ -0,0 +1,4 @@ + FROM mcr.microsoft.com/dotnet/aspnet:5.0 + COPY bin/Release/net5.0/publish/ app/ + WORKDIR /app + ENTRYPOINT ["dotnet", "EventHub.HttpApi.Host.dll"] \ No newline at end of file diff --git a/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs b/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs index 65b752f..5814887 100644 --- a/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs +++ b/src/EventHub.HttpApi.Host/EventHubHttpApiHostModule.cs @@ -170,6 +170,8 @@ namespace EventHub .AllowCredentials(); }); }); + + context.Services.AddSameSiteCookiePolicy(); } public override void OnApplicationInitialization(ApplicationInitializationContext context) @@ -181,6 +183,12 @@ namespace EventHub { app.UseDeveloperExceptionPage(); } + + app.Use((context, next) => + { + context.Request.Scheme = "https"; + return next(); + }); var supportedCultures = new[] { @@ -204,6 +212,8 @@ namespace EventHub app.UseErrorPage(); } + app.UseCookiePolicy(); + app.UseCorrelationId(); app.UseVirtualFiles(); app.UseRouting(); diff --git a/src/EventHub.HttpApi.Host/Program.cs b/src/EventHub.HttpApi.Host/Program.cs index 08c00d8..1bf31ea 100644 --- a/src/EventHub.HttpApi.Host/Program.cs +++ b/src/EventHub.HttpApi.Host/Program.cs @@ -20,9 +20,7 @@ namespace EventHub .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG .WriteTo.Async(c => c.Console()) -#endif .CreateLogger(); try diff --git a/src/EventHub.HttpApi.Host/SameSiteCookiesServiceCollectionExtensions.cs b/src/EventHub.HttpApi.Host/SameSiteCookiesServiceCollectionExtensions.cs new file mode 100644 index 0000000..3b0c754 --- /dev/null +++ b/src/EventHub.HttpApi.Host/SameSiteCookiesServiceCollectionExtensions.cs @@ -0,0 +1,70 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.Extensions.DependencyInjection +{ + public static class SameSiteCookiesServiceCollectionExtensions + { + public static IServiceCollection AddSameSiteCookiePolicy(this IServiceCollection services) + { + services.Configure(options => + { + options.MinimumSameSitePolicy = SameSiteMode.Unspecified; + options.OnAppendCookie = cookieContext => + CheckSameSite(cookieContext.Context, cookieContext.CookieOptions); + options.OnDeleteCookie = cookieContext => + CheckSameSite(cookieContext.Context, cookieContext.CookieOptions); + }); + + return services; + } + + private static void CheckSameSite(HttpContext httpContext, CookieOptions options) + { + if (options.SameSite == SameSiteMode.None) + { + var userAgent = httpContext.Request.Headers["User-Agent"].ToString(); + if (!httpContext.Request.IsHttps || DisallowsSameSiteNone(userAgent)) + { + // For .NET Core < 3.1 set SameSite = (SameSiteMode)(-1) + options.SameSite = SameSiteMode.Unspecified; + } + } + } + + private static bool DisallowsSameSiteNone(string userAgent) + { + // Cover all iOS based browsers here. This includes: + // - Safari on iOS 12 for iPhone, iPod Touch, iPad + // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad + // - Chrome on iOS 12 for iPhone, iPod Touch, iPad + // All of which are broken by SameSite=None, because they use the iOS networking stack + if (userAgent.Contains("CPU iPhone OS 12") || userAgent.Contains("iPad; CPU OS 12")) + { + return true; + } + + // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes: + // - Safari on Mac OS X. + // This does not include: + // - Chrome on Mac OS X + // Because they do not use the Mac OS networking stack. + if (userAgent.Contains("Macintosh; Intel Mac OS X 10_14") && + userAgent.Contains("Version/") && userAgent.Contains("Safari")) + { + return true; + } + + // Cover Chrome 50-69, because some versions are broken by SameSite=None, + // and none in this range require it. + // Note: this covers some pre-Chromium Edge versions, + // but pre-Chromium Edge does not require SameSite=None. + if (userAgent.Contains("Chrome/5") || userAgent.Contains("Chrome/6")) + { + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/src/EventHub.HttpApi.Host/appsettings.Development.json b/src/EventHub.HttpApi.Host/appsettings.Development.json index 2c63c08..1455394 100644 --- a/src/EventHub.HttpApi.Host/appsettings.Development.json +++ b/src/EventHub.HttpApi.Host/appsettings.Development.json @@ -1,2 +1,14 @@ { + "ConnectionStrings": { + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + }, + "Redis": { + "Configuration": "127.0.0.1" + }, + "AuthServer": { + "Authority": "https://localhost:44313", + "RequireHttpsMetadata": "true", + "SwaggerClientId": "EventHub_Swagger", + "SwaggerClientSecret": "1q2w3e*" + } } diff --git a/src/EventHub.HttpApi.Host/appsettings.json b/src/EventHub.HttpApi.Host/appsettings.json index 7c2ab2d..e379370 100644 --- a/src/EventHub.HttpApi.Host/appsettings.json +++ b/src/EventHub.HttpApi.Host/appsettings.json @@ -3,13 +3,13 @@ "CorsOrigins": "https://*.openeventhub.com,https://localhost:44307,https://localhost:44308" }, "ConnectionStrings": { - "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "Redis": { - "Configuration": "127.0.0.1" + "Configuration": "redis" }, "AuthServer": { - "Authority": "https://localhost:44313", + "Authority": "https://account.openeventhub.com", "RequireHttpsMetadata": "true", "SwaggerClientId": "EventHub_Swagger", "SwaggerClientSecret": "1q2w3e*" diff --git a/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj b/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj index 8d54cd5..69b7785 100644 --- a/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj +++ b/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj @@ -20,6 +20,10 @@ + + + Always + diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index f10a1ee..44632cc 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Linq; +using System.Security.Cryptography.X509Certificates; using Localization.Resources.AbpUi; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; @@ -13,6 +14,7 @@ using EventHub.Web; using EventHub.Web.Theme; using EventHub.Web.Theme.Bundling; using IdentityServer4.Configuration; +using Microsoft.IdentityModel.Tokens; using StackExchange.Redis; using Volo.Abp; using Volo.Abp.Account; @@ -46,6 +48,14 @@ namespace EventHub { private const string DefaultCorsPolicyName = "Default"; + public override void PreConfigureServices(ServiceConfigurationContext context) + { + PreConfigure(builder => + { + builder.AddSigningCredential(new X509Certificate2("localhost.pfx", "e8202f07-66e5-4619-be07-72ba76fde97f")); + }); + } + public override void ConfigureServices(ServiceConfigurationContext context) { var hostingEnvironment = context.Services.GetHostingEnvironment(); @@ -148,6 +158,12 @@ namespace EventHub var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); + app.Use((context, next) => + { + context.Request.Scheme = "https"; + return next(); + }); + if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); diff --git a/src/EventHub.IdentityServer/appsettings.Development.json b/src/EventHub.IdentityServer/appsettings.Development.json index 2c63c08..de1a3cb 100644 --- a/src/EventHub.IdentityServer/appsettings.Development.json +++ b/src/EventHub.IdentityServer/appsettings.Development.json @@ -1,2 +1,8 @@ { -} + "ConnectionStrings": { + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + }, + "Redis": { + "Configuration": "localhost" + } +} \ No newline at end of file diff --git a/src/EventHub.Web.Theme/wwwroot/themes/eventhub/owl-edit.css b/src/EventHub.Web.Theme/wwwroot/themes/eventhub/owl-edit.css index 00d706f..8462a79 100644 --- a/src/EventHub.Web.Theme/wwwroot/themes/eventhub/owl-edit.css +++ b/src/EventHub.Web.Theme/wwwroot/themes/eventhub/owl-edit.css @@ -10,7 +10,7 @@ .main-slider .owl-carousel .owl-nav button.owl-next { width: 40px; height: 40px; - background: rgb(0 4 74 / 20%); + background: rgba(0, 4, 74, 0.2); transition: background-color .3s ease; position: absolute; display: inline-block; @@ -24,7 +24,7 @@ } .main-slider .owl-carousel .owl-nav button.owl-prev:hover, .main-slider .owl-carousel .owl-nav button.owl-next:hover { - background: rgb(255 255 255 / 35%); + background: rgba(255, 255, 255, 0.35); } .main-slider .owl-carousel .owl-nav button span { font-size: 40px; @@ -65,7 +65,7 @@ .card-slider .owl-carousel .owl-nav button.owl-next { width: 9px; height: 15px; - background: rgb(255 255 255 / 22%); + background: rgba(255, 255, 255, 0.22); transition: background-color .3s ease; display: inline-block; overflow: hidden; diff --git a/src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css b/src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css index 6572a86..d65228b 100644 --- a/src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css +++ b/src/EventHub.Web.Theme/wwwroot/themes/eventhub/style.css @@ -754,7 +754,7 @@ div.checkbox.switcher label, div.radio.switcher label { margin-right: 10px; width: 56px; height: 30px; - background: rgb(107 126 146 / 20%); + background: rgba(107, 126, 146, 0.20); border: 3px solid #e1e5e9; border-radius: 50px; transition: all 0.3s ease-in-out; @@ -791,7 +791,7 @@ div.checkbox.switcher label, div.radio.switcher label { .image-area { - border: 2px dashed rgb(218 224 229); + border: 2px dashed rgb(218, 224, 229); padding: 1em; position: relative; border-radius: 10px; @@ -802,7 +802,7 @@ div.checkbox.switcher label, div.radio.switcher label { .image-area::before { content: 'Uploaded image result'; - color: rgb(218 224 229); + color: rgb(218, 224, 229); font-weight: bold; text-transform: uppercase; position: absolute; diff --git a/src/EventHub.Web/Program.cs b/src/EventHub.Web/Program.cs index 73d69bd..010a36d 100644 --- a/src/EventHub.Web/Program.cs +++ b/src/EventHub.Web/Program.cs @@ -20,9 +20,7 @@ namespace EventHub.Web .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG .WriteTo.Async(c => c.Console()) -#endif .CreateLogger(); try From 048c2cb1a8eac65d344edd7d5f18397afbb219bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 3 Aug 2021 12:10:26 +0300 Subject: [PATCH 06/47] Added host names and updated the certificate code --- .../eventhub/charts/api/templates/api.yaml | 8 ++++- .../EventHubIdentityServerModule.cs | 35 +++++++++++++++++-- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml index b5ad403..8a40a70 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml @@ -19,4 +19,10 @@ spec: - name: apihttp containerPort: 80 - name: apihttps - containerPort: 443 \ No newline at end of file + containerPort: 443 + hostAliases: + - ip: 10.105.172.183 + hostnames: + - "account.openeventhub.com" + - "openeventhub.com" + - "api.openeventhub.com" \ No newline at end of file diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index 44632cc..deac090 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -14,6 +14,8 @@ using EventHub.Web; using EventHub.Web.Theme; using EventHub.Web.Theme.Bundling; using IdentityServer4.Configuration; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; using StackExchange.Redis; using Volo.Abp; @@ -28,6 +30,7 @@ using Volo.Abp.Autofac; using Volo.Abp.BackgroundJobs; using Volo.Abp.Caching; using Volo.Abp.Caching.StackExchangeRedis; +using Volo.Abp.IdentityServer; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation.Urls; @@ -50,10 +53,36 @@ namespace EventHub public override void PreConfigureServices(ServiceConfigurationContext context) { - PreConfigure(builder => + var hostingEnvironment = context.Services.GetHostingEnvironment(); + + if (!hostingEnvironment.IsDevelopment()) { - builder.AddSigningCredential(new X509Certificate2("localhost.pfx", "e8202f07-66e5-4619-be07-72ba76fde97f")); - }); + var configuration = context.Services.GetConfiguration(); + + PreConfigure(options => + { + options.AddDeveloperSigningCredential = false; + }); + + PreConfigure(builder => + { + builder.AddSigningCredential(GetSigningCertificate(hostingEnvironment, configuration)); + }); + } + } + + private X509Certificate2 GetSigningCertificate(IWebHostEnvironment hostingEnv, IConfiguration configuration) + { + var fileName = "localhost.pfx"; + var passPhrase = "e8202f07-66e5-4619-be07-72ba76fde97f"; + var file = Path.Combine(hostingEnv.ContentRootPath, fileName); + + if (!File.Exists(file)) + { + throw new FileNotFoundException($"Signing Certificate couldn't found: {file}"); + } + + return new X509Certificate2(file, passPhrase); } public override void ConfigureServices(ServiceConfigurationContext context) From c9a7dcf637f8be58c77bea9eed61772fcc614a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 3 Aug 2021 16:15:18 +0300 Subject: [PATCH 07/47] Added tls files --- etc/k8s/cert/mycert | 20 +++++++++++++ etc/k8s/cert/mykey | 28 +++++++++++++++++++ .../account/templates/account-ingress.yaml | 4 +++ .../account/templates/account-tls-secret.yaml | 8 ++++++ .../EventHub.IdentityServer.csproj | 4 +-- .../EventHubIdentityServerModule.cs | 2 +- 6 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 etc/k8s/cert/mycert create mode 100644 etc/k8s/cert/mykey create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml diff --git a/etc/k8s/cert/mycert b/etc/k8s/cert/mycert new file mode 100644 index 0000000..ea1c9f2 --- /dev/null +++ b/etc/k8s/cert/mycert @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDTTCCAjWgAwIBAgIUe5LC99EQTptIB+sLthn/JsTcGVswDQYJKoZIhvcNAQEL +BQAwNjEhMB8GA1UEAwwYYWNjb3VudC5vcGVuZXZlbnRodWIuY29tMREwDwYDVQQK +DAhWb2xvc29mdDAeFw0yMTA4MDMxMjI5NTVaFw0yMjA4MDMxMjI5NTVaMDYxITAf +BgNVBAMMGGFjY291bnQub3BlbmV2ZW50aHViLmNvbTERMA8GA1UECgwIVm9sb3Nv +ZnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCn9FsH+Bzslj/5/JuY +n+ZPb8k8CtuvOL/qV6mmayefKUPQu1Vol6zr8nFINe7r4GGtE3CvTEmauZxnjRD0 +eGoJRjpO31Ha0y2KROZx9U4LaeLQ3voQOR3wKo/fsftWs1ovs8gsMy/Xzl1LpvX1 +IaaIYvlErjHdyPTm7hMLFKOGDjYXsiW8HOZztEuqL0U65nYEXQb/MzWDPuR25QdO +4dX1yF+UplBawIw5/qTvKbsXNbFvytd9iC8ldKjY1jjluNxuN26UHYegg6pQ7Azw +c4TnHhY9UXOgBQ21/r/UPCwJ710Vp3WrtreoV51bEYZYgB/EC5pdM9I7CEgyxbIw +0Q/TAgMBAAGjUzBRMB0GA1UdDgQWBBRfUCG2rNJCI+DjQfghPqaJUrMCnTAfBgNV +HSMEGDAWgBRfUCG2rNJCI+DjQfghPqaJUrMCnTAPBgNVHRMBAf8EBTADAQH/MA0G +CSqGSIb3DQEBCwUAA4IBAQBbggVKGY/S2p3cE8mDhHwAr4MK9pjsTwygYYJwgXEf +olr7SP8ZcaMLlsauysYr1yuxTGr6ttTkj0hrTcQhoDDAC+debeJ6eFiBhMZH+lQC +gRTi46gmdmPYuhhXHpeSmGVxjAPQP2wVisFIe9Tdq9xdtD+1demmjkSotK7gn3vD +EJaUUBn60uxqJshXj9aXZ49b9hgGpywg+e30kwtNUowDsLLLE72CGHyaDYdes0rn +URaZ+4DezoBbefopzM+zImBwnDPntcRlP7Zw292iPdQO8FR2OtPZvqj3zewGP6Mh +X92/fmLNQw/u3CsZ/zkhu5eQGaboZsuERkeJv1L+o7bD +-----END CERTIFICATE----- diff --git a/etc/k8s/cert/mykey b/etc/k8s/cert/mykey new file mode 100644 index 0000000..5a6fac1 --- /dev/null +++ b/etc/k8s/cert/mykey @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCn9FsH+Bzslj/5 +/JuYn+ZPb8k8CtuvOL/qV6mmayefKUPQu1Vol6zr8nFINe7r4GGtE3CvTEmauZxn +jRD0eGoJRjpO31Ha0y2KROZx9U4LaeLQ3voQOR3wKo/fsftWs1ovs8gsMy/Xzl1L +pvX1IaaIYvlErjHdyPTm7hMLFKOGDjYXsiW8HOZztEuqL0U65nYEXQb/MzWDPuR2 +5QdO4dX1yF+UplBawIw5/qTvKbsXNbFvytd9iC8ldKjY1jjluNxuN26UHYegg6pQ +7Azwc4TnHhY9UXOgBQ21/r/UPCwJ710Vp3WrtreoV51bEYZYgB/EC5pdM9I7CEgy +xbIw0Q/TAgMBAAECggEAV04TH9JenrD/sqAX9b9wxewy6+4tAil6wYMuId7jqr2V +jeRDYmotrjzJnCLE/oIV5BUN52G9hRtk7QMMRDhvzkBeQO+fKiPKMWzdaXF9TzuM +dszhqhs2r8hAH6TyJMB4agGHVUqKXSDdqFyyz+jdG1pvfr8aFtLGU2CAL6tb0Wur +3qpnlfGjy63dToHGs7vdSYE+EKTcl0JndzPfspzisCCd+tAqCFo9vjxYKH+UDS6I +3+GIAVpEUEf6zNtGtPTpOvKSAthm2z5lXiIpWNoHSfPhzU2W3Dz2i2PVdifjZghg +bvAvS06opR+Y7jViayFBDGU4Yc0w+kjd3xZ230uqSQKBgQDabAuBBMdchyGTpS4r +i86c9rIkUNXKyPCIVjbKyc0Ia7D/cDAkPfZhylr1FtLuvO5xYzVAN3swuAED2oR/ +bId3ENMIqI5oBbPyMzVVWHntdY26iDYKACjIt6xayBK++e4RJb6jP1gTJvHbv+k2 +aslFwU0IYsnmPIYn1SmQQoZG1wKBgQDE2ZIU4k73J2wrRKraiO/wCaxcj7LH8gyp +aSn3EPQmUR0A0QLHewNlcdcsiyiWOg0hv0VjbmbyOD8C+Oh8WvrHRg2mXL2tvRVn +sNh/zDDtlWovlnts6so0voUgfepOhCj0iE0MzPKe2ypFMDE2Wj4c9gFRDUVnDLwQ +FuFCencrZQKBgQDH9+MQW6+ppo22/qMmevjN+41cciVJYm3UZBoFzntIGlARjESG +6bOIFBryB9NVfuNOK+W0xRajo9JKFOT5RANBnsWWR7sYwR/dvcQ2PqpiHB2FiO7w +ePTdzkqdUk7XSToLuOKv0m5wGleTOD/q8hkTI8XCx67QetjX3vAOgtksQQKBgFEB +W4z+iBJLBcdUbZ6ahWpZALXiaGbBY5Z/cUZ7ko0GChJg8GzYYVBopWxuI5iWcPr3 +M/2z2+dHYB7AASPTaKmCWXGhbmjFi75s1trYUzYhq13D5iyu/eDwmeYCCt6eoh/m +yxY+bIUUmXN5XncIcdEHJwmMlYfPhMB2OeJadRnFAoGAFCvb0dkqbqnSVLQhcOCq +9DJyi6/EEyW8fqYWsikaoZOMhRpvoQzUjjU1jikxVEEvsEG60aNzYWKOHJDQlisK +CoeBW5fKKdYxOz/TylTsrw2qvXVrTNouXTRx0raWM1bvjQPYJcaEwhNScWqV4vVR +x8RUguBiUhxPoCr8x4J+FCs= +-----END PRIVATE KEY----- diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index 2138aa0..e97bb76 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -6,6 +6,10 @@ metadata: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: + tls: + - hosts: + - account.openeventhub.com + secretName: account-tls rules: - host: "account.openeventhub.com" http: diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml new file mode 100644 index 0000000..312e1ee --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +type: kubernetes.io/tls +kind: Secret +metadata: + name: account-tls +data: + tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUVENDQWpXZ0F3SUJBZ0lVZTVMQzk5RVFUcHRJQitzTHRobi9Kc1RjR1Zzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd05qRWhNQjhHQTFVRUF3d1lZV05qYjNWdWRDNXZjR1Z1WlhabGJuUm9kV0l1WTI5dE1SRXdEd1lEVlFRSwpEQWhXYjJ4dmMyOW1kREFlRncweU1UQTRNRE14TWpJNU5UVmFGdzB5TWpBNE1ETXhNakk1TlRWYU1EWXhJVEFmCkJnTlZCQU1NR0dGalkyOTFiblF1YjNCbGJtVjJaVzUwYUhWaUxtTnZiVEVSTUE4R0ExVUVDZ3dJVm05c2IzTnYKWm5Rd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNuOUZzSCtCenNsai81L0p1WQpuK1pQYjhrOEN0dXZPTC9xVjZtbWF5ZWZLVVBRdTFWb2w2enI4bkZJTmU3cjRHR3RFM0N2VEVtYXVaeG5qUkQwCmVHb0pSanBPMzFIYTB5MktST1p4OVU0TGFlTFEzdm9RT1Izd0tvL2ZzZnRXczFvdnM4Z3NNeS9YemwxTHB2WDEKSWFhSVl2bEVyakhkeVBUbTdoTUxGS09HRGpZWHNpVzhIT1p6dEV1cUwwVTY1bllFWFFiL016V0RQdVIyNVFkTwo0ZFgxeUYrVXBsQmF3SXc1L3FUdktic1hOYkZ2eXRkOWlDOGxkS2pZMWpqbHVOeHVOMjZVSFllZ2c2cFE3QXp3CmM0VG5IaFk5VVhPZ0JRMjEvci9VUEN3SjcxMFZwM1dydHJlb1Y1MWJFWVpZZ0IvRUM1cGRNOUk3Q0VneXhiSXcKMFEvVEFnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFmQmdOVgpIU01FR0RBV2dCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCYmdnVktHWS9TMnAzY0U4bURoSHdBcjRNSzlwanNUd3lnWVlKd2dYRWYKb2xyN1NQOFpjYU1MbHNhdXlzWXIxeXV4VEdyNnR0VGtqMGhyVGNRaG9EREFDK2RlYmVKNmVGaUJoTVpIK2xRQwpnUlRpNDZnbWRtUFl1aGhYSHBlU21HVnhqQVBRUDJ3VmlzRkllOVRkcTl4ZHREKzFkZW1tamtTb3RLN2duM3ZECkVKYVVVQm42MHV4cUpzaFhqOWFYWjQ5YjloZ0dweXdnK2UzMGt3dE5Vb3dEc0xMTEU3MkNHSHlhRFlkZXMwcm4KVVJhWis0RGV6b0JiZWZvcHpNK3pJbUJ3bkRQbnRjUmxQN1p3MjkyaVBkUU84RlIyT3RQWnZxajN6ZXdHUDZNaApYOTIvZm1MTlF3L3UzQ3NaL3praHU1ZVFHYWJvWnN1RVJrZUp2MUwrbzdiRAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ245RnNIK0J6c2xqLzUKL0p1WW4rWlBiOGs4Q3R1dk9ML3FWNm1tYXllZktVUFF1MVZvbDZ6cjhuRklOZTdyNEdHdEUzQ3ZURW1hdVp4bgpqUkQwZUdvSlJqcE8zMUhhMHkyS1JPWng5VTRMYWVMUTN2b1FPUjN3S28vZnNmdFdzMW92czhnc015L1h6bDFMCnB2WDFJYWFJWXZsRXJqSGR5UFRtN2hNTEZLT0dEallYc2lXOEhPWnp0RXVxTDBVNjVuWUVYUWIvTXpXRFB1UjIKNVFkTzRkWDF5RitVcGxCYXdJdzUvcVR2S2JzWE5iRnZ5dGQ5aUM4bGRLalkxampsdU54dU4yNlVIWWVnZzZwUQo3QXp3YzRUbkhoWTlVWE9nQlEyMS9yL1VQQ3dKNzEwVnAzV3J0cmVvVjUxYkVZWllnQi9FQzVwZE05STdDRWd5CnhiSXcwUS9UQWdNQkFBRUNnZ0VBVjA0VEg5SmVuckQvc3FBWDliOXd4ZXd5Nis0dEFpbDZ3WU11SWQ3anFyMlYKamVSRFltb3RyanpKbkNMRS9vSVY1QlVONTJHOWhSdGs3UU1NUkRodnprQmVRTytmS2lQS01XemRhWEY5VHp1TQpkc3pocWhzMnI4aEFINlR5Sk1CNGFnR0hWVXFLWFNEZHFGeXl6K2pkRzFwdmZyOGFGdExHVTJDQUw2dGIwV3VyCjNxcG5sZkdqeTYzZFRvSEdzN3ZkU1lFK0VLVGNsMEpuZHpQZnNwemlzQ0NkK3RBcUNGbzl2anhZS0grVURTNkkKMytHSUFWcEVVRWY2ek50R3RQVHBPdktTQXRobTJ6NWxYaUlwV05vSFNmUGh6VTJXM0R6MmkyUFZkaWZqWmdoZwpidkF2UzA2b3BSK1k3alZpYXlGQkRHVTRZYzB3K2tqZDN4WjIzMHVxU1FLQmdRRGFiQXVCQk1kY2h5R1RwUzRyCmk4NmM5cklrVU5YS3lQQ0lWamJLeWMwSWE3RC9jREFrUGZaaHlscjFGdEx1dk81eFl6VkFOM3N3dUFFRDJvUi8KYklkM0VOTUlxSTVvQmJQeU16VlZXSG50ZFkyNmlEWUtBQ2pJdDZ4YXlCSysrZTRSSmI2alAxZ1RKdkhiditrMgphc2xGd1UwSVlzbm1QSVluMVNtUVFvWkcxd0tCZ1FERTJaSVU0azczSjJ3clJLcmFpTy93Q2F4Y2o3TEg4Z3lwCmFTbjNFUFFtVVIwQTBRTEhld05sY2Rjc2l5aVdPZzBodjBWamJtYnlPRDhDK09oOFd2ckhSZzJtWEwydHZSVm4Kc05oL3pERHRsV292bG50czZzbzB2b1VnZmVwT2hDajBpRTBNelBLZTJ5cEZNREUyV2o0YzlnRlJEVVZuREx3UQpGdUZDZW5jclpRS0JnUURIOStNUVc2K3BwbzIyL3FNbWV2ak4rNDFjY2lWSlltM1VaQm9Gem50SUdsQVJqRVNHCjZiT0lGQnJ5QjlOVmZ1Tk9LK1cweFJham85SktGT1Q1UkFOQm5zV1dSN3NZd1IvZHZjUTJQcXBpSEIyRmlPN3cKZVBUZHprcWRVazdYU1RvTHVPS3YwbTV3R2xlVE9EL3E4aGtUSThYQ3g2N1FldGpYM3ZBT2d0a3NRUUtCZ0ZFQgpXNHoraUJKTEJjZFViWjZhaFdwWkFMWGlhR2JCWTVaL2NVWjdrbzBHQ2hKZzhHellZVkJvcFd4dUk1aVdjUHIzCk0vMnoyK2RIWUI3QUFTUFRhS21DV1hHaGJtakZpNzVzMXRyWVV6WWhxMTNENWl5dS9lRHdtZVlDQ3Q2ZW9oL20KeXhZK2JJVVVtWE41WG5jSWNkRUhKd21NbFlmUGhNQjJPZUphZFJuRkFvR0FGQ3ZiMGRrcWJxblNWTFFoY09DcQo5REp5aTYvRUV5VzhmcVlXc2lrYW9aT01oUnB2b1F6VWpqVTFqaWt4VkVFdnNFRzYwYU56WVdLT0hKRFFsaXNLCkNvZUJXNWZLS2RZeE96L1R5bFRzcncycXZYVnJUTm91WFRSeDByYVdNMWJ2alFQWUpjYUV3aE5TY1dxVjR2VlIKeDhSVWd1QmlVaHhQb0NyOHg0SitGQ3M9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K diff --git a/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj b/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj index 69b7785..7875836 100644 --- a/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj +++ b/src/EventHub.IdentityServer/EventHub.IdentityServer.csproj @@ -20,8 +20,8 @@ - - + + Always diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index deac090..f35016c 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -73,7 +73,7 @@ namespace EventHub private X509Certificate2 GetSigningCertificate(IWebHostEnvironment hostingEnv, IConfiguration configuration) { - var fileName = "localhost.pfx"; + var fileName = "EventHub.IdentityServer.pfx"; var passPhrase = "e8202f07-66e5-4619-be07-72ba76fde97f"; var file = Path.Combine(hostingEnv.ContentRootPath, fileName); From 03fca4517e15f24897e58f5ae29db8a3c59cad90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 3 Aug 2021 16:26:53 +0300 Subject: [PATCH 08/47] Create cert-key.txt --- etc/k8s/cert/cert-key.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 etc/k8s/cert/cert-key.txt diff --git a/etc/k8s/cert/cert-key.txt b/etc/k8s/cert/cert-key.txt new file mode 100644 index 0000000..30ed096 --- /dev/null +++ b/etc/k8s/cert/cert-key.txt @@ -0,0 +1 @@ +a8202f07-66e5-4619-be07-72ba76fde97f \ No newline at end of file From d87fa068bd0be0c482e356022ef735e508127518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 4 Aug 2021 13:40:26 +0300 Subject: [PATCH 09/47] Used release name in helm templates --- .../account/templates/account-ingress.yaml | 10 ++++---- .../account/templates/account-service.yaml | 6 ++--- .../account/templates/account-tls-secret.yaml | 2 +- .../charts/account/templates/account.yaml | 12 +++++----- .../eventhub/charts/account/values.yaml | 3 +++ .../charts/api/templates/api-ingress.yaml | 6 ++--- .../charts/api/templates/api-service.yaml | 6 ++--- .../eventhub/charts/api/templates/api.yaml | 20 ++++++---------- .../eventhub/charts/api/values.yaml | 3 +++ .../charts/dbmigrator/templates/migrator.yaml | 4 ++-- .../eventhub/charts/dbmigrator/values.yaml | 3 +++ .../eventhub/charts/postgresql/Chart.yaml | 2 +- .../templates/postgresql-service.yaml | 6 ++--- .../postgresql/templates/postgresql.yaml | 8 +++---- .../charts/redis/templates/redis-service.yaml | 6 ++--- .../charts/redis/templates/redis.yaml | 15 ++++-------- .../helm-chart/eventhub/charts/www/Chart.yaml | 6 +++++ .../charts/www/templates/www-ingress.yaml | 23 +++++++++++++++++++ .../charts/www/templates/www-service.yaml | 14 +++++++++++ .../eventhub/charts/www/templates/www.yaml | 22 ++++++++++++++++++ .../eventhub/charts/www/values.yaml | 3 +++ etc/k8s/helm-chart/eventhub/values.yaml | 3 +++ src/EventHub.DbMigrator/appsettings.json | 8 +++---- src/EventHub.HttpApi.Host/appsettings.json | 10 ++++---- .../EventHubIdentityServerModule.cs | 2 ++ src/EventHub.IdentityServer/appsettings.json | 10 ++++---- src/EventHub.Web/Dockerfile | 4 ++++ src/EventHub.Web/EventHubWebModule.cs | 13 +++++++++++ src/EventHub.Web/Program.cs | 1 + src/EventHub.Web/appsettings.json | 10 ++++---- 30 files changed, 165 insertions(+), 76 deletions(-) create mode 100644 etc/k8s/helm-chart/eventhub/charts/account/values.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/api/values.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/www/Chart.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/www/templates/www-service.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml create mode 100644 etc/k8s/helm-chart/eventhub/charts/www/values.yaml create mode 100644 src/EventHub.Web/Dockerfile diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index e97bb76..a678100 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -1,23 +1,23 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: account-ingress + name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: tls: - hosts: - - account.openeventhub.com - secretName: account-tls + - {{ .Values.accountUrl }} + secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls rules: - - host: "account.openeventhub.com" + - host: "{{ .Values.accountUrl }}" http: paths: - path: / pathType: Prefix backend: service: - name: account + name: {{ .Release.Name }}-{{ .Chart.Name }} port: number: 80 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml index 075e7d7..ee157c0 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-service.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Service metadata: labels: - name: account - name: account + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: ports: - name: "80" @@ -11,4 +11,4 @@ spec: - name: "443" port: 443 selector: - app: account + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml index 312e1ee..b03c72e 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml @@ -2,7 +2,7 @@ apiVersion: v1 type: kubernetes.io/tls kind: Secret metadata: - name: account-tls + name: {{ .Release.Name }}-{{ .Chart.Name }}-tls data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUVENDQWpXZ0F3SUJBZ0lVZTVMQzk5RVFUcHRJQitzTHRobi9Kc1RjR1Zzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd05qRWhNQjhHQTFVRUF3d1lZV05qYjNWdWRDNXZjR1Z1WlhabGJuUm9kV0l1WTI5dE1SRXdEd1lEVlFRSwpEQWhXYjJ4dmMyOW1kREFlRncweU1UQTRNRE14TWpJNU5UVmFGdzB5TWpBNE1ETXhNakk1TlRWYU1EWXhJVEFmCkJnTlZCQU1NR0dGalkyOTFiblF1YjNCbGJtVjJaVzUwYUhWaUxtTnZiVEVSTUE4R0ExVUVDZ3dJVm05c2IzTnYKWm5Rd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNuOUZzSCtCenNsai81L0p1WQpuK1pQYjhrOEN0dXZPTC9xVjZtbWF5ZWZLVVBRdTFWb2w2enI4bkZJTmU3cjRHR3RFM0N2VEVtYXVaeG5qUkQwCmVHb0pSanBPMzFIYTB5MktST1p4OVU0TGFlTFEzdm9RT1Izd0tvL2ZzZnRXczFvdnM4Z3NNeS9YemwxTHB2WDEKSWFhSVl2bEVyakhkeVBUbTdoTUxGS09HRGpZWHNpVzhIT1p6dEV1cUwwVTY1bllFWFFiL016V0RQdVIyNVFkTwo0ZFgxeUYrVXBsQmF3SXc1L3FUdktic1hOYkZ2eXRkOWlDOGxkS2pZMWpqbHVOeHVOMjZVSFllZ2c2cFE3QXp3CmM0VG5IaFk5VVhPZ0JRMjEvci9VUEN3SjcxMFZwM1dydHJlb1Y1MWJFWVpZZ0IvRUM1cGRNOUk3Q0VneXhiSXcKMFEvVEFnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFmQmdOVgpIU01FR0RBV2dCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCYmdnVktHWS9TMnAzY0U4bURoSHdBcjRNSzlwanNUd3lnWVlKd2dYRWYKb2xyN1NQOFpjYU1MbHNhdXlzWXIxeXV4VEdyNnR0VGtqMGhyVGNRaG9EREFDK2RlYmVKNmVGaUJoTVpIK2xRQwpnUlRpNDZnbWRtUFl1aGhYSHBlU21HVnhqQVBRUDJ3VmlzRkllOVRkcTl4ZHREKzFkZW1tamtTb3RLN2duM3ZECkVKYVVVQm42MHV4cUpzaFhqOWFYWjQ5YjloZ0dweXdnK2UzMGt3dE5Vb3dEc0xMTEU3MkNHSHlhRFlkZXMwcm4KVVJhWis0RGV6b0JiZWZvcHpNK3pJbUJ3bkRQbnRjUmxQN1p3MjkyaVBkUU84RlIyT3RQWnZxajN6ZXdHUDZNaApYOTIvZm1MTlF3L3UzQ3NaL3praHU1ZVFHYWJvWnN1RVJrZUp2MUwrbzdiRAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ245RnNIK0J6c2xqLzUKL0p1WW4rWlBiOGs4Q3R1dk9ML3FWNm1tYXllZktVUFF1MVZvbDZ6cjhuRklOZTdyNEdHdEUzQ3ZURW1hdVp4bgpqUkQwZUdvSlJqcE8zMUhhMHkyS1JPWng5VTRMYWVMUTN2b1FPUjN3S28vZnNmdFdzMW92czhnc015L1h6bDFMCnB2WDFJYWFJWXZsRXJqSGR5UFRtN2hNTEZLT0dEallYc2lXOEhPWnp0RXVxTDBVNjVuWUVYUWIvTXpXRFB1UjIKNVFkTzRkWDF5RitVcGxCYXdJdzUvcVR2S2JzWE5iRnZ5dGQ5aUM4bGRLalkxampsdU54dU4yNlVIWWVnZzZwUQo3QXp3YzRUbkhoWTlVWE9nQlEyMS9yL1VQQ3dKNzEwVnAzV3J0cmVvVjUxYkVZWllnQi9FQzVwZE05STdDRWd5CnhiSXcwUS9UQWdNQkFBRUNnZ0VBVjA0VEg5SmVuckQvc3FBWDliOXd4ZXd5Nis0dEFpbDZ3WU11SWQ3anFyMlYKamVSRFltb3RyanpKbkNMRS9vSVY1QlVONTJHOWhSdGs3UU1NUkRodnprQmVRTytmS2lQS01XemRhWEY5VHp1TQpkc3pocWhzMnI4aEFINlR5Sk1CNGFnR0hWVXFLWFNEZHFGeXl6K2pkRzFwdmZyOGFGdExHVTJDQUw2dGIwV3VyCjNxcG5sZkdqeTYzZFRvSEdzN3ZkU1lFK0VLVGNsMEpuZHpQZnNwemlzQ0NkK3RBcUNGbzl2anhZS0grVURTNkkKMytHSUFWcEVVRWY2ek50R3RQVHBPdktTQXRobTJ6NWxYaUlwV05vSFNmUGh6VTJXM0R6MmkyUFZkaWZqWmdoZwpidkF2UzA2b3BSK1k3alZpYXlGQkRHVTRZYzB3K2tqZDN4WjIzMHVxU1FLQmdRRGFiQXVCQk1kY2h5R1RwUzRyCmk4NmM5cklrVU5YS3lQQ0lWamJLeWMwSWE3RC9jREFrUGZaaHlscjFGdEx1dk81eFl6VkFOM3N3dUFFRDJvUi8KYklkM0VOTUlxSTVvQmJQeU16VlZXSG50ZFkyNmlEWUtBQ2pJdDZ4YXlCSysrZTRSSmI2alAxZ1RKdkhiditrMgphc2xGd1UwSVlzbm1QSVluMVNtUVFvWkcxd0tCZ1FERTJaSVU0azczSjJ3clJLcmFpTy93Q2F4Y2o3TEg4Z3lwCmFTbjNFUFFtVVIwQTBRTEhld05sY2Rjc2l5aVdPZzBodjBWamJtYnlPRDhDK09oOFd2ckhSZzJtWEwydHZSVm4Kc05oL3pERHRsV292bG50czZzbzB2b1VnZmVwT2hDajBpRTBNelBLZTJ5cEZNREUyV2o0YzlnRlJEVVZuREx3UQpGdUZDZW5jclpRS0JnUURIOStNUVc2K3BwbzIyL3FNbWV2ak4rNDFjY2lWSlltM1VaQm9Gem50SUdsQVJqRVNHCjZiT0lGQnJ5QjlOVmZ1Tk9LK1cweFJham85SktGT1Q1UkFOQm5zV1dSN3NZd1IvZHZjUTJQcXBpSEIyRmlPN3cKZVBUZHprcWRVazdYU1RvTHVPS3YwbTV3R2xlVE9EL3E4aGtUSThYQ3g2N1FldGpYM3ZBT2d0a3NRUUtCZ0ZFQgpXNHoraUJKTEJjZFViWjZhaFdwWkFMWGlhR2JCWTVaL2NVWjdrbzBHQ2hKZzhHellZVkJvcFd4dUk1aVdjUHIzCk0vMnoyK2RIWUI3QUFTUFRhS21DV1hHaGJtakZpNzVzMXRyWVV6WWhxMTNENWl5dS9lRHdtZVlDQ3Q2ZW9oL20KeXhZK2JJVVVtWE41WG5jSWNkRUhKd21NbFlmUGhNQjJPZUphZFJuRkFvR0FGQ3ZiMGRrcWJxblNWTFFoY09DcQo5REp5aTYvRUV5VzhmcVlXc2lrYW9aT01oUnB2b1F6VWpqVTFqaWt4VkVFdnNFRzYwYU56WVdLT0hKRFFsaXNLCkNvZUJXNWZLS2RZeE96L1R5bFRzcncycXZYVnJUTm91WFRSeDByYVdNMWJ2alFQWUpjYUV3aE5TY1dxVjR2VlIKeDhSVWd1QmlVaHhQb0NyOHg0SitGQ3M9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml index e67dbcb..171f8de 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml @@ -1,22 +1,22 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: account + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: selector: matchLabels: - app: account + app: {{ .Release.Name }}-{{ .Chart.Name }} template: metadata: labels: - app: account + app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - image: eventhub.account imagePullPolicy: Never - name: account + name: {{ .Release.Name }}-{{ .Chart.Name }} ports: - - name: accounthttp + - name: http containerPort: 80 - - name: accounthttps + - name: https containerPort: 443 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml new file mode 100644 index 0000000..d44ed88 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml @@ -0,0 +1,3 @@ +accountUrl: eh-st-account +apiUrl: eh-st-api +wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml index efc2deb..18cbfe3 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml @@ -1,18 +1,18 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: api-ingress + name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - - host: "api.openeventhub.com" + - host: "{{ .Values.apiUrl }}" http: paths: - path: / pathType: Prefix backend: service: - name: api + name: {{ .Release.Name }}-{{ .Chart.Name }} port: number: 80 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml index e4b7ee7..ee157c0 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-service.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Service metadata: labels: - name: api - name: api + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: ports: - name: "80" @@ -11,4 +11,4 @@ spec: - name: "443" port: 443 selector: - app: api + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml index 8a40a70..8602009 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml @@ -1,28 +1,22 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: api + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: selector: matchLabels: - app: api + app: {{ .Release.Name }}-{{ .Chart.Name }} template: metadata: labels: - app: api + app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - image: eventhub.api imagePullPolicy: Never - name: api + name: {{ .Release.Name }}-{{ .Chart.Name }} ports: - - name: apihttp + - name: http containerPort: 80 - - name: apihttps - containerPort: 443 - hostAliases: - - ip: 10.105.172.183 - hostnames: - - "account.openeventhub.com" - - "openeventhub.com" - - "api.openeventhub.com" \ No newline at end of file + - name: https + containerPort: 443 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml new file mode 100644 index 0000000..d44ed88 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml @@ -0,0 +1,3 @@ +accountUrl: eh-st-account +apiUrl: eh-st-api +wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml index 18f6233..e77b1c5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml @@ -1,13 +1,13 @@ apiVersion: batch/v1 kind: Job metadata: - name: migrator + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: activeDeadlineSeconds: 100 template: spec: containers: - - name: migrator + - name: {{ .Release.Name }}-{{ .Chart.Name }} image: eventhubmigrator imagePullPolicy: Never restartPolicy: Never diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml new file mode 100644 index 0000000..d44ed88 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml @@ -0,0 +1,3 @@ +accountUrl: eh-st-account +apiUrl: eh-st-api +wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml index 49bbcd8..ce984f6 100644 --- a/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: database +name: postgresql appVersion: "1.0" description: Runs PostgreSQL Instance version: 1.0.0 diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml index c4fa04a..2b0ce51 100644 --- a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql-service.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Service metadata: labels: - name: postgresql - name: postgresql + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: type: LoadBalancer ports: @@ -11,5 +11,5 @@ spec: port: 5435 targetPort: 5432 selector: - app: postgresql + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml index fd6e1e0..b967635 100644 --- a/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/postgresql/templates/postgresql.yaml @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: postgresql + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: replicas: 1 selector: matchLabels: - app: postgresql + app: {{ .Release.Name }}-{{ .Chart.Name }} template: metadata: labels: - app: postgresql + app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - image: postgres - name: postgresql + name: {{ .Release.Name }}-{{ .Chart.Name }} ports: - name: postgresql containerPort: 5432 diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml index 5c2d9ef..de91146 100644 --- a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis-service.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: Service metadata: labels: - name: redis - name: redis + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: type: ClusterIP ports: @@ -11,5 +11,5 @@ spec: port: 6379 targetPort: 6379 selector: - app: redis + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml index 22e1f51..2ba176d 100644 --- a/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/redis/templates/redis.yaml @@ -1,25 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: redis + name: {{ .Release.Name }}-{{ .Chart.Name }} spec: replicas: 1 selector: matchLabels: - app: redis + app: {{ .Release.Name }}-{{ .Chart.Name }} template: metadata: labels: - app: redis + app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - image: redis:6.0.10-alpine - name: redis + name: {{ .Release.Name }}-{{ .Chart.Name }} ports: - name: redis - containerPort: 6379 - env: - - name: POSTGRES_USER - value: "root" - - name: POSTGRES_PASSWORD - value: "root" \ No newline at end of file + containerPort: 6379 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/Chart.yaml b/etc/k8s/helm-chart/eventhub/charts/www/Chart.yaml new file mode 100644 index 0000000..319d808 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/www/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: www +appVersion: "1.0" +description: EventHub WWW Application +version: 1.0.0 +type: application \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml new file mode 100644 index 0000000..3b237eb --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml @@ -0,0 +1,23 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + tls: + - hosts: + - {{ .Values.wwwUrl }} + secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls + rules: + - host: "{{ .Values.wwwUrl }}" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ .Release.Name }}-{{ .Chart.Name }} + port: + number: 80 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-service.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-service.yaml new file mode 100644 index 0000000..ee157c0 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + name: {{ .Release.Name }}-{{ .Chart.Name }} + name: {{ .Release.Name }}-{{ .Chart.Name }} +spec: + ports: + - name: "80" + port: 80 + - name: "443" + port: 443 + selector: + app: {{ .Release.Name }}-{{ .Chart.Name }} diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml new file mode 100644 index 0000000..08ad03b --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }} +spec: + selector: + matchLabels: + app: {{ .Release.Name }}-{{ .Chart.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }}-{{ .Chart.Name }} + spec: + containers: + - image: eventhub.www + imagePullPolicy: Never + name: {{ .Release.Name }}-{{ .Chart.Name }} + ports: + - name: http + containerPort: 80 + - name: https + containerPort: 443 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/values.yaml b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml new file mode 100644 index 0000000..d44ed88 --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml @@ -0,0 +1,3 @@ +accountUrl: eh-st-account +apiUrl: eh-st-api +wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index e69de29..d44ed88 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -0,0 +1,3 @@ +accountUrl: eh-st-account +apiUrl: eh-st-api +wwwUrl: eh-st-www \ No newline at end of file diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index 07155fd..c8f7067 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -1,22 +1,22 @@ { "ConnectionStrings": { - "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "IdentityServer": { "Clients": { "EventHub_Web": { "ClientId": "EventHub_Web", "ClientSecret": "1q2w3e*", - "RootUrl": "https://openeventhub.com" + "RootUrl": "https://eh-st-www" }, "EventHub_Blazor": { "ClientId": "EventHub_Blazor", - "RootUrl": "https://admin.openeventhub.com" + "RootUrl": "https://eh-st-admin" }, "EventHub_Swagger": { "ClientId": "EventHub_Swagger", "ClientSecret": "1q2w3e*", - "RootUrl": "https://api.openeventhub.com" + "RootUrl": "https://eh-st-api" } } } diff --git a/src/EventHub.HttpApi.Host/appsettings.json b/src/EventHub.HttpApi.Host/appsettings.json index e379370..0548fb9 100644 --- a/src/EventHub.HttpApi.Host/appsettings.json +++ b/src/EventHub.HttpApi.Host/appsettings.json @@ -1,16 +1,16 @@ { "App": { - "CorsOrigins": "https://*.openeventhub.com,https://localhost:44307,https://localhost:44308" + "CorsOrigins": "https://eh-st-www,eh-st-admin" }, "ConnectionStrings": { - "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "Redis": { - "Configuration": "redis" + "Configuration": "eh-st-redis" }, "AuthServer": { - "Authority": "https://account.openeventhub.com", - "RequireHttpsMetadata": "true", + "Authority": "http://eh-st-account", + "RequireHttpsMetadata": "false", "SwaggerClientId": "EventHub_Swagger", "SwaggerClientSecret": "1q2w3e*" }, diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index f35016c..15b82d9 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -187,11 +187,13 @@ namespace EventHub var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); + /* app.Use((context, next) => { context.Request.Scheme = "https"; return next(); }); + */ if (env.IsDevelopment()) { diff --git a/src/EventHub.IdentityServer/appsettings.json b/src/EventHub.IdentityServer/appsettings.json index d4b0c6a..f361f09 100644 --- a/src/EventHub.IdentityServer/appsettings.json +++ b/src/EventHub.IdentityServer/appsettings.json @@ -1,14 +1,14 @@ { "App": { - "SelfUrl": "https://account.openeventhub.com", - "CorsOrigins": "https://*.openeventhub.com,http://localhost:4200,https://localhost:44307,https://localhost:44362", - "RedirectAllowedUrls": "https://openeventhub.com,https://admin.openeventhub.com" + "SelfUrl": "https://eh-st-account", + "CorsOrigins": "https://eh-st-www,https://eh-st-api,https://localhost:44307,https://localhost:44362", + "RedirectAllowedUrls": "https://eh-st-api,https://eh-st-www,http://eh-st-api,http://eh-st-www" }, "ConnectionStrings": { - "Default": "Host=postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" }, "Redis": { - "Configuration": "redis" + "Configuration": "eh-st-redis" }, "StringEncryption": { "DefaultPassPhrase": "TxVIZFPxK33czbbv" diff --git a/src/EventHub.Web/Dockerfile b/src/EventHub.Web/Dockerfile new file mode 100644 index 0000000..ab31322 --- /dev/null +++ b/src/EventHub.Web/Dockerfile @@ -0,0 +1,4 @@ + FROM mcr.microsoft.com/dotnet/aspnet:5.0 + COPY bin/Release/net5.0/publish/ app/ + WORKDIR /app + ENTRYPOINT ["dotnet", "EventHub.Web.dll"] \ No newline at end of file diff --git a/src/EventHub.Web/EventHubWebModule.cs b/src/EventHub.Web/EventHubWebModule.cs index 473c746..3f5a04e 100644 --- a/src/EventHub.Web/EventHubWebModule.cs +++ b/src/EventHub.Web/EventHubWebModule.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Hosting; @@ -150,6 +151,12 @@ namespace EventHub.Web options.Scope.Add("email"); options.Scope.Add("phone"); options.Scope.Add("EventHub"); + + options.Events.OnRedirectToIdentityProvider = redirectContext => + { + redirectContext.ProtocolMessage.RedirectUri = $"{configuration["App:SelfUrl"]}/signin-oidc"; + return Task.CompletedTask; + }; }); } @@ -214,6 +221,12 @@ namespace EventHub.Web { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); + + app.Use((context, next) => + { + context.Request.Scheme = "https"; + return next(); + }); if (env.IsDevelopment()) { diff --git a/src/EventHub.Web/Program.cs b/src/EventHub.Web/Program.cs index 010a36d..bb1f758 100644 --- a/src/EventHub.Web/Program.cs +++ b/src/EventHub.Web/Program.cs @@ -45,6 +45,7 @@ namespace EventHub.Web .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); + //webBuilder.UseUrls("http://localhost:80", "https://localhost:443"); }) .UseAutofac() .UseSerilog(); diff --git a/src/EventHub.Web/appsettings.json b/src/EventHub.Web/appsettings.json index 2d20ae9..830df47 100644 --- a/src/EventHub.Web/appsettings.json +++ b/src/EventHub.Web/appsettings.json @@ -1,18 +1,18 @@ { "App": { - "SelfUrl": "https://localhost:44308" + "SelfUrl": "https://eh-st-www" }, "RemoteServices": { "Default": { - "BaseUrl": "https://localhost:44362/" + "BaseUrl": "http://eh-st-api/" } }, "Redis": { - "Configuration": "127.0.0.1" + "Configuration": "eh-st-redis" }, "AuthServer": { - "Authority": "https://localhost:44313", - "RequireHttpsMetadata": "true", + "Authority": "http://eh-st-account", + "RequireHttpsMetadata": "false", "ClientId": "EventHub_Web", "ClientSecret": "1q2w3e*" }, From f56fe32e75eebdcd4c1a9df12c3a566aac2d5382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 4 Aug 2021 14:43:13 +0300 Subject: [PATCH 10/47] install curl to web image --- .../charts/account/templates/account-ingress.yaml | 13 +++++++++++++ .../EventHubIdentityServerModule.cs | 12 ++++++++++++ src/EventHub.Web/Dockerfile | 1 + src/EventHub.Web/EventHubWebModule.cs | 3 ++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index a678100..fbdfd6f 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -5,13 +5,26 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/configuration-snippet: | + more_set_input_headers "fromingress: true"; spec: tls: - hosts: - {{ .Values.accountUrl }} + - accounttemp secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls rules: - host: "{{ .Values.accountUrl }}" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ .Release.Name }}-{{ .Chart.Name }} + port: + number: 80 + - host: "accounttemp" http: paths: - path: / diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index 15b82d9..a626db5 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -14,6 +14,7 @@ using EventHub.Web; using EventHub.Web.Theme; using EventHub.Web.Theme.Bundling; using IdentityServer4.Configuration; +using IdentityServer4.Extensions; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; @@ -186,6 +187,7 @@ namespace EventHub { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); + var conf = context.ServiceProvider.GetRequiredService(); /* app.Use((context, next) => @@ -195,6 +197,16 @@ namespace EventHub }); */ + app.Use(async (ctx, next) => + { + if (ctx.Request.Headers.ContainsKey("fromingress")) + { + ctx.SetIdentityServerOrigin(conf["App:SelfUrl"]); + } + + await next(); + }); + if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); diff --git a/src/EventHub.Web/Dockerfile b/src/EventHub.Web/Dockerfile index ab31322..e65d369 100644 --- a/src/EventHub.Web/Dockerfile +++ b/src/EventHub.Web/Dockerfile @@ -1,4 +1,5 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0 COPY bin/Release/net5.0/publish/ app/ + RUN apt-get update && apt-get install -y curl WORKDIR /app ENTRYPOINT ["dotnet", "EventHub.Web.dll"] \ No newline at end of file diff --git a/src/EventHub.Web/EventHubWebModule.cs b/src/EventHub.Web/EventHubWebModule.cs index 3f5a04e..3e394ff 100644 --- a/src/EventHub.Web/EventHubWebModule.cs +++ b/src/EventHub.Web/EventHubWebModule.cs @@ -151,12 +151,13 @@ namespace EventHub.Web options.Scope.Add("email"); options.Scope.Add("phone"); options.Scope.Add("EventHub"); - + /* options.Events.OnRedirectToIdentityProvider = redirectContext => { redirectContext.ProtocolMessage.RedirectUri = $"{configuration["App:SelfUrl"]}/signin-oidc"; return Task.CompletedTask; }; + */ }); } From 1422137bfef1378661058e5e883d9546722eb159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 4 Aug 2021 15:00:20 +0300 Subject: [PATCH 11/47] Increased nginx buffer sizes --- .../eventhub/charts/account/templates/account-ingress.yaml | 2 ++ .../helm-chart/eventhub/charts/www/templates/www-ingress.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index fbdfd6f..ed019f5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -5,6 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" + nginx.ingress.kubernetes.io/proxy-buffers-number: "16" nginx.ingress.kubernetes.io/configuration-snippet: | more_set_input_headers "fromingress: true"; spec: diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml index 3b237eb..869d442 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml @@ -5,6 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" + nginx.ingress.kubernetes.io/proxy-buffers-number: "16" spec: tls: - hosts: From 10a2e5bdadc182005eb72e6c4eade9bdc6092047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 4 Aug 2021 16:04:18 +0300 Subject: [PATCH 12/47] Update EventHubExternalUrls.cs --- src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs b/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs index 60ff0bd..6c6a75a 100644 --- a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs +++ b/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs @@ -9,10 +9,10 @@ namespace EventHub.Web public const string EhWww = "https://localhost:44308"; #else // TODO: Change these production links - public const string EhAccount = "https://account.openeventhub.com"; - public const string EhApi = "https://api.openeventhub.com"; - public const string EhAdmin = "https://admin.openeventhub.com"; - public const string EhWww = "https://openeventhub.com"; + public const string EhAccount = "https://eh-st-account"; + public const string EhApi = "https://eh-st-api"; + public const string EhAdmin = "https://eh-st-admin"; + public const string EhWww = "https://eh-st-www"; #endif } } \ No newline at end of file From c94bf7a42af5668b8344641c15d6ea99b659613c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 09:02:22 +0300 Subject: [PATCH 13/47] Refactored helm configs --- .../charts/account/templates/account-ingress.yaml | 15 ++------------- .../eventhub/charts/account/values.yaml | 3 --- .../charts/api/templates/api-ingress.yaml | 2 +- .../helm-chart/eventhub/charts/api/values.yaml | 3 --- .../eventhub/charts/dbmigrator/values.yaml | 3 --- .../charts/www/templates/www-ingress.yaml | 4 ++-- .../helm-chart/eventhub/charts/www/values.yaml | 3 --- etc/k8s/helm-chart/eventhub/values.yaml | 7 ++++--- 8 files changed, 9 insertions(+), 31 deletions(-) diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index ed019f5..f6301c5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -12,21 +12,10 @@ metadata: spec: tls: - hosts: - - {{ .Values.accountUrl }} - - accounttemp + - {{ .Values.global.accountUrl }} secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls rules: - - host: "{{ .Values.accountUrl }}" - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: {{ .Release.Name }}-{{ .Chart.Name }} - port: - number: 80 - - host: "accounttemp" + - host: "{{ .Values.global.accountUrl }}" http: paths: - path: / diff --git a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml index d44ed88..e69de29 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml @@ -1,3 +0,0 @@ -accountUrl: eh-st-account -apiUrl: eh-st-api -wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml index 18cbfe3..2278bf4 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml @@ -6,7 +6,7 @@ metadata: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - - host: "{{ .Values.apiUrl }}" + - host: "{{ .Values.global.apiUrl }}" http: paths: - path: / diff --git a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml index d44ed88..e69de29 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml @@ -1,3 +0,0 @@ -accountUrl: eh-st-account -apiUrl: eh-st-api -wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml index d44ed88..e69de29 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml @@ -1,3 +0,0 @@ -accountUrl: eh-st-account -apiUrl: eh-st-api -wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml index 869d442..28f0185 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml @@ -10,10 +10,10 @@ metadata: spec: tls: - hosts: - - {{ .Values.wwwUrl }} + - {{ .Values.global.wwwUrl }} secretName: {{ .Release.Name }}-{{ .Chart.Name }}-tls rules: - - host: "{{ .Values.wwwUrl }}" + - host: "{{ .Values.global.wwwUrl }}" http: paths: - path: / diff --git a/etc/k8s/helm-chart/eventhub/charts/www/values.yaml b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml index d44ed88..e69de29 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml @@ -1,3 +0,0 @@ -accountUrl: eh-st-account -apiUrl: eh-st-api -wwwUrl: eh-st-www \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index d44ed88..2c9b527 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -1,3 +1,4 @@ -accountUrl: eh-st-account -apiUrl: eh-st-api -wwwUrl: eh-st-www \ No newline at end of file +global: + accountUrl: eh-st-account + apiUrl: eh-st-api + wwwUrl: eh-st-www \ No newline at end of file From 3f3e64c4f9fba0fbd8a178e05d44b0903a0c3c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 09:14:24 +0300 Subject: [PATCH 14/47] refactor deploy --- .../eventhub/charts/account/templates/account-ingress.yaml | 4 ++-- .../helm-chart/eventhub/charts/api/templates/api-ingress.yaml | 3 +++ .../helm-chart/eventhub/charts/www/templates/www-ingress.yaml | 4 ++-- etc/k8s/helm-chart/eventhub/values.yaml | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index f6301c5..98369b5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -5,8 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" - nginx.ingress.kubernetes.io/proxy-buffers-number: "16" + nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} + nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} nginx.ingress.kubernetes.io/configuration-snippet: | more_set_input_headers "fromingress: true"; spec: diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml index 2278bf4..17f8825 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml @@ -4,6 +4,9 @@ metadata: name: {{ .Release.Name }}-{{ .Chart.Name }}-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} + nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} spec: rules: - host: "{{ .Values.global.apiUrl }}" diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml index 28f0185..128dde6 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml @@ -5,8 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: "128k" - nginx.ingress.kubernetes.io/proxy-buffers-number: "16" + nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} + nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} spec: tls: - hosts: diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index 2c9b527..5c3f70b 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -1,4 +1,6 @@ global: accountUrl: eh-st-account apiUrl: eh-st-api - wwwUrl: eh-st-www \ No newline at end of file + wwwUrl: eh-st-www + nginx-proxy-buffer-size: "32k" + nginx-proxy-buffers-number: 8 \ No newline at end of file From f44527a5d2834011cb88a46515be099b60203bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 09:19:44 +0300 Subject: [PATCH 15/47] fixed naming --- .../eventhub/charts/account/templates/account-ingress.yaml | 4 ++-- .../helm-chart/eventhub/charts/api/templates/api-ingress.yaml | 4 ++-- .../helm-chart/eventhub/charts/www/templates/www-ingress.yaml | 4 ++-- etc/k8s/helm-chart/eventhub/values.yaml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml index 98369b5..2e206c2 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-ingress.yaml @@ -5,8 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} - nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} + nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}" + nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}" nginx.ingress.kubernetes.io/configuration-snippet: | more_set_input_headers "fromingress: true"; spec: diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml index 17f8825..e2165ba 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api-ingress.yaml @@ -5,8 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} - nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} + nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}" + nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}" spec: rules: - host: "{{ .Values.global.apiUrl }}" diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml index 128dde6..01633be 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www-ingress.yaml @@ -5,8 +5,8 @@ metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: {{ .Values.global.nginx-proxy-buffer-size }} - nginx.ingress.kubernetes.io/proxy-buffers-number: {{ .Values.global.nginx-proxy-buffers-number }} + nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ .Values.global.nginxProxyBufferSize }}" + nginx.ingress.kubernetes.io/proxy-buffers-number: "{{ .Values.global.nginxProxyBuffersNumber }}" spec: tls: - hosts: diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index 5c3f70b..27e5bd5 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -2,5 +2,5 @@ global: accountUrl: eh-st-account apiUrl: eh-st-api wwwUrl: eh-st-www - nginx-proxy-buffer-size: "32k" - nginx-proxy-buffers-number: 8 \ No newline at end of file + nginxProxyBufferSize: "32k" + nginxProxyBuffersNumber: "8" \ No newline at end of file From 7d2f763c24b2e1cdaa827881e43315124954c522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 09:40:34 +0300 Subject: [PATCH 16/47] refactor --- .../charts/account/templates/account-tls-secret.yaml | 8 -------- .../eventhub/charts/account/templates/account.yaml | 2 +- etc/k8s/helm-chart/eventhub/charts/account/values.yaml | 1 + etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml | 2 +- etc/k8s/helm-chart/eventhub/charts/api/values.yaml | 1 + .../eventhub/charts/dbmigrator/templates/migrator.yaml | 2 +- etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml | 1 + etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml | 2 +- etc/k8s/helm-chart/eventhub/charts/www/values.yaml | 1 + 9 files changed, 8 insertions(+), 12 deletions(-) delete mode 100644 etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml deleted file mode 100644 index b03c72e..0000000 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account-tls-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -type: kubernetes.io/tls -kind: Secret -metadata: - name: {{ .Release.Name }}-{{ .Chart.Name }}-tls -data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUVENDQWpXZ0F3SUJBZ0lVZTVMQzk5RVFUcHRJQitzTHRobi9Kc1RjR1Zzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd05qRWhNQjhHQTFVRUF3d1lZV05qYjNWdWRDNXZjR1Z1WlhabGJuUm9kV0l1WTI5dE1SRXdEd1lEVlFRSwpEQWhXYjJ4dmMyOW1kREFlRncweU1UQTRNRE14TWpJNU5UVmFGdzB5TWpBNE1ETXhNakk1TlRWYU1EWXhJVEFmCkJnTlZCQU1NR0dGalkyOTFiblF1YjNCbGJtVjJaVzUwYUhWaUxtTnZiVEVSTUE4R0ExVUVDZ3dJVm05c2IzTnYKWm5Rd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS0FvSUJBUUNuOUZzSCtCenNsai81L0p1WQpuK1pQYjhrOEN0dXZPTC9xVjZtbWF5ZWZLVVBRdTFWb2w2enI4bkZJTmU3cjRHR3RFM0N2VEVtYXVaeG5qUkQwCmVHb0pSanBPMzFIYTB5MktST1p4OVU0TGFlTFEzdm9RT1Izd0tvL2ZzZnRXczFvdnM4Z3NNeS9YemwxTHB2WDEKSWFhSVl2bEVyakhkeVBUbTdoTUxGS09HRGpZWHNpVzhIT1p6dEV1cUwwVTY1bllFWFFiL016V0RQdVIyNVFkTwo0ZFgxeUYrVXBsQmF3SXc1L3FUdktic1hOYkZ2eXRkOWlDOGxkS2pZMWpqbHVOeHVOMjZVSFllZ2c2cFE3QXp3CmM0VG5IaFk5VVhPZ0JRMjEvci9VUEN3SjcxMFZwM1dydHJlb1Y1MWJFWVpZZ0IvRUM1cGRNOUk3Q0VneXhiSXcKMFEvVEFnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFmQmdOVgpIU01FR0RBV2dCUmZVQ0cyck5KQ0krRGpRZmdoUHFhSlVyTUNuVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCYmdnVktHWS9TMnAzY0U4bURoSHdBcjRNSzlwanNUd3lnWVlKd2dYRWYKb2xyN1NQOFpjYU1MbHNhdXlzWXIxeXV4VEdyNnR0VGtqMGhyVGNRaG9EREFDK2RlYmVKNmVGaUJoTVpIK2xRQwpnUlRpNDZnbWRtUFl1aGhYSHBlU21HVnhqQVBRUDJ3VmlzRkllOVRkcTl4ZHREKzFkZW1tamtTb3RLN2duM3ZECkVKYVVVQm42MHV4cUpzaFhqOWFYWjQ5YjloZ0dweXdnK2UzMGt3dE5Vb3dEc0xMTEU3MkNHSHlhRFlkZXMwcm4KVVJhWis0RGV6b0JiZWZvcHpNK3pJbUJ3bkRQbnRjUmxQN1p3MjkyaVBkUU84RlIyT3RQWnZxajN6ZXdHUDZNaApYOTIvZm1MTlF3L3UzQ3NaL3praHU1ZVFHYWJvWnN1RVJrZUp2MUwrbzdiRAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ245RnNIK0J6c2xqLzUKL0p1WW4rWlBiOGs4Q3R1dk9ML3FWNm1tYXllZktVUFF1MVZvbDZ6cjhuRklOZTdyNEdHdEUzQ3ZURW1hdVp4bgpqUkQwZUdvSlJqcE8zMUhhMHkyS1JPWng5VTRMYWVMUTN2b1FPUjN3S28vZnNmdFdzMW92czhnc015L1h6bDFMCnB2WDFJYWFJWXZsRXJqSGR5UFRtN2hNTEZLT0dEallYc2lXOEhPWnp0RXVxTDBVNjVuWUVYUWIvTXpXRFB1UjIKNVFkTzRkWDF5RitVcGxCYXdJdzUvcVR2S2JzWE5iRnZ5dGQ5aUM4bGRLalkxampsdU54dU4yNlVIWWVnZzZwUQo3QXp3YzRUbkhoWTlVWE9nQlEyMS9yL1VQQ3dKNzEwVnAzV3J0cmVvVjUxYkVZWllnQi9FQzVwZE05STdDRWd5CnhiSXcwUS9UQWdNQkFBRUNnZ0VBVjA0VEg5SmVuckQvc3FBWDliOXd4ZXd5Nis0dEFpbDZ3WU11SWQ3anFyMlYKamVSRFltb3RyanpKbkNMRS9vSVY1QlVONTJHOWhSdGs3UU1NUkRodnprQmVRTytmS2lQS01XemRhWEY5VHp1TQpkc3pocWhzMnI4aEFINlR5Sk1CNGFnR0hWVXFLWFNEZHFGeXl6K2pkRzFwdmZyOGFGdExHVTJDQUw2dGIwV3VyCjNxcG5sZkdqeTYzZFRvSEdzN3ZkU1lFK0VLVGNsMEpuZHpQZnNwemlzQ0NkK3RBcUNGbzl2anhZS0grVURTNkkKMytHSUFWcEVVRWY2ek50R3RQVHBPdktTQXRobTJ6NWxYaUlwV05vSFNmUGh6VTJXM0R6MmkyUFZkaWZqWmdoZwpidkF2UzA2b3BSK1k3alZpYXlGQkRHVTRZYzB3K2tqZDN4WjIzMHVxU1FLQmdRRGFiQXVCQk1kY2h5R1RwUzRyCmk4NmM5cklrVU5YS3lQQ0lWamJLeWMwSWE3RC9jREFrUGZaaHlscjFGdEx1dk81eFl6VkFOM3N3dUFFRDJvUi8KYklkM0VOTUlxSTVvQmJQeU16VlZXSG50ZFkyNmlEWUtBQ2pJdDZ4YXlCSysrZTRSSmI2alAxZ1RKdkhiditrMgphc2xGd1UwSVlzbm1QSVluMVNtUVFvWkcxd0tCZ1FERTJaSVU0azczSjJ3clJLcmFpTy93Q2F4Y2o3TEg4Z3lwCmFTbjNFUFFtVVIwQTBRTEhld05sY2Rjc2l5aVdPZzBodjBWamJtYnlPRDhDK09oOFd2ckhSZzJtWEwydHZSVm4Kc05oL3pERHRsV292bG50czZzbzB2b1VnZmVwT2hDajBpRTBNelBLZTJ5cEZNREUyV2o0YzlnRlJEVVZuREx3UQpGdUZDZW5jclpRS0JnUURIOStNUVc2K3BwbzIyL3FNbWV2ak4rNDFjY2lWSlltM1VaQm9Gem50SUdsQVJqRVNHCjZiT0lGQnJ5QjlOVmZ1Tk9LK1cweFJham85SktGT1Q1UkFOQm5zV1dSN3NZd1IvZHZjUTJQcXBpSEIyRmlPN3cKZVBUZHprcWRVazdYU1RvTHVPS3YwbTV3R2xlVE9EL3E4aGtUSThYQ3g2N1FldGpYM3ZBT2d0a3NRUUtCZ0ZFQgpXNHoraUJKTEJjZFViWjZhaFdwWkFMWGlhR2JCWTVaL2NVWjdrbzBHQ2hKZzhHellZVkJvcFd4dUk1aVdjUHIzCk0vMnoyK2RIWUI3QUFTUFRhS21DV1hHaGJtakZpNzVzMXRyWVV6WWhxMTNENWl5dS9lRHdtZVlDQ3Q2ZW9oL20KeXhZK2JJVVVtWE41WG5jSWNkRUhKd21NbFlmUGhNQjJPZUphZFJuRkFvR0FGQ3ZiMGRrcWJxblNWTFFoY09DcQo5REp5aTYvRUV5VzhmcVlXc2lrYW9aT01oUnB2b1F6VWpqVTFqaWt4VkVFdnNFRzYwYU56WVdLT0hKRFFsaXNLCkNvZUJXNWZLS2RZeE96L1R5bFRzcncycXZYVnJUTm91WFRSeDByYVdNMWJ2alFQWUpjYUV3aE5TY1dxVjR2VlIKeDhSVWd1QmlVaHhQb0NyOHg0SitGQ3M9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml index 171f8de..15bb749 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml @@ -12,7 +12,7 @@ spec: app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - - image: eventhub.account + - image: {{ .Values.containerImage }} imagePullPolicy: Never name: {{ .Release.Name }}-{{ .Chart.Name }} ports: diff --git a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml index e69de29..7309132 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml @@ -0,0 +1 @@ +containerImage: "eventhub.api" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml index 8602009..15bb749 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml @@ -12,7 +12,7 @@ spec: app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - - image: eventhub.api + - image: {{ .Values.containerImage }} imagePullPolicy: Never name: {{ .Release.Name }}-{{ .Chart.Name }} ports: diff --git a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml index e69de29..00bc93b 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml @@ -0,0 +1 @@ +containerImage: "eventhub.account" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml index e77b1c5..ec3de59 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml @@ -8,7 +8,7 @@ spec: spec: containers: - name: {{ .Release.Name }}-{{ .Chart.Name }} - image: eventhubmigrator + image: {{ .Values.containerImage }} imagePullPolicy: Never restartPolicy: Never backoffLimit: 4 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml index e69de29..b4904a5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml @@ -0,0 +1 @@ +containerImage: eventhubmigrator \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml index 08ad03b..15bb749 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml @@ -12,7 +12,7 @@ spec: app: {{ .Release.Name }}-{{ .Chart.Name }} spec: containers: - - image: eventhub.www + - image: {{ .Values.containerImage }} imagePullPolicy: Never name: {{ .Release.Name }}-{{ .Chart.Name }} ports: diff --git a/etc/k8s/helm-chart/eventhub/charts/www/values.yaml b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml index e69de29..7d204b0 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/values.yaml @@ -0,0 +1 @@ +containerImage: eventhub.www \ No newline at end of file From 955e70d262b4db9af705fee800c9354ea5852a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 10:04:18 +0300 Subject: [PATCH 17/47] Added powershell script to build images --- .../eventhub/charts/dbmigrator/values.yaml | 2 +- etc/k8s/scripts/build-images.ps1 | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 etc/k8s/scripts/build-images.ps1 diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml index b4904a5..92cb5f6 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/values.yaml @@ -1 +1 @@ -containerImage: eventhubmigrator \ No newline at end of file +containerImage: eventhub.dbmigrator \ No newline at end of file diff --git a/etc/k8s/scripts/build-images.ps1 b/etc/k8s/scripts/build-images.ps1 new file mode 100644 index 0000000..b7c7f9e --- /dev/null +++ b/etc/k8s/scripts/build-images.ps1 @@ -0,0 +1,37 @@ +$currentFolder = (Get-Item -Path "./" -Verbose).FullName +$slnFolder = Join-Path $currentFolder "../../../" +$dbmigratorFolder = Join-Path $slnFolder "src/EventHub.DbMigrator" +$webFolder = Join-Path $slnFolder "src/EventHub.Web" +$apiFolder = Join-Path $slnFolder "src/EventHub.HttpApi.Host" +$identityServerFolder = Join-Path $slnFolder "src/EventHub.IdentityServer" + +### DB MIGRATOR + +Write-Host "*** BUILDING DB MIGRATOR ****************" -ForegroundColor Green +Set-Location $dbmigratorFolder +dotnet publish -c Release +docker build -t eventhub.dbmigrator . + +### WEB (WWW) + +Write-Host "*** BUILDING WEB (WWW) ****************" -ForegroundColor Green +Set-Location $webFolder +dotnet publish -c Release +docker build -t eventhub.www . + +### API + +Write-Host "*** BUILDING API ****************" -ForegroundColor Green +Set-Location $apiFolder +dotnet publish -c Release +docker build -t eventhub.api . + +### IDENTITY SERVER (ACCOUNT) + +Write-Host "*** BUILDING IDENTITY SERVER (ACCOUNT) ****************" -ForegroundColor Green +Set-Location $identityServerFolder +dotnet publish -c Release +docker build -t eventhub.account . + +Write-Host "ALL COMPLETED" -ForegroundColor Green +Set-Location $currentFolder \ No newline at end of file From 1889f4ad37f03e00a0868a886f7035e30b8d6db4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 10:36:44 +0300 Subject: [PATCH 18/47] refactored appsettings for dbmigrator --- .../eventhub/charts/dbmigrator/templates/migrator.yaml | 9 +++++++++ etc/k8s/helm-chart/eventhub/values.yaml | 5 +++++ .../EventHubAdminHttpApiHostModule.cs | 1 - src/EventHub.DbMigrator/EventHub.DbMigrator.csproj | 4 ---- src/EventHub.DbMigrator/appsettings.Development.json | 5 ----- src/EventHub.DbMigrator/appsettings.json | 8 ++++---- 6 files changed, 18 insertions(+), 14 deletions(-) delete mode 100644 src/EventHub.DbMigrator/appsettings.Development.json diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml index ec3de59..02df487 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml @@ -10,5 +10,14 @@ spec: - name: {{ .Release.Name }}-{{ .Chart.Name }} image: {{ .Values.containerImage }} imagePullPolicy: Never + env: + - name: "ConnectionStrings__Default" + value: "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + - name: "IdentityServer__Clients__EventHub_Web__RootUrl" + value: {{ .Values.global.wwwUrlFull }} + - name: "IdentityServer__Clients__EventHub_Blazor__RootUrl" + value: {{ .Values.global.adminUrlFull }} + - name: "IdentityServer__Clients__EventHub_Swagger__RootUrl" + value: {{ .Values.global.apiUrlFull }} restartPolicy: Never backoffLimit: 4 \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index 27e5bd5..b70f1b5 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -1,6 +1,11 @@ global: accountUrl: eh-st-account + accountUrlFull: https://eh-st-account apiUrl: eh-st-api + apiUrlFull: https://eh-st-api wwwUrl: eh-st-www + wwwUrlFull: "https://eh-st-www" + adminUrl: eh-st-admin + adminUrlFull: https://eh-st-admin nginxProxyBufferSize: "32k" nginxProxyBuffersNumber: "8" \ No newline at end of file diff --git a/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs b/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs index 81a76bc..38ff481 100644 --- a/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs +++ b/src/EventHub.Admin.HttpApi.Host/EventHubAdminHttpApiHostModule.cs @@ -15,7 +15,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; using StackExchange.Redis; using Volo.Abp; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; diff --git a/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj b/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj index ed41ba6..69154bc 100644 --- a/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj +++ b/src/EventHub.DbMigrator/EventHub.DbMigrator.csproj @@ -12,10 +12,6 @@ - - PreserveNewest - Always - PreserveNewest Always diff --git a/src/EventHub.DbMigrator/appsettings.Development.json b/src/EventHub.DbMigrator/appsettings.Development.json deleted file mode 100644 index 4ba93e6..0000000 --- a/src/EventHub.DbMigrator/appsettings.Development.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "ConnectionStrings": { - "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" - } -} diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index c8f7067..26356c1 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -1,22 +1,22 @@ { "ConnectionStrings": { - "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" }, "IdentityServer": { "Clients": { "EventHub_Web": { "ClientId": "EventHub_Web", "ClientSecret": "1q2w3e*", - "RootUrl": "https://eh-st-www" + "RootUrl": "https://localhost:44308" }, "EventHub_Blazor": { "ClientId": "EventHub_Blazor", - "RootUrl": "https://eh-st-admin" + "RootUrl": "https://localhost:44307" }, "EventHub_Swagger": { "ClientId": "EventHub_Swagger", "ClientSecret": "1q2w3e*", - "RootUrl": "https://eh-st-api" + "RootUrl": "https://localhost:44362" } } } From f1d42d508c7ff93b067e5335acbe8ccf638682dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 5 Aug 2021 13:27:39 +0300 Subject: [PATCH 19/47] Remove EventHubExternalUrls --- .../charts/account/templates/account.yaml | 7 ++++++- .../eventhub/charts/account/values.yaml | 2 +- .../eventhub/charts/api/templates/api.yaml | 7 ++++++- .../eventhub/charts/api/values.yaml | 2 +- .../charts/dbmigrator/templates/migrator.yaml | 3 ++- .../eventhub/charts/www/templates/www.yaml | 4 +++- .../eventhub/templates/_helpers.tpl | 12 +++++++++++ etc/k8s/helm-chart/eventhub/values.yaml | 5 ++++- .../appsettings.json | 3 ++- src/EventHub.DbMigrator/appsettings.json | 2 +- .../EventHubDomainSharedModule.cs | 6 ++++++ .../Web/EventHubExternalUrls.cs | 18 ----------------- .../Web/EventHubUrlOptions.cs | 11 ++++++++++ .../EventHubEmailTemplateRenderingEngine.cs | 9 +++++++-- src/EventHub.Domain/EventHubDomainModule.cs | 3 ++- src/EventHub.HttpApi.Host/appsettings.json | 5 +++-- .../EventHubIdentityServerModule.cs | 5 ++--- src/EventHub.IdentityServer/appsettings.json | 5 +++-- .../EventHub/Components/Footer/Default.cshtml | 8 +++++--- .../Components/MainNavbar/Default.cshtml | 20 ++++++++++--------- .../EventHub/Layouts/Application.cshtml | 7 +++++-- src/EventHub.Web/Pages/Events/Detail.cshtml | 6 ++++-- src/EventHub.Web/Pages/Index.cshtml | 4 +++- 23 files changed, 100 insertions(+), 54 deletions(-) create mode 100644 etc/k8s/helm-chart/eventhub/templates/_helpers.tpl delete mode 100644 src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs create mode 100644 src/EventHub.Domain.Shared/Web/EventHubUrlOptions.cs diff --git a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml index 15bb749..2674576 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/templates/account.yaml @@ -19,4 +19,9 @@ spec: - name: http containerPort: 80 - name: https - containerPort: 443 \ No newline at end of file + containerPort: 443 + env: +{{ include "eventhub.global.env" . | indent 8 }} + - name: "ConnectionStrings__Default" + value: {{ .Values.global.defaultConnString }} + diff --git a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml index 7309132..00bc93b 100644 --- a/etc/k8s/helm-chart/eventhub/charts/account/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/account/values.yaml @@ -1 +1 @@ -containerImage: "eventhub.api" \ No newline at end of file +containerImage: "eventhub.account" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml index 15bb749..2674576 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/templates/api.yaml @@ -19,4 +19,9 @@ spec: - name: http containerPort: 80 - name: https - containerPort: 443 \ No newline at end of file + containerPort: 443 + env: +{{ include "eventhub.global.env" . | indent 8 }} + - name: "ConnectionStrings__Default" + value: {{ .Values.global.defaultConnString }} + diff --git a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml index 00bc93b..7309132 100644 --- a/etc/k8s/helm-chart/eventhub/charts/api/values.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/api/values.yaml @@ -1 +1 @@ -containerImage: "eventhub.account" \ No newline at end of file +containerImage: "eventhub.api" \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml index 02df487..38560d5 100644 --- a/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/dbmigrator/templates/migrator.yaml @@ -11,8 +11,9 @@ spec: image: {{ .Values.containerImage }} imagePullPolicy: Never env: +{{ include "eventhub.global.env" . | indent 8 }} - name: "ConnectionStrings__Default" - value: "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + value: {{ .Values.global.defaultConnString }} - name: "IdentityServer__Clients__EventHub_Web__RootUrl" value: {{ .Values.global.wwwUrlFull }} - name: "IdentityServer__Clients__EventHub_Blazor__RootUrl" diff --git a/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml index 15bb749..00a20ca 100644 --- a/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml +++ b/etc/k8s/helm-chart/eventhub/charts/www/templates/www.yaml @@ -19,4 +19,6 @@ spec: - name: http containerPort: 80 - name: https - containerPort: 443 \ No newline at end of file + containerPort: 443 + env: +{{ include "eventhub.global.env" . | indent 8 }} diff --git a/etc/k8s/helm-chart/eventhub/templates/_helpers.tpl b/etc/k8s/helm-chart/eventhub/templates/_helpers.tpl new file mode 100644 index 0000000..40ef14c --- /dev/null +++ b/etc/k8s/helm-chart/eventhub/templates/_helpers.tpl @@ -0,0 +1,12 @@ +{{- define "eventhub.global.env" -}} +- name: "AppUrls__Account" + value: "{{ .Values.global.accountUrlFull }}" +- name: "AppUrls__Www" + value: "{{ .Values.global.wwwUrlFull }}" +- name: "AppUrls__Api" + value: "{{ .Values.global.apiUrlFull }}" +- name: "AppUrls__Admin" + value: "{{ .Values.global.adminUrlFull }}" +- name: "AppUrls__AdminApi" + value: "{{ .Values.global.adminApiUrlFull }}" +{{- end }} \ No newline at end of file diff --git a/etc/k8s/helm-chart/eventhub/values.yaml b/etc/k8s/helm-chart/eventhub/values.yaml index b70f1b5..d55d3e8 100644 --- a/etc/k8s/helm-chart/eventhub/values.yaml +++ b/etc/k8s/helm-chart/eventhub/values.yaml @@ -7,5 +7,8 @@ global: wwwUrlFull: "https://eh-st-www" adminUrl: eh-st-admin adminUrlFull: https://eh-st-admin + adminApiApiUrl: eh-st-admin-api + adminApiUrlFull: https://eh-st-admin-api nginxProxyBufferSize: "32k" - nginxProxyBuffersNumber: "8" \ No newline at end of file + nginxProxyBuffersNumber: "8" + defaultConnString: "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" \ No newline at end of file diff --git a/src/EventHub.Admin.HttpApi.Host/appsettings.json b/src/EventHub.Admin.HttpApi.Host/appsettings.json index 7c2ab2d..61adbd3 100644 --- a/src/EventHub.Admin.HttpApi.Host/appsettings.json +++ b/src/EventHub.Admin.HttpApi.Host/appsettings.json @@ -1,6 +1,7 @@ { "App": { - "CorsOrigins": "https://*.openeventhub.com,https://localhost:44307,https://localhost:44308" + "CorsOrigins": "https://*.openeventhub.com,https://localhost:44307,https://localhost:44308", + "WebAppUrl": "https://eh-st-www" }, "ConnectionStrings": { "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" diff --git a/src/EventHub.DbMigrator/appsettings.json b/src/EventHub.DbMigrator/appsettings.json index 26356c1..828fd62 100644 --- a/src/EventHub.DbMigrator/appsettings.json +++ b/src/EventHub.DbMigrator/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" }, "IdentityServer": { "Clients": { diff --git a/src/EventHub.Domain.Shared/EventHubDomainSharedModule.cs b/src/EventHub.Domain.Shared/EventHubDomainSharedModule.cs index 8370a52..efa5dc2 100644 --- a/src/EventHub.Domain.Shared/EventHubDomainSharedModule.cs +++ b/src/EventHub.Domain.Shared/EventHubDomainSharedModule.cs @@ -1,4 +1,6 @@ using EventHub.Localization; +using EventHub.Web; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AuditLogging; using Volo.Abp.BackgroundJobs; using Volo.Abp.Identity; @@ -33,6 +35,8 @@ namespace EventHub public override void ConfigureServices(ServiceConfigurationContext context) { + var configuration = context.Services.GetConfiguration(); + Configure(options => { options.FileSets.AddEmbedded(); @@ -52,6 +56,8 @@ namespace EventHub { options.MapCodeNamespace("EventHub", typeof(EventHubResource)); }); + + Configure(configuration.GetSection("AppUrls")); } } } diff --git a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs b/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs deleted file mode 100644 index 6c6a75a..0000000 --- a/src/EventHub.Domain.Shared/Web/EventHubExternalUrls.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace EventHub.Web -{ - public static class EventHubExternalUrls - { -#if DEBUG - public const string EhAccount = "https://localhost:44313"; - public const string EhApi = "https://localhost:44362"; - public const string EhAdmin = "https://localhost:44307"; - public const string EhWww = "https://localhost:44308"; -#else - // TODO: Change these production links - public const string EhAccount = "https://eh-st-account"; - public const string EhApi = "https://eh-st-api"; - public const string EhAdmin = "https://eh-st-admin"; - public const string EhWww = "https://eh-st-www"; -#endif - } -} \ No newline at end of file diff --git a/src/EventHub.Domain.Shared/Web/EventHubUrlOptions.cs b/src/EventHub.Domain.Shared/Web/EventHubUrlOptions.cs new file mode 100644 index 0000000..1e2873c --- /dev/null +++ b/src/EventHub.Domain.Shared/Web/EventHubUrlOptions.cs @@ -0,0 +1,11 @@ +namespace EventHub.Web +{ + public class EventHubUrlOptions + { + public string Account { get; set; } = "https://localhost:44313"; + public string Www { get; set; } = "https://localhost:44308"; + public string Api { get; set; } = "https://localhost:44362"; + public string Admin { get; set; } = "https://localhost:44307"; + public string AdminApi { get; set; } = "https://localhost:44305"; + } +} \ No newline at end of file diff --git a/src/EventHub.Domain/Emailing/EventHubEmailTemplateRenderingEngine.cs b/src/EventHub.Domain/Emailing/EventHubEmailTemplateRenderingEngine.cs index 623a3f5..9021183 100644 --- a/src/EventHub.Domain/Emailing/EventHubEmailTemplateRenderingEngine.cs +++ b/src/EventHub.Domain/Emailing/EventHubEmailTemplateRenderingEngine.cs @@ -5,6 +5,7 @@ using EventHub.Web; using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; using Volo.Abp.TextTemplating; using Volo.Abp.TextTemplating.Scriban; @@ -18,15 +19,19 @@ namespace EventHub.Emailing )] public class EventHubEmailTemplateRenderingEngine : ScribanTemplateRenderingEngine { + private readonly EventHubUrlOptions _options; + public EventHubEmailTemplateRenderingEngine( ITemplateDefinitionManager templateDefinitionManager, ITemplateContentProvider templateContentProvider, - IStringLocalizerFactory stringLocalizerFactory + IStringLocalizerFactory stringLocalizerFactory, + IOptions options ) : base( templateDefinitionManager, templateContentProvider, stringLocalizerFactory) { + _options = options.Value; } public override async Task RenderAsync( @@ -41,7 +46,7 @@ namespace EventHub.Emailing } globalContext["current_year"] = DateTime.Today.Year; - globalContext["app_url"] = EventHubExternalUrls.EhWww; + globalContext["app_url"] = _options.Www; return await base.RenderAsync(templateName, model, cultureName, globalContext); } diff --git a/src/EventHub.Domain/EventHubDomainModule.cs b/src/EventHub.Domain/EventHubDomainModule.cs index 000b842..cd34153 100644 --- a/src/EventHub.Domain/EventHubDomainModule.cs +++ b/src/EventHub.Domain/EventHubDomainModule.cs @@ -1,3 +1,5 @@ +using EventHub.Emailing; +using EventHub.Web; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Volo.Abp.AuditLogging; @@ -34,7 +36,6 @@ namespace EventHub { options.FileSets.AddEmbedded(); }); - #if DEBUG context.Services.Replace(ServiceDescriptor.Singleton()); #endif diff --git a/src/EventHub.HttpApi.Host/appsettings.json b/src/EventHub.HttpApi.Host/appsettings.json index 0548fb9..423ad5a 100644 --- a/src/EventHub.HttpApi.Host/appsettings.json +++ b/src/EventHub.HttpApi.Host/appsettings.json @@ -1,9 +1,10 @@ { "App": { - "CorsOrigins": "https://eh-st-www,eh-st-admin" + "CorsOrigins": "https://eh-st-www,eh-st-admin", + "WebAppUrl": "https://eh-st-www" }, "ConnectionStrings": { - "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" }, "Redis": { "Configuration": "eh-st-redis" diff --git a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs index a626db5..99a3e37 100644 --- a/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs +++ b/src/EventHub.IdentityServer/EventHubIdentityServerModule.cs @@ -121,15 +121,14 @@ namespace EventHub Configure(options => { - options.Applications["MVC"].RootUrl = EventHubExternalUrls.EhAccount; + options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; }); Configure(options => { - options.IssuerUri = EventHubExternalUrls.EhAccount; + options.IssuerUri = configuration["App:SelfUrl"]; }); - if (hostingEnvironment.IsDevelopment()) { Configure(options => diff --git a/src/EventHub.IdentityServer/appsettings.json b/src/EventHub.IdentityServer/appsettings.json index f361f09..7195084 100644 --- a/src/EventHub.IdentityServer/appsettings.json +++ b/src/EventHub.IdentityServer/appsettings.json @@ -2,10 +2,11 @@ "App": { "SelfUrl": "https://eh-st-account", "CorsOrigins": "https://eh-st-www,https://eh-st-api,https://localhost:44307,https://localhost:44362", - "RedirectAllowedUrls": "https://eh-st-api,https://eh-st-www,http://eh-st-api,http://eh-st-www" + "RedirectAllowedUrls": "https://eh-st-api,https://eh-st-www,http://eh-st-api,http://eh-st-www", + "WebAppUrl": "https://eh-st-www" }, "ConnectionStrings": { - "Default": "Host=eh-st-postgresql;Port=5435;Database=EventHub;Username=root;Password=root" + "Default": "Host=localhost;Database=EventHub;Username=root;Password=root;Port=5432" }, "Redis": { "Configuration": "eh-st-redis" diff --git a/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml b/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml index 149877e..a528740 100644 --- a/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml +++ b/src/EventHub.Web.Theme/Themes/EventHub/Components/Footer/Default.cshtml @@ -1,7 +1,9 @@ @using EventHub.Web @using Microsoft.AspNetCore.Http.Extensions +@using Microsoft.Extensions.Options @using Volo.Abp.Users @inject ICurrentUser CurrentUser +@inject IOptions UrlOptions