PlanTempusAdmin/Models/CaddyHost.cs

53 lines
1 KiB
C#
Raw Permalink Normal View History

2026-02-03 00:17:08 +01:00
namespace PlanTempusAdmin.Models;
public class CaddyHost
{
public string Hostname { get; set; } = string.Empty;
public string[] Addresses { get; set; } = Array.Empty<string>();
public bool Tls { get; set; }
public string? Upstream { get; set; }
}
public class CaddyConfig
{
public CaddyApps? Apps { get; set; }
}
public class CaddyApps
{
public CaddyHttpApp? Http { get; set; }
}
public class CaddyHttpApp
{
public Dictionary<string, CaddyServer>? Servers { get; set; }
}
public class CaddyServer
{
public string[]? Listen { get; set; }
public CaddyRoute[]? Routes { get; set; }
}
public class CaddyRoute
{
public CaddyMatch[]? Match { get; set; }
public CaddyHandle[]? Handle { get; set; }
}
public class CaddyMatch
{
public string[]? Host { get; set; }
}
public class CaddyHandle
{
public string Handler { get; set; } = string.Empty;
public CaddyUpstream[]? Upstreams { get; set; }
}
public class CaddyUpstream
{
public string Dial { get; set; } = string.Empty;
}