Compare commits
	
		
			2 Commits
		
	
	
		
			fc6cee17d7
			...
			e78858b7b4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e78858b7b4 | |||
| 636b674229 | 
| @@ -12,7 +12,8 @@ | |||||||
|   "ConnectionStrings": { |   "ConnectionStrings": { | ||||||
|     "App": "Host=localhost;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", |     "App": "Host=localhost;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", | ||||||
|     "FastRetrieve": "localhost:6379", |     "FastRetrieve": "localhost:6379", | ||||||
|     "Etcd": "etcd.orb.local:2379" |     "Etcd": "etcd.orb.local:2379", | ||||||
|  |     "Stream": "nats.orb.local:4222" | ||||||
|   }, |   }, | ||||||
|   "KnownProxies": [ |   "KnownProxies": [ | ||||||
|     "127.0.0.1", |     "127.0.0.1", | ||||||
|   | |||||||
| @@ -12,7 +12,8 @@ | |||||||
|   "ConnectionStrings": { |   "ConnectionStrings": { | ||||||
|     "App": "Host=localhost;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", |     "App": "Host=localhost;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", | ||||||
|     "FastRetrieve": "localhost:6379", |     "FastRetrieve": "localhost:6379", | ||||||
|     "Etcd": "etcd.orb.local:2379" |     "Etcd": "etcd.orb.local:2379", | ||||||
|  |     "Stream": "nats.orb.local:4222" | ||||||
|   }, |   }, | ||||||
|   "Authentication": { |   "Authentication": { | ||||||
|     "Schemes": { |     "Schemes": { | ||||||
|   | |||||||
| @@ -76,6 +76,26 @@ public class RegistryProxyConfigProvider : IProxyConfigProvider, IDisposable | |||||||
|  |  | ||||||
|         var gatewayServiceName = _configuration["Service:Name"]; |         var gatewayServiceName = _configuration["Service:Name"]; | ||||||
|  |  | ||||||
|  |         // Add direct route for /cgi to Gateway | ||||||
|  |         var gatewayCluster = new ClusterConfig | ||||||
|  |         { | ||||||
|  |             ClusterId = "gateway-self", | ||||||
|  |             Destinations = new Dictionary<string, DestinationConfig> | ||||||
|  |             { | ||||||
|  |                 { "self", new DestinationConfig { Address = _configuration["Kestrel:Endpoints:Http:Url"] ?? "http://localhost:5000" } } | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |         clusters.Add(gatewayCluster); | ||||||
|  |  | ||||||
|  |         var cgiRoute = new RouteConfig | ||||||
|  |         { | ||||||
|  |             RouteId = "gateway-cgi-route", | ||||||
|  |             ClusterId = "gateway-self", | ||||||
|  |             Match = new RouteMatch { Path = "/cgi/{**catch-all}" } | ||||||
|  |         }; | ||||||
|  |         routes.Add(cgiRoute); | ||||||
|  |         _logger.LogInformation("    Added CGI Route: /cgi/** -> Gateway"); | ||||||
|  |  | ||||||
|         // Add direct routes |         // Add direct routes | ||||||
|         foreach (var directRoute in directRoutes) |         foreach (var directRoute in directRoutes) | ||||||
|         { |         { | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ | |||||||
|             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||||
|             <PrivateAssets>all</PrivateAssets> |             <PrivateAssets>all</PrivateAssets> | ||||||
|         </PackageReference> |         </PackageReference> | ||||||
|  |         <PackageReference Include="NATS.Client.Core" Version="2.6.6" /> | ||||||
|         <PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115"> |         <PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115"> | ||||||
|             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||||
|             <PrivateAssets>all</PrivateAssets> |             <PrivateAssets>all</PrivateAssets> | ||||||
|   | |||||||
| @@ -12,7 +12,8 @@ | |||||||
|   "ConnectionStrings": { |   "ConnectionStrings": { | ||||||
|     "App": "Host=localhost;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", |     "App": "Host=localhost;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", | ||||||
|     "FastRetrieve": "localhost:6379", |     "FastRetrieve": "localhost:6379", | ||||||
|     "Etcd": "etcd.orb.local:2379" |     "Etcd": "etcd.orb.local:2379", | ||||||
|  |     "Stream": "nats.orb.local:4222" | ||||||
|   }, |   }, | ||||||
|   "Authentication": { |   "Authentication": { | ||||||
|     "Schemes": { |     "Schemes": { | ||||||
|   | |||||||
| @@ -11,7 +11,8 @@ | |||||||
|   "ConnectionStrings": { |   "ConnectionStrings": { | ||||||
|     "App": "Host=localhost;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", |     "App": "Host=localhost;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", | ||||||
|     "FastRetrieve": "localhost:6379", |     "FastRetrieve": "localhost:6379", | ||||||
|     "Etcd": "etcd.orb.local:2379" |     "Etcd": "etcd.orb.local:2379", | ||||||
|  |     "Stream": "nats.orb.local:4222" | ||||||
|   }, |   }, | ||||||
|   "Notifications": { |   "Notifications": { | ||||||
|     "Push": { |     "Push": { | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
|         <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" /> |         <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" /> | ||||||
|         <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.7" /> |         <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.7" /> | ||||||
|         <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.7" /> |         <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.7" /> | ||||||
|  |         <PackageReference Include="NATS.Client.Core" Version="2.6.6" /> | ||||||
|         <PackageReference Include="NetTopologySuite" Version="2.6.0" /> |         <PackageReference Include="NetTopologySuite" Version="2.6.0" /> | ||||||
|         <PackageReference Include="NodaTime" Version="3.2.2" /> |         <PackageReference Include="NodaTime" Version="3.2.2" /> | ||||||
|         <PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.2.0" /> |         <PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.2.0" /> | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								DysonNetwork.Shared/Stream/AccountEvent.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								DysonNetwork.Shared/Stream/AccountEvent.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | using NodaTime; | ||||||
|  |  | ||||||
|  | namespace DysonNetwork.Shared.Stream; | ||||||
|  |  | ||||||
|  | public class AccountDeletedEvent | ||||||
|  | { | ||||||
|  |     public Guid AccountId { get; set; } = Guid.NewGuid(); | ||||||
|  |     public Instant DeletedAt { get; set; } = SystemClock.Instance.GetCurrentInstant(); | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								DysonNetwork.Shared/Stream/Connector.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								DysonNetwork.Shared/Stream/Connector.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | using Microsoft.Extensions.Configuration; | ||||||
|  | using Microsoft.Extensions.DependencyInjection; | ||||||
|  | using NATS.Client.Core; | ||||||
|  |  | ||||||
|  | namespace DysonNetwork.Shared.Stream; | ||||||
|  |  | ||||||
|  | public static class Connector | ||||||
|  | { | ||||||
|  |     public static IServiceCollection AddStreamConnection(this IServiceCollection services, IConfiguration configuration) | ||||||
|  |     { | ||||||
|  |         var connectionString = configuration.GetConnectionString("Stream"); | ||||||
|  |         if (connectionString is null) | ||||||
|  |             throw new ArgumentNullException(nameof(connectionString)); | ||||||
|  |         services.AddSingleton<INatsConnection>(_ => new NatsConnection(new NatsOpts() | ||||||
|  |         { | ||||||
|  |             Url = connectionString | ||||||
|  |         })); | ||||||
|  |          | ||||||
|  |         return services; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -30,6 +30,7 @@ | |||||||
|             <PrivateAssets>all</PrivateAssets> |             <PrivateAssets>all</PrivateAssets> | ||||||
|             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||||
|         </PackageReference> |         </PackageReference> | ||||||
|  |         <PackageReference Include="NATS.Client.Core" Version="2.6.6" /> | ||||||
|         <PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115"> |         <PackageReference Include="Nerdbank.GitVersioning" Version="3.7.115"> | ||||||
|             <PrivateAssets>all</PrivateAssets> |             <PrivateAssets>all</PrivateAssets> | ||||||
|             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||||
|   | |||||||
| @@ -12,7 +12,8 @@ | |||||||
|   "ConnectionStrings": { |   "ConnectionStrings": { | ||||||
|     "App": "Host=localhost;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", |     "App": "Host=localhost;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60", | ||||||
|     "FastRetrieve": "localhost:6379", |     "FastRetrieve": "localhost:6379", | ||||||
|     "Etcd": "etcd.orb.local:2379" |     "Etcd": "etcd.orb.local:2379", | ||||||
|  |     "Stream": "nats.orb.local:4222" | ||||||
|   }, |   }, | ||||||
|   "GeoIp": { |   "GeoIp": { | ||||||
|     "DatabasePath": "./Keys/GeoLite2-City.mmdb" |     "DatabasePath": "./Keys/GeoLite2-City.mmdb" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user