Skip to content

Commit 293dbce

Browse files
authored
Adds IngressController to Yarp (#842)
1 parent f054398 commit 293dbce

File tree

251 files changed

+115582
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+115582
-1
lines changed

reverse-proxy.sln

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,30 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServer", "testassets\Te
6666
EndProject
6767
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReverseProxy.Direct", "testassets\ReverseProxy.Direct\ReverseProxy.Direct.csproj", "{6FE9874A-87B9-42C6-B19C-065A97CC6360}"
6868
EndProject
69+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yarp.ReverseProxy.Kubernetes.Controller", "src\ReverseProxy.Kubernetes.Controller\Yarp.ReverseProxy.Kubernetes.Controller.csproj", "{5C8E9658-39DA-4C27-A939-68F94B62110B}"
70+
EndProject
71+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yarp.ReverseProxy.Kubernetes.Protocol", "src\ReverseProxy.Kubernetes.Protocol\Yarp.ReverseProxy.Kubernetes.Protocol.csproj", "{4188D742-AC87-4CF4-86A0-3AB7AF034764}"
72+
EndProject
73+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yarp.ReverseProxy.Kubernetes.Ingress", "src\ReverseProxy.Kubernetes.Ingress\Yarp.ReverseProxy.Kubernetes.Ingress.csproj", "{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}"
74+
EndProject
75+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OperatorFramework", "OperatorFramework", "{3A8C7CF8-1F32-474E-B68A-B548A3384BB4}"
76+
EndProject
77+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}"
78+
EndProject
79+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.Core", "src\OperatorFramework\src\Core\Microsoft.Kubernetes.Core.csproj", "{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}"
80+
EndProject
81+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.Controller", "src\OperatorFramework\src\Controller\Microsoft.Kubernetes.Controller.csproj", "{E6A1D5FD-F7E2-4683-9384-F30A1981953C}"
82+
EndProject
83+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.CustomResources", "src\OperatorFramework\src\CustomResource\Microsoft.Kubernetes.CustomResources.csproj", "{85EE0BDC-6962-448A-B317-041441513124}"
84+
EndProject
85+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.Operator", "src\OperatorFramework\src\Operator\Microsoft.Kubernetes.Operator.csproj", "{B7BAB851-42BA-474A-9F48-ED74F88B610D}"
86+
EndProject
87+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.ResourceKinds.OpenApi", "src\OperatorFramework\src\ResourceKinds.OpenApi\Microsoft.Kubernetes.ResourceKinds.OpenApi.csproj", "{EF2D9D76-C230-4880-8B6A-2286F48D868A}"
88+
EndProject
89+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Kubernetes.Testing", "src\OperatorFramework\src\Testing\Microsoft.Kubernetes.Testing.csproj", "{A91475F7-6CF0-4564-A585-071D95CDC3A1}"
90+
EndProject
91+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yarp.ReverseProxy.Kubernetes.Tests", "test\ReverseProxy.Kubernetes.Tests\Yarp.ReverseProxy.Kubernetes.Tests.csproj", "{46E9889F-7355-433A-98D8-972D8D90C6D0}"
92+
EndProject
6993
Global
7094
GlobalSection(SolutionConfigurationPlatforms) = preSolution
7195
Debug|Any CPU = Debug|Any CPU
@@ -258,6 +282,86 @@ Global
258282
{6FE9874A-87B9-42C6-B19C-065A97CC6360}.Release|Any CPU.Build.0 = Release|Any CPU
259283
{6FE9874A-87B9-42C6-B19C-065A97CC6360}.Release|x64.ActiveCfg = Release|Any CPU
260284
{6FE9874A-87B9-42C6-B19C-065A97CC6360}.Release|x64.Build.0 = Release|Any CPU
285+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
286+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Debug|Any CPU.Build.0 = Debug|Any CPU
287+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Debug|x64.ActiveCfg = Debug|Any CPU
288+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Debug|x64.Build.0 = Debug|Any CPU
289+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Release|Any CPU.ActiveCfg = Release|Any CPU
290+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Release|Any CPU.Build.0 = Release|Any CPU
291+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Release|x64.ActiveCfg = Release|Any CPU
292+
{5C8E9658-39DA-4C27-A939-68F94B62110B}.Release|x64.Build.0 = Release|Any CPU
293+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
294+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Debug|Any CPU.Build.0 = Debug|Any CPU
295+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Debug|x64.ActiveCfg = Debug|Any CPU
296+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Debug|x64.Build.0 = Debug|Any CPU
297+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Release|Any CPU.ActiveCfg = Release|Any CPU
298+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Release|Any CPU.Build.0 = Release|Any CPU
299+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Release|x64.ActiveCfg = Release|Any CPU
300+
{4188D742-AC87-4CF4-86A0-3AB7AF034764}.Release|x64.Build.0 = Release|Any CPU
301+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
302+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
303+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Debug|x64.ActiveCfg = Debug|Any CPU
304+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Debug|x64.Build.0 = Debug|Any CPU
305+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
306+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Release|Any CPU.Build.0 = Release|Any CPU
307+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Release|x64.ActiveCfg = Release|Any CPU
308+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB}.Release|x64.Build.0 = Release|Any CPU
309+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
310+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Debug|Any CPU.Build.0 = Debug|Any CPU
311+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Debug|x64.ActiveCfg = Debug|Any CPU
312+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Debug|x64.Build.0 = Debug|Any CPU
313+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Release|Any CPU.ActiveCfg = Release|Any CPU
314+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Release|Any CPU.Build.0 = Release|Any CPU
315+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Release|x64.ActiveCfg = Release|Any CPU
316+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426}.Release|x64.Build.0 = Release|Any CPU
317+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
318+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Debug|Any CPU.Build.0 = Debug|Any CPU
319+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Debug|x64.ActiveCfg = Debug|Any CPU
320+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Debug|x64.Build.0 = Debug|Any CPU
321+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Release|Any CPU.ActiveCfg = Release|Any CPU
322+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Release|Any CPU.Build.0 = Release|Any CPU
323+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Release|x64.ActiveCfg = Release|Any CPU
324+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C}.Release|x64.Build.0 = Release|Any CPU
325+
{85EE0BDC-6962-448A-B317-041441513124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
326+
{85EE0BDC-6962-448A-B317-041441513124}.Debug|Any CPU.Build.0 = Debug|Any CPU
327+
{85EE0BDC-6962-448A-B317-041441513124}.Debug|x64.ActiveCfg = Debug|Any CPU
328+
{85EE0BDC-6962-448A-B317-041441513124}.Debug|x64.Build.0 = Debug|Any CPU
329+
{85EE0BDC-6962-448A-B317-041441513124}.Release|Any CPU.ActiveCfg = Release|Any CPU
330+
{85EE0BDC-6962-448A-B317-041441513124}.Release|Any CPU.Build.0 = Release|Any CPU
331+
{85EE0BDC-6962-448A-B317-041441513124}.Release|x64.ActiveCfg = Release|Any CPU
332+
{85EE0BDC-6962-448A-B317-041441513124}.Release|x64.Build.0 = Release|Any CPU
333+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
334+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Debug|Any CPU.Build.0 = Debug|Any CPU
335+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Debug|x64.ActiveCfg = Debug|Any CPU
336+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Debug|x64.Build.0 = Debug|Any CPU
337+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Release|Any CPU.ActiveCfg = Release|Any CPU
338+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Release|Any CPU.Build.0 = Release|Any CPU
339+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Release|x64.ActiveCfg = Release|Any CPU
340+
{B7BAB851-42BA-474A-9F48-ED74F88B610D}.Release|x64.Build.0 = Release|Any CPU
341+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
342+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Debug|Any CPU.Build.0 = Debug|Any CPU
343+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Debug|x64.ActiveCfg = Debug|Any CPU
344+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Debug|x64.Build.0 = Debug|Any CPU
345+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Release|Any CPU.ActiveCfg = Release|Any CPU
346+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Release|Any CPU.Build.0 = Release|Any CPU
347+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Release|x64.ActiveCfg = Release|Any CPU
348+
{EF2D9D76-C230-4880-8B6A-2286F48D868A}.Release|x64.Build.0 = Release|Any CPU
349+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
350+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
351+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Debug|x64.ActiveCfg = Debug|Any CPU
352+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Debug|x64.Build.0 = Debug|Any CPU
353+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
354+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Release|Any CPU.Build.0 = Release|Any CPU
355+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Release|x64.ActiveCfg = Release|Any CPU
356+
{A91475F7-6CF0-4564-A585-071D95CDC3A1}.Release|x64.Build.0 = Release|Any CPU
357+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
358+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
359+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Debug|x64.ActiveCfg = Debug|Any CPU
360+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Debug|x64.Build.0 = Debug|Any CPU
361+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
362+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Release|Any CPU.Build.0 = Release|Any CPU
363+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Release|x64.ActiveCfg = Release|Any CPU
364+
{46E9889F-7355-433A-98D8-972D8D90C6D0}.Release|x64.Build.0 = Release|Any CPU
261365
EndGlobalSection
262366
GlobalSection(SolutionProperties) = preSolution
263367
HideSolutionNode = FALSE
@@ -286,6 +390,18 @@ Global
286390
{AD5C2956-760C-4A3F-9894-C1590BEB8D54} = {149C61A2-D9F8-49B9-9F9B-3C953FEF53AA}
287391
{AE06F9BE-0B8D-4D02-9DC6-FE5A41FA4B5D} = {CDB73246-0A7E-4116-81E0-828228ECADDD}
288392
{6FE9874A-87B9-42C6-B19C-065A97CC6360} = {CDB73246-0A7E-4116-81E0-828228ECADDD}
393+
{5C8E9658-39DA-4C27-A939-68F94B62110B} = {6CBE18D4-64E9-492B-BB02-58CD57126C10}
394+
{4188D742-AC87-4CF4-86A0-3AB7AF034764} = {6CBE18D4-64E9-492B-BB02-58CD57126C10}
395+
{E2EF2CBC-94F0-47F4-87AD-00EACD0570AB} = {6CBE18D4-64E9-492B-BB02-58CD57126C10}
396+
{3A8C7CF8-1F32-474E-B68A-B548A3384BB4} = {6CBE18D4-64E9-492B-BB02-58CD57126C10}
397+
{E96BB4D7-EECC-4A78-BC7D-E167663FD6F2} = {3A8C7CF8-1F32-474E-B68A-B548A3384BB4}
398+
{EC716F93-C710-4D0E-BEB2-EB29BBD5F426} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
399+
{E6A1D5FD-F7E2-4683-9384-F30A1981953C} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
400+
{85EE0BDC-6962-448A-B317-041441513124} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
401+
{B7BAB851-42BA-474A-9F48-ED74F88B610D} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
402+
{EF2D9D76-C230-4880-8B6A-2286F48D868A} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
403+
{A91475F7-6CF0-4564-A585-071D95CDC3A1} = {E96BB4D7-EECC-4A78-BC7D-E167663FD6F2}
404+
{46E9889F-7355-433A-98D8-972D8D90C6D0} = {0631147E-34BB-456D-B214-5B202C516D5C}
289405
EndGlobalSection
290406
GlobalSection(ExtensibilityGlobals) = postSolution
291407
SolutionGuid = {31F6924A-E427-4830-96E9-B47CEB7BFE78}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System.Diagnostics;
6+
using Microsoft.AspNetCore.Hosting;
7+
using Microsoft.Extensions.Hosting;
8+
9+
namespace Backend
10+
{
11+
public class Program
12+
{
13+
public static void Main(string[] args)
14+
{
15+
Activity.DefaultIdFormat = ActivityIdFormat.W3C;
16+
CreateHostBuilder(args).Build().Run();
17+
}
18+
19+
public static IHostBuilder CreateHostBuilder(string[] args) =>
20+
Host.CreateDefaultBuilder(args)
21+
.ConfigureWebHostDefaults(webBuilder =>
22+
{
23+
webBuilder.UseStartup<Startup>();
24+
});
25+
}
26+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"iisSettings": {
3+
"windowsAuthentication": false,
4+
"anonymousAuthentication": true,
5+
"iisExpress": {
6+
"applicationUrl": "http://localhost:21017",
7+
"sslPort": 44378
8+
}
9+
},
10+
"profiles": {
11+
"IIS Express": {
12+
"commandName": "IISExpress",
13+
"launchBrowser": true,
14+
"environmentVariables": {
15+
"ASPNETCORE_ENVIRONMENT": "Development"
16+
}
17+
},
18+
"backend": {
19+
"commandName": "Project",
20+
"launchBrowser": true,
21+
"applicationUrl": "https://localhost:5002;http://localhost:5003",
22+
"environmentVariables": {
23+
"ASPNETCORE_ENVIRONMENT": "Development"
24+
}
25+
}
26+
}
27+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System.Net;
6+
using System.Text.Json;
7+
using Microsoft.AspNetCore.Builder;
8+
using Microsoft.AspNetCore.Hosting;
9+
using Microsoft.AspNetCore.Http.Features;
10+
using Microsoft.Extensions.Configuration;
11+
using Microsoft.Extensions.Hosting;
12+
13+
namespace Backend
14+
{
15+
public class Startup
16+
{
17+
private readonly JsonSerializerOptions options = new JsonSerializerOptions()
18+
{
19+
PropertyNameCaseInsensitive = true,
20+
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
21+
};
22+
23+
public Startup(IConfiguration configuration)
24+
{
25+
Configuration = configuration;
26+
}
27+
28+
public IConfiguration Configuration { get; }
29+
30+
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
31+
{
32+
if (env.IsDevelopment())
33+
{
34+
app.UseDeveloperExceptionPage();
35+
}
36+
37+
app.UseRouting();
38+
39+
app.UseEndpoints(endpoints =>
40+
{
41+
endpoints.MapGet("/", async context =>
42+
{
43+
var backendInfo = new BackendInfo()
44+
{
45+
IP = context.Connection.LocalIpAddress.ToString(),
46+
Hostname = Dns.GetHostName(),
47+
};
48+
49+
context.Response.ContentType = "application/json; charset=utf-8";
50+
await JsonSerializer.SerializeAsync(context.Response.Body, backendInfo);
51+
});
52+
53+
endpoints.MapGet("/bar", async context =>
54+
{
55+
var backendInfo = new BackendInfo()
56+
{
57+
IP = context.Connection.LocalIpAddress.ToString(),
58+
Hostname = Dns.GetHostName(),
59+
};
60+
61+
context.Response.ContentType = "application/json; charset=utf-8";
62+
await JsonSerializer.SerializeAsync(context.Response.Body, backendInfo);
63+
});
64+
});
65+
}
66+
67+
class BackendInfo
68+
{
69+
public string IP { get; set; } = default!;
70+
71+
public string Hostname { get; set; } = default!;
72+
}
73+
}
74+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft": "Warning",
6+
"Microsoft.Hosting.Lifetime": "Information"
7+
}
8+
}
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft": "Warning",
6+
"Microsoft.Hosting.Lifetime": "Information"
7+
}
8+
},
9+
"AllowedHosts": "*"
10+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net5.0</TargetFramework>
5+
<RootNamespace>Backend</RootNamespace>
6+
</PropertyGroup>
7+
8+
</Project>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.26124.0
5+
MinimumVisualStudioVersion = 15.0.26124.0
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "backend", "backend\backend.csproj", "{E900C6D9-7A87-49E3-93E5-97E6402E3939}"
7+
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "frontend", "frontend\frontend.csproj", "{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}"
9+
EndProject
10+
Global
11+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
13+
Debug|x64 = Debug|x64
14+
Debug|x86 = Debug|x86
15+
Release|Any CPU = Release|Any CPU
16+
Release|x64 = Release|x64
17+
Release|x86 = Release|x86
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
23+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|Any CPU.Build.0 = Debug|Any CPU
25+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|x64.ActiveCfg = Debug|Any CPU
26+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|x64.Build.0 = Debug|Any CPU
27+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|x86.ActiveCfg = Debug|Any CPU
28+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Debug|x86.Build.0 = Debug|Any CPU
29+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|Any CPU.ActiveCfg = Release|Any CPU
30+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|Any CPU.Build.0 = Release|Any CPU
31+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|x64.ActiveCfg = Release|Any CPU
32+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|x64.Build.0 = Release|Any CPU
33+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|x86.ActiveCfg = Release|Any CPU
34+
{E900C6D9-7A87-49E3-93E5-97E6402E3939}.Release|x86.Build.0 = Release|Any CPU
35+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
36+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|Any CPU.Build.0 = Debug|Any CPU
37+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|x64.ActiveCfg = Debug|Any CPU
38+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|x64.Build.0 = Debug|Any CPU
39+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|x86.ActiveCfg = Debug|Any CPU
40+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Debug|x86.Build.0 = Debug|Any CPU
41+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|Any CPU.ActiveCfg = Release|Any CPU
42+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|Any CPU.Build.0 = Release|Any CPU
43+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|x64.ActiveCfg = Release|Any CPU
44+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|x64.Build.0 = Release|Any CPU
45+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|x86.ActiveCfg = Release|Any CPU
46+
{3BCACB4B-8506-4A5C-B4EE-FC76627EBE11}.Release|x86.Build.0 = Release|Any CPU
47+
EndGlobalSection
48+
EndGlobal
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System.Diagnostics;
6+
using Microsoft.AspNetCore.Hosting;
7+
using Microsoft.Extensions.Hosting;
8+
9+
namespace Frontend
10+
{
11+
public class Program
12+
{
13+
public static void Main(string[] args)
14+
{
15+
Activity.DefaultIdFormat = ActivityIdFormat.W3C;
16+
CreateHostBuilder(args).Build().Run();
17+
}
18+
19+
public static IHostBuilder CreateHostBuilder(string[] args) =>
20+
Host.CreateDefaultBuilder(args)
21+
.ConfigureWebHostDefaults(webBuilder =>
22+
{
23+
webBuilder.UseStartup<Startup>();
24+
});
25+
}
26+
}

0 commit comments

Comments
 (0)