mirror of
https://github.com/Stone-Red-Code/RemoteExec.git
synced 2026-09-04 09:06:20 +02:00
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using RemoteExec.Server.Configuration;
|
|
using RemoteExec.Server.Hubs;
|
|
using RemoteExec.Server.Middleware;
|
|
using RemoteExec.Server.Services;
|
|
|
|
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
|
|
|
|
// Add services to the container.
|
|
builder.Services.AddControllers();
|
|
builder.Services.AddSignalR();
|
|
builder.Services.AddOpenApi();
|
|
builder.Services.AddHealthChecks();
|
|
|
|
builder.Services.Configure<AuthenticationConfiguration>(builder.Configuration.GetSection("Authentication"));
|
|
builder.Services.Configure<ExecutionConfiguration>(builder.Configuration.GetSection("Execution"));
|
|
builder.Services.Configure<MetricsConfiguration>(builder.Configuration.GetSection("Metrics"));
|
|
|
|
builder.Services.AddHostedService<MetricsBroadcastService>();
|
|
|
|
WebApplication app = builder.Build();
|
|
|
|
app.UseMiddleware<ApiKeyAuthenticationMiddleware>();
|
|
|
|
app.MapHub<RemoteExecutionHub>("/remote");
|
|
|
|
// Configure the HTTP request pipeline.
|
|
if (app.Environment.IsDevelopment())
|
|
{
|
|
_ = app.MapOpenApi();
|
|
}
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
app.UseAuthorization();
|
|
|
|
app.MapControllers();
|
|
|
|
app.MapHealthChecks("/health");
|
|
|
|
await app.RunAsync();
|