Compare commits

..

1 Commits

Author SHA1 Message Date
09dd248d24 Initial implementation of procfile
Reviewed-on: #1
2024-12-23 14:52:23 +00:00
16 changed files with 50 additions and 20 deletions

View File

@@ -1,2 +1,2 @@
web: pushy/Pushy.dll
silo: silo/Pushy.Silo.dll
web: run-web.sh
silo: run-silo.sh

View File

@@ -24,6 +24,10 @@ RUN dotnet build "Pushy.Silo.csproj" --no-restore -c $BUILD_CONFIGURATION -o /ap
WORKDIR "/src/Pushy/Pushy"
RUN dotnet build "Pushy.csproj" --no-restore -c $BUILD_CONFIGURATION -o /app/pushy
COPY .dokku/Procfile /app/.dokku/Procfile
COPY run-silo.sh /app/run-silo.sh
COPY run-web.sh /app/run-web.sh
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
@@ -37,4 +41,7 @@ RUN dotnet publish "Pushy.csproj" -c $BUILD_CONFIGURATION -o /app/publish/pushy
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"]
COPY --from=publish /app/.dokku /app/.dokku
COPY --from=publish /app/*.sh /app/
ENTRYPOINT ["sh"]

View File

@@ -1,4 +1,7 @@
branches:
main:
regex: ^master$|^main$
mode: ContinuousDelivery
develop:
regex: ^develop$
mode: ContinuousDelivery

View File

@@ -22,5 +22,7 @@ builder.UseOrleans(silo =>
});
});
builder.Services.AddAllElasticApm();
var host = builder.Build();
host.Run();

View File

@@ -6,9 +6,12 @@
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>dotnet-Pushy.Silo-607fe096-6d3f-44f4-8e5d-8a2c875f8758</UserSecretsId>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<Title>Pushy Silo</Title>
<Authors>Henrik Lassen</Authors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Elastic.Apm.NetCoreAll" Version="1.31.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0"/>
<PackageReference Include="Microsoft.Orleans.Clustering.Redis" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.Redis" Version="9.0.1" />

View File

@@ -4,5 +4,8 @@
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ElasticApm": {
"ServerUrl": "http://apm.home.local:8200"
}
}

View File

@@ -1,4 +1,8 @@
<Solution>
<Project Path="Pushy\Pushy.Client\Pushy.Client.csproj" Type="Classic C#" />
<Project Path="Pushy\Pushy\Pushy.csproj" Type="Classic C#" />
<Folder Name="/Frontend/">
<Project Path="Pushy\Pushy.Client\Pushy.Client.csproj" Type="Classic C#" />
<Project Path="Pushy\Pushy\Pushy.csproj" Type="Classic C#" />
</Folder>
<Project Path="Pushy.Domain\Pushy.Domain.csproj" Type="Classic C#" />
<Project Path="Pushy.Silo\Pushy.Silo.csproj" Type="Classic C#" />
</Solution>

View File

@@ -7,12 +7,11 @@
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<LangVersion>13</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.0" />
<PackageReference Include="UnitsNet" Version="5.60.0" />
<PackageReference Include="UnitsNet" Version="5.61.0" />
</ItemGroup>
</Project>

View File

@@ -14,11 +14,12 @@
<link rel="stylesheet" href="@Assets["app.tailwind.css"]"/>
<link rel="stylesheet" href="@Assets["Pushy.styles.css"]"/>
<HeadOutlet/>
<ImportMap/>
</head>
<body>
<Routes/>
<script src="@Assets["_framework/blazor.web.js"]"></script>
<script src="_framework/blazor.web.js"></script>
@if (Agent.Configuration.Enabled && Environment.IsProduction())
{
<script src="@Assets["elastic-apm-rum.umd.min.js"]"></script>

View File

@@ -51,11 +51,11 @@ if (builder.Environment.IsProduction())
opt.Transport = new DistributedTransport(transport);
});
}
builder.Services.AddAllElasticApm();
builder.Services.AddScoped(service =>
service.GetRequiredService<IClusterClient>().GetGrain<ILinkGenerator>(Guid.Empty)
);
builder.Services.AddAllElasticApm();
builder.Services.AddHealthChecks();
builder.Services.AddCors(policy =>

View File

@@ -16,24 +16,16 @@
<ItemGroup>
<PackageReference Include="Elastic.Apm.NetCoreAll" Version="1.31.0" />
<PackageReference Include="Elastic.Extensions.Logging" Version="8.12.3" />
<PackageReference Include="GitVersion.MsBuild" Version="6.1.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="9.0.0" />
<PackageReference Include="Microsoft.Orleans.Clustering.Redis" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.Redis" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Reminders.Redis" Version="9.0.1" />
<PackageReference Include="System.Text.Json" Version="9.0.0" />
<PackageReference Include="UnitsNet" Version="5.60.0" />
<PackageReference Include="UnitsNet" Version="5.61.0" />
<ProjectReference Include="..\..\Pushy.Domain\Pushy.Domain.csproj" />
<ProjectReference Include="..\Pushy.Client\Pushy.Client.csproj"/>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Grains\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/WebPathMapping/MappedPaths/=WWWROOT_005C_005FFRAMEWORK_005CBLAZOR_002EWEB_002EJS/@EntryIndexedValue"></s:String>
<s:String x:Key="/Default/CodeInspection/WebPathMapping/PathsInCorrectCasing/=WWWROOT_005C_005FFRAMEWORK_005CBLAZOR_002EWEB_002EJS/@EntryIndexedValue">wwwroot\_framework\blazor.web.js</s:String></wpf:ResourceDictionary>

View File

@@ -7,8 +7,7 @@
}
},
"AllowedHosts": "*",
"ElasticApm":
{
"ElasticApm": {
"ServerUrl": "http://apm.home.local:8200",
"TransactionNameGroups": "GET /t/*"
}

View File

@@ -1,4 +1,12 @@
{
"formation": {
"web": {
"quantity": 1
},
"silo": {
"quantity": 2
}
},
"healthchecks": {
"web": [
{

3
run-silo.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
cd /app/silo
dotnet Pushy.Silo.dll

3
run-web.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
cd /app/pushy
dotnet Pushy.dll