From 257f8e3156af1f50939ab7b9453341dd8c5e59cf Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Tue, 8 Sep 2020 17:39:02 -0500 Subject: [PATCH] =?UTF-8?q?feat(archival):=20=E2=9C=A8=20stub=20new=20arch?= =?UTF-8?q?ival=20proj?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/FilterLists.sln | 11 +++++- .../src/FilterLists.Archival/Dockerfile | 20 ++++++++++ .../src/FilterLists.Archival/Dockerfile.dev | 20 ++++++++++ .../FilterLists.Archival.csproj | 37 +++++++++++++++++++ .../src/FilterLists.Archival/Program.cs | 21 +++++++++++ .../Properties/launchSettings.json | 11 ++++++ .../src/FilterLists.Archival/Startup.cs | 20 ++++++++++ 7 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 services/archival/src/FilterLists.Archival/Dockerfile create mode 100644 services/archival/src/FilterLists.Archival/Dockerfile.dev create mode 100644 services/archival/src/FilterLists.Archival/FilterLists.Archival.csproj create mode 100644 services/archival/src/FilterLists.Archival/Program.cs create mode 100644 services/archival/src/FilterLists.Archival/Properties/launchSettings.json create mode 100644 services/archival/src/FilterLists.Archival/Startup.cs diff --git a/services/FilterLists.sln b/services/FilterLists.sln index e7ec189fe..d84e29cec 100644 --- a/services/FilterLists.sln +++ b/services/FilterLists.sln @@ -43,7 +43,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{8F419098-3 directory\data\Tag.json = directory\data\Tag.json EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterLists.Directory.Infrastructure.Migrations.Tests", "directory\tests\FilterLists.Directory.Infrastructure.Migrations.Tests\FilterLists.Directory.Infrastructure.Migrations.Tests.csproj", "{8B07EF04-5516-40BB-B21B-CEC6F90EC631}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FilterLists.Directory.Infrastructure.Migrations.Tests", "directory\tests\FilterLists.Directory.Infrastructure.Migrations.Tests\FilterLists.Directory.Infrastructure.Migrations.Tests.csproj", "{8B07EF04-5516-40BB-B21B-CEC6F90EC631}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Archival", "Archival", "{5E52FEF9-9605-4ACB-8A42-A20E06331599}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterLists.Archival", "archival\src\FilterLists.Archival\FilterLists.Archival.csproj", "{20A2E5A2-B218-410A-90DA-090A6A3087DF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -79,6 +83,10 @@ Global {8B07EF04-5516-40BB-B21B-CEC6F90EC631}.Debug|Any CPU.Build.0 = Debug|Any CPU {8B07EF04-5516-40BB-B21B-CEC6F90EC631}.Release|Any CPU.ActiveCfg = Release|Any CPU {8B07EF04-5516-40BB-B21B-CEC6F90EC631}.Release|Any CPU.Build.0 = Release|Any CPU + {20A2E5A2-B218-410A-90DA-090A6A3087DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {20A2E5A2-B218-410A-90DA-090A6A3087DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {20A2E5A2-B218-410A-90DA-090A6A3087DF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {20A2E5A2-B218-410A-90DA-090A6A3087DF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -91,6 +99,7 @@ Global {4F7D51FE-A1F3-4473-A8C3-D57EBDD8E60E} = {AE5D6471-1B6E-4B06-A313-34EF81F35342} {8F419098-3EEB-4B4B-99A8-70555FA93DAF} = {AE5D6471-1B6E-4B06-A313-34EF81F35342} {8B07EF04-5516-40BB-B21B-CEC6F90EC631} = {AE5D6471-1B6E-4B06-A313-34EF81F35342} + {20A2E5A2-B218-410A-90DA-090A6A3087DF} = {5E52FEF9-9605-4ACB-8A42-A20E06331599} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {758B57EF-7505-4BE2-90A2-E2DE2EC32909} diff --git a/services/archival/src/FilterLists.Archival/Dockerfile b/services/archival/src/FilterLists.Archival/Dockerfile new file mode 100644 index 000000000..11cb0532c --- /dev/null +++ b/services/archival/src/FilterLists.Archival/Dockerfile @@ -0,0 +1,20 @@ +# init base +FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1-alpine AS base +WORKDIR /app + +# init build +FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS build + +# restore +WORKDIR /src/FilterLists.Archival +COPY archival/src/FilterLists.Archival/FilterLists.Archival.csproj . +RUN dotnet restore + +# build +COPY archival/src/FilterLists.Archival/. . +RUN dotnet publish -c Release --no-restore -o /app/publish -p:PublishReadyToRun=true -p:PublishSingleFile=true -p:PublishTrimmed=true -r linux-musl-x64 + +# package final +FROM base AS final +COPY --from=build /app/publish . +ENTRYPOINT ./FilterLists.Archival \ No newline at end of file diff --git a/services/archival/src/FilterLists.Archival/Dockerfile.dev b/services/archival/src/FilterLists.Archival/Dockerfile.dev new file mode 100644 index 000000000..0ce8a408b --- /dev/null +++ b/services/archival/src/FilterLists.Archival/Dockerfile.dev @@ -0,0 +1,20 @@ +# init base for Visual Studio debugging +FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine AS base +WORKDIR /app + +# init build +FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS build + +# restore +WORKDIR /src/FilterLists.Archival +COPY archival/src/FilterLists.Archival/FilterLists.Archival.csproj . +RUN dotnet restore + +# build +COPY archival/src/FilterLists.Archival/. . +RUN dotnet publish --no-restore -o /app/publish -r linux-musl-x64 + +# package final +FROM base AS final +COPY --from=build /app/publish . +ENTRYPOINT ./FilterLists.Archival \ No newline at end of file diff --git a/services/archival/src/FilterLists.Archival/FilterLists.Archival.csproj b/services/archival/src/FilterLists.Archival/FilterLists.Archival.csproj new file mode 100644 index 000000000..37a284e75 --- /dev/null +++ b/services/archival/src/FilterLists.Archival/FilterLists.Archival.csproj @@ -0,0 +1,37 @@ + + + + netcoreapp3.1 + latest + enable + true + linux-musl-x64;win10-x64 + + + + Collin M. Barrett + FilterLists + FilterLists Archival + The independent, comprehensive directory of filter and host lists for advertisements, trackers, malware, and annoyances. + Copyright (c) 2020 Collin M. Barrett + https://github.com/collinbarrett/FilterLists + https://filterlists.com + + + + 1701;1702;CA2007 + + + + CA2007 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + diff --git a/services/archival/src/FilterLists.Archival/Program.cs b/services/archival/src/FilterLists.Archival/Program.cs new file mode 100644 index 000000000..5fb7a7903 --- /dev/null +++ b/services/archival/src/FilterLists.Archival/Program.cs @@ -0,0 +1,21 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; + +namespace FilterLists.Archival +{ + public static class Program + { + public static async Task Main(string[] args) + { + var host = CreateHostBuilder(args).Build(); + await host.RunAsync(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) + { + return Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup()); + } + } +} \ No newline at end of file diff --git a/services/archival/src/FilterLists.Archival/Properties/launchSettings.json b/services/archival/src/FilterLists.Archival/Properties/launchSettings.json new file mode 100644 index 000000000..d19193a0b --- /dev/null +++ b/services/archival/src/FilterLists.Archival/Properties/launchSettings.json @@ -0,0 +1,11 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "profiles": { + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "publishAllPorts": true + } + } +} \ No newline at end of file diff --git a/services/archival/src/FilterLists.Archival/Startup.cs b/services/archival/src/FilterLists.Archival/Startup.cs new file mode 100644 index 000000000..2ef80af1f --- /dev/null +++ b/services/archival/src/FilterLists.Archival/Startup.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + +namespace FilterLists.Archival +{ + public class Startup + { + public static void ConfigureServices(IServiceCollection services) + { + } + + public static void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + if (env.IsDevelopment()) + app.UseDeveloperExceptionPage(); + } + } +} \ No newline at end of file