namespace TriunniaLabs.Arch.Sample.Aspire.AppHost { internal static class ComomentsApiSetup { /// /// Adds a resource for the Comments Api on port 50006. /// /// Reference to the application builder. /// Reference to the Sql Server resource. public static void AddCommentsApi(this IDistributedApplicationBuilder builder, IResourceBuilder sqlServer) { var commentsApiDb = sqlServer.AddDatabase("CommentsApiDb"); builder.AddContainer("CommentsApi", "gitea.triunnialabs.com/triunnialabs/arch-comments-api", "0.1.1") .WithEndpoint(50006, 8080, isProxied: false, name: "http") .WithEndpoint("http", e => e.TargetHost = "0.0.0.0") // Obtain the values for these fields from the Control Panel .WithEnvironment("Microservice__Name", "") .WithEnvironment("Microservice__EnvelopePassword", "") .WithEnvironment("Microservice__EnableDiagnostics", "true") // Set to false in production deployments .WithEnvironment("Microservice__Application__Url", "") .WithEnvironment("Microservice__Application__ApplicationId", "") .WithEnvironment("Microservice__Application__ApiKey", "") .WithEnvironment("Microservice__Application__EnvelopePassword", "") .WithEnvironment("Microservice__ProtectedMemory__HmacSha512HashKey", "") .WithEnvironment("Microservice__ProtectedMemory__AesEncryptionPassword", "") .WithEnvironment("Microservice__ProtectedMemory__AesEncryptionSalt", "") .WithEnvironment("Microservice__ProtectedMemory__AesEncryptionIterations", "") .WithEnvironment("SqlServer__ConnectionString", "") .WithEnvironment("SqlServer__ReadOnlyConnectionString", "") // Api will write log and other files to this relatiove source folder .WithBindMount("..\\..\\..\\data\\CommentsApi", "/opt/triunnialabs/arch/comments-api") .WithReference(commentsApiDb) .WaitFor(commentsApiDb); } } }