using GZCTF.AppHost.RustFS;
using Microsoft.Extensions.Hosting;
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("postgres").WithDataVolume();
if (builder.Environment.IsDevelopment())
{
postgres.WithPgAdmin();
}
var database = postgres.AddDatabase("database");
var redis = builder.AddRedis("redis").WithDataVolume();
var storage = builder.AddRustFS("rustfs");
var web = builder.AddProject<Projects.GZCTF>("gzctf")
.WithReference(database)
.WaitFor(database)
.WithReference(redis)
.WaitFor(redis)
.WithReference(storage)
.WaitFor(storage)
.WithEnvironment("Telemetry__OpenTelemetry__Enable", "true")
.WithEnvironment("Telemetry__Prometheus__Enable", "true")
.WithEnvironment("XorKey", "gzctf-xor-key")
.WithEndpoint("http", e => e.IsProxied = false)
.WithOtlpExporter();
builder.Build().Run();