feat: Initialize Zastava Webhook service with TLS and Authority authentication
- Added Program.cs to set up the web application with Serilog for logging, health check endpoints, and a placeholder admission endpoint. - Configured Kestrel server to use TLS 1.3 and handle client certificates appropriately. - Created StellaOps.Zastava.Webhook.csproj with necessary dependencies including Serilog and Polly. - Documented tasks in TASKS.md for the Zastava Webhook project, outlining current work and exit criteria for each task.
This commit is contained in:
		
							
								
								
									
										84
									
								
								Mongo2Go-4.1.0/src/MongoDownloader/DataModel.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								Mongo2Go-4.1.0/src/MongoDownloader/DataModel.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Text.Json.Serialization; | ||||
|  | ||||
| // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global | ||||
| // ReSharper disable ClassNeverInstantiated.Global | ||||
| // ReSharper disable CollectionNeverUpdated.Global | ||||
|  | ||||
| namespace MongoDownloader | ||||
| { | ||||
|     public enum Platform | ||||
|     { | ||||
|         Linux, | ||||
|         // ReSharper disable once InconsistentNaming | ||||
|         macOS, | ||||
|         Windows, | ||||
|     } | ||||
|  | ||||
|     public enum Product | ||||
|     { | ||||
|         CommunityServer, | ||||
|         DatabaseTools, | ||||
|     } | ||||
|  | ||||
|     /// <summary> | ||||
|     /// The root object of the JSON describing the available releases. | ||||
|     /// </summary> | ||||
|     public class Release | ||||
|     { | ||||
|         [JsonPropertyName("versions")] | ||||
|         public List<Version> Versions { get; set; } = new(); | ||||
|     } | ||||
|  | ||||
|     public class Version | ||||
|     { | ||||
|         [JsonPropertyName("version")] | ||||
|         public string Number { get; set; } = ""; | ||||
|  | ||||
|         [JsonPropertyName("production_release")] | ||||
|         public bool Production { get; set; } = false; | ||||
|  | ||||
|         [JsonPropertyName("downloads")] | ||||
|         public List<Download> Downloads { get; set; } = new(); | ||||
|     } | ||||
|  | ||||
|     public class Download | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Used to identify the platform for the Community Server archives | ||||
|         /// </summary> | ||||
|         [JsonPropertyName("target")] | ||||
|         public string Target { get; set; } = ""; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Used to identify the platform for the Database Tools archives | ||||
|         /// </summary> | ||||
|         [JsonPropertyName("name")] | ||||
|         public string Name { get; set; } = ""; | ||||
|  | ||||
|         [JsonPropertyName("arch")] | ||||
|         public string Arch { get; set; } = ""; | ||||
|  | ||||
|         [JsonPropertyName("edition")] | ||||
|         public string Edition { get; set; } = ""; | ||||
|  | ||||
|         [JsonPropertyName("archive")] | ||||
|         public Archive Archive { get; set; } = new(); | ||||
|  | ||||
|         public Product Product { get; set; } | ||||
|  | ||||
|         public Platform Platform { get; set; } | ||||
|  | ||||
|         public Architecture Architecture { get; set; } | ||||
|  | ||||
|         public override string ToString() => $"{Product} for {Platform}/{Architecture.ToString().ToLowerInvariant()}"; | ||||
|     } | ||||
|  | ||||
|     public class Archive | ||||
|     { | ||||
|         [JsonPropertyName("url")] | ||||
|         public Uri Url { get; set; } = default!; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user