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