Files
webhook-server/src/WebhookServer.Service/ServicePaths.cs
T
justin 8ecfe84540 Initial WebhookServer implementation
Add the .NET 8 solution scaffolded against PLAN.md. Three projects share
WebhookServer.Core (models, auth, execution, storage, IPC, callbacks)
and WebhookServer.Service hosts an embedded Kestrel listener plus the
named-pipe admin server. WebhookServer.Gui is a thin MVVM client over
the pipe. Includes 25 unit tests covering HMAC verification, bearer
auth, IP allowlist parsing, arg-template rendering, DPAPI round-trip,
and the encrypt-on-save config store.

Install/uninstall PowerShell scripts default to LocalSystem and accept
a domain user or gMSA via -ServiceAccount.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 22:04:52 -04:00

17 lines
695 B
C#

namespace WebhookServer.Service;
/// <summary>
/// Standard locations for runtime files (config + logs). Centralised so they're easy
/// to override in tests and inspect in one place.
/// </summary>
public static class ServicePaths
{
public static string DataRoot { get; } =
Environment.GetEnvironmentVariable("WEBHOOKSERVER_DATA")
?? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "WebhookServer");
public static string ConfigPath => Path.Combine(DataRoot, "config.json");
public static string LogsDir => Path.Combine(DataRoot, "logs");
public static string LogFileTemplate => Path.Combine(LogsDir, "webhook-.log");
}