Files
2026-07-18 16:33:28 -04:00

40 lines
2.3 KiB
C#

namespace TriunniaLabs.Arch.Sample.Aspire.AppHost
{
internal static class ComomentsApiSetup
{
/// <summary>
/// Adds a resource for the Comments Api on port 50006.
/// </summary>
/// <param name="builder">Reference to the application builder.</param>
/// <param name="sqlServer">Reference to the Sql Server resource.</param>
public static void AddCommentsApi(this IDistributedApplicationBuilder builder, IResourceBuilder<SqlServerServerResource> 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);
}
}
}