Files
zap-stream-api/NostrStreamer/Config.cs
2023-07-29 17:43:19 +01:00

62 lines
1.5 KiB
C#

namespace NostrStreamer;
public class Config
{
/// <summary>
/// Bitcoin network
/// </summary>
public string Network { get; init; } = "mainnet";
/// <summary>
/// Ingest URL
/// </summary>
public Uri RtmpHost { get; init; } = null!;
/// <summary>
/// SRS api server host
/// </summary>
public Uri SrsApiHost { get; init; } = null!;
/// <summary>
/// SRS Http server host
/// </summary>
public Uri SrsHttpHost { get; init; } = null!;
/// <summary>
/// Public host where playlists are located
/// </summary>
public Uri DataHost { get; init; } = null!;
/// <summary>
/// Public URL for the api
/// </summary>
public Uri ApiHost { get; init; } = null!;
public string PrivateKey { get; init; } = null!;
public string[] Relays { get; init; } = Array.Empty<string>();
public LndConfig Lnd { get; init; } = null!;
public S3BlobConfig DvrStore { get; init; } = null!;
}
public class LndConfig
{
public Uri Endpoint { get; init; } = null!;
public string CertPath { get; init; } = null!;
public string MacaroonPath { get; init; } = null!;
}
public sealed class S3BlobConfig
{
public string Name { get; init; } = null!;
public string AccessKey { get; init; } = null!;
public string SecretKey { get; init; } = null!;
public Uri ServiceUrl { get; init; } = null!;
public string? Region { get; init; }
public string BucketName { get; init; } = "zap-stream-dvr";
public bool DisablePayloadSigning { get; init; }
}