Initial project stub

This commit is contained in:
femsci 2023-03-02 23:10:13 +01:00
commit 7b95dffd11
Signed by: femsci
GPG key ID: 08F7911F0E650C67
15 changed files with 235 additions and 0 deletions

9
.dockerignore Normal file
View file

@ -0,0 +1,9 @@
*
!/scripts/*
!/src/*
!/test/*
!/Nyangate.sln
src/*/bin
src/*/obj
test/*/bin
test/*/obj

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
.vscode/
**/obj/
**/bin/
out/

3
.nyoki Normal file
View file

@ -0,0 +1,3 @@
{
"instanceId": "79b5f7e0-eeb6-441d-85f0-721e4ea92fb4"
}

55
Dockerfile Normal file
View file

@ -0,0 +1,55 @@
FROM mcr.microsoft.com/dotnet/sdk:7.0-alpine AS build
WORKDIR /source
COPY Nyangate.sln ./
COPY src/Nyangate/*.csproj ./src/Nyangate/
COPY src/Nyangate.Cli/*.csproj ./src/Nyangate.Cli/
COPY src/Nyangate.Lib/*.csproj ./src/Nyangate.Lib/
COPY test/Nyangate.Test/*.csproj ./test/Nyangate.Test/
RUN dotnet restore
COPY src/Nyangate/. ./src/Nyangate/
COPY src/Nyangate.Lib/. ./src/Nyangate.Lib/
RUN dotnet publish ./src/Nyangate/Nyangate.csproj --no-restore -c Release -o /build/nyangate
FROM mcr.microsoft.com/dotnet/aspnet:7.0-alpine AS tests
WORKDIR /source
COPY test/Nyangate.Test/. ./test/Nyangate.Test/
RUN dotnet test
FROM mcr.microsoft.com/dotnet/aspnet:7.0-alpine AS runtime
# Environment vars
ENV TLS_CERT_PUB=/etc/tls/certs/main.pem
ENV TLS_CERT_PRIVKEY=/etc/tls/certs/main.key.pem
RUN mkdir -p /srv/nyangate/config /etc/tls/certs
# Files
COPY --from=build /build/nyangate /srv/nyangate
#COPY ./scripts/chkhealth /usr/bin/
VOLUME [ "/srv/nyangate/config" ]
WORKDIR /srv/nyangate
# Net
EXPOSE 80/tcp
EXPOSE 443/tcp
# Process handling
STOPSIGNAL SIGTERM
#HEALTHCHECK --interval=60s --timeout=30s --start-period=5s --retries=3 CMD [ "/usr/bin/chkhealth" ]
ENTRYPOINT [ "dotnet", "/srv/nyangate/Nyangate.dll" ]

50
Nyangate.sln Normal file
View file

@ -0,0 +1,50 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{9B32EA6C-F2D3-4A38-99FC-0C5F522B338A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nyangate.Test", "test\Nyangate.Test\Nyangate.Test.csproj", "{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D389138A-1E17-4AFE-A0C8-D71DA9C2967B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nyangate.Cli", "src\Nyangate.Cli\Nyangate.Cli.csproj", "{8CCADE0F-436B-4CF0-A885-CEE0F96121D4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nyangate", "src\Nyangate\Nyangate.csproj", "{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nyangate.Lib", "src\Nyangate.Lib\Nyangate.Lib.csproj", "{273954D9-C2DC-430F-A62D-DD55B908BA6C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7}.Release|Any CPU.Build.0 = Release|Any CPU
{8CCADE0F-436B-4CF0-A885-CEE0F96121D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CCADE0F-436B-4CF0-A885-CEE0F96121D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CCADE0F-436B-4CF0-A885-CEE0F96121D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CCADE0F-436B-4CF0-A885-CEE0F96121D4}.Release|Any CPU.Build.0 = Release|Any CPU
{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1}.Release|Any CPU.Build.0 = Release|Any CPU
{273954D9-C2DC-430F-A62D-DD55B908BA6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{273954D9-C2DC-430F-A62D-DD55B908BA6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{273954D9-C2DC-430F-A62D-DD55B908BA6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{273954D9-C2DC-430F-A62D-DD55B908BA6C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{65ADE5CC-F1ED-4D18-A64E-7C4C625334D7} = {9B32EA6C-F2D3-4A38-99FC-0C5F522B338A}
{8CCADE0F-436B-4CF0-A885-CEE0F96121D4} = {D389138A-1E17-4AFE-A0C8-D71DA9C2967B}
{D1171FEB-30A7-4D0B-B1AF-2DF5857E25A1} = {D389138A-1E17-4AFE-A0C8-D71DA9C2967B}
{273954D9-C2DC-430F-A62D-DD55B908BA6C} = {D389138A-1E17-4AFE-A0C8-D71DA9C2967B}
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View file

@ -0,0 +1 @@
Console.WriteLine("meow~");

View file

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

6
src/Nyangate/Program.cs Normal file
View file

@ -0,0 +1,6 @@
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "meow~");
app.Run();

View file

@ -0,0 +1,37 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:17984",
"sslPort": 44337
}
},
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5178",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7056;http://localhost:5178",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View file

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View file

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View file

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
</Project>

View file

@ -0,0 +1 @@
global using Xunit;