feat(docker): Gracefully reload Caddy configuration
All checks were successful
Caddy Manager CI build / docker (push) Successful in 11m33s

This commit is contained in:
2026-07-26 11:39:59 +07:00
parent 284036b549
commit d0687c9134
10 changed files with 200 additions and 22 deletions

View File

@@ -0,0 +1,17 @@
namespace CaddyManager.Contracts.Docker;
/// <summary>
/// Result of a graceful Caddy configuration reload
/// </summary>
public class CaddyReloadResponse
{
/// <summary>
/// Indicates whether Caddy accepted and applied the configuration
/// </summary>
public bool Success { get; set; }
/// <summary>
/// Output from Caddy when the reload failed, typically the configuration validation error
/// </summary>
public string Message { get; set; } = string.Empty;
}

View File

@@ -10,4 +10,11 @@ public interface IDockerService
/// </summary>
/// <returns></returns>
Task RestartCaddyContainerAsync();
/// <summary>
/// Method to gracefully reload the Caddy configuration without restarting the container. Caddy validates the
/// configuration before applying it, so a broken configuration leaves the running one untouched.
/// </summary>
/// <returns>Whether the reload succeeded, along with Caddy's output when it did not</returns>
Task<CaddyReloadResponse> ReloadCaddyContainerAsync();
}