POST /api/publish: rendert SiteSnapshot->HTML in _staging_new/, atomic swap -> live/ (rename, ein Syscall). publicsite-nginx:alpine serviert live/ read-only auf Port 8081. Shared Volume api(rw)/publicsite(ro). Manager bleibt LAN-only. 5 neue Tests (atomic swap, UTF-8, mehrfach), 184/184 gruen. compose config OK. Vhost-Snippet + web-deploy.md (Deutsch) beigelegt; <DOMAIN> wartet auf Julian.
17 lines
544 B
C#
17 lines
544 B
C#
namespace GerbilManagerWebAPI.Cms
|
|
{
|
|
/// <summary>
|
|
/// WEB-2: path where POST /api/publish writes the rendered static site.
|
|
/// Env var: PublicSite__RootPath (empty = publish disabled, returns 503).
|
|
/// In production this volume is shared with the publicsite-nginx container.
|
|
/// </summary>
|
|
public sealed class PublicSiteOptions
|
|
{
|
|
public const string SectionName = "PublicSite";
|
|
|
|
public string? RootPath { get; set; }
|
|
|
|
public bool IsConfigured => !string.IsNullOrWhiteSpace(RootPath);
|
|
}
|
|
}
|