var builder = WebApplication.CreateBuilder(args); builder.AddServiceDefaults(); builder.Services.AddReverseProxy(builder.Configuration); builder.Services.AddControllers(); builder.Services.AddHealthChecks(builder.Configuration); builder.Services.AddCors(options => { // TODO: Read allowed origins from configuration options.AddPolicy("CorsPolicy", builder => builder .SetIsOriginAllowed((host) => true) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()); }); builder.Services.AddApplicationServices(); builder.Services.AddGrpcServices(); builder.Services.Configure(builder.Configuration.GetSection("urls")); var app = builder.Build(); app.UseServiceDefaults(); app.UseHttpsRedirection(); app.UseCors("CorsPolicy"); app.UseAuthentication(); app.UseAuthorization(); app.MapControllers(); app.MapReverseProxy(); await app.RunAsync();