Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/createrelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ jobs:
- name: Publish API
if: ${{ github.event.release.prerelease == false }}
run: dotnet publish "TransactionProcessor\TransactionProcessor.csproj" --configuration Release --output publishOutput -r win-x64 --self-contained
-p:Version=${{ steps.get_version.outputs.VERSION }}
-p:AssemblyVersion=${{ steps.get_version.outputs.VERSION }}
-p:FileVersion=${{ steps.get_version.outputs.VERSION }}
-p:InformationalVersion=${{ steps.get_version.outputs.VERSION }}

- name: Build Release Package
run: |
Expand Down
44 changes: 43 additions & 1 deletion TransactionProcessor/Program.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;
using Shared.Logger;
using Shared.Middleware;
using System;

namespace TransactionProcessor
{
using Lamar.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using NLog;
using Sentry.Extensibility;
using Shared.General;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Reflection;

[ExcludeFromCodeCoverage]
public class Program
Expand Down Expand Up @@ -52,6 +55,45 @@ public static IHostBuilder CreateHostBuilder(string[] args)
hostBuilder.UseLamar();
hostBuilder.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureAppConfiguration((context, configBuilder) =>
{
var env = context.HostingEnvironment;

configBuilder.SetBasePath(fi.Directory.FullName)
.AddJsonFile("hosting.json", optional: true)
.AddJsonFile($"hosting.{env.EnvironmentName}.json", optional: true)
.AddJsonFile("/home/txnproc/config/appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"/home/txnproc/config/appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();

// Build a snapshot of configuration so we can use it immediately (e.g. for Sentry)
var builtConfig = configBuilder.Build();

// Keep existing static usage (if you must), and initialise the ConfigurationReader now.
Startup.Configuration = builtConfig;
ConfigurationReader.Initialise(Startup.Configuration);

// Configure Sentry on the webBuilder using the config snapshot.
var sentrySection = builtConfig.GetSection("SentryConfiguration");
if (sentrySection.Exists())
{
// Replace the condition below if you intended to only enable Sentry in certain environments.
if (env.IsDevelopment() == false)
{
webBuilder.UseSentry(o =>
{
o.Dsn = builtConfig["SentryConfiguration:Dsn"];
o.SendDefaultPii = true;
o.MaxRequestBodySize = RequestSize.Always;
o.CaptureBlockingCalls = true;
o.Release = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? "unknown";
});
}
}
});

webBuilder.UseStartup<Startup>();
webBuilder.UseConfiguration(config);
webBuilder.UseKestrel();
Expand Down
9 changes: 0 additions & 9 deletions TransactionProcessor/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,6 @@ public class Startup
/// </summary>
/// <param name="webHostEnvironment">The web host environment.</param>
public Startup(IWebHostEnvironment webHostEnvironment) {
IConfigurationBuilder builder = new ConfigurationBuilder().SetBasePath(webHostEnvironment.ContentRootPath)
.AddJsonFile("/home/txnproc/config/appsettings.json", true, true)
.AddJsonFile($"/home/txnproc/config/appsettings.{webHostEnvironment.EnvironmentName}.json",
optional:true).AddJsonFile("appsettings.json", optional:true, reloadOnChange:true)
.AddJsonFile($"appsettings.{webHostEnvironment.EnvironmentName}.json",
optional:true,
reloadOnChange:true).AddEnvironmentVariables();

Startup.Configuration = builder.Build();
Startup.WebHostEnvironment = webHostEnvironment;
}

Expand Down
1 change: 1 addition & 0 deletions TransactionProcessor/TransactionProcessor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
<PackageReference Include="System.ServiceModel.NetTcp" Version="10.0.652802" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.16.0" />
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.16.0" />
<PackageReference Include="Sentry.AspNetCore" Version="6.2.0" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading