up
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace StellaOps.Zastava.Observer.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for emitting runtime reachability facts to Signals.
|
||||
/// </summary>
|
||||
public sealed class ReachabilityRuntimeOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Enables runtime reachability fact publishing when true.
|
||||
/// </summary>
|
||||
public bool Enabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Signals endpoint that accepts runtime facts (JSON or NDJSON).
|
||||
/// </summary>
|
||||
[Required(AllowEmptyStrings = false)]
|
||||
public string Endpoint { get; set; } = "https://signals.internal/signals/runtime-facts";
|
||||
|
||||
/// <summary>
|
||||
/// Required callgraph identifier used to correlate runtime facts with static graphs.
|
||||
/// </summary>
|
||||
[Required(AllowEmptyStrings = false)]
|
||||
public string CallgraphId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Optional analysis identifier forwarded as X-Analysis-Id.
|
||||
/// </summary>
|
||||
public string? AnalysisId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Maximum number of facts sent in a single publish attempt.
|
||||
/// </summary>
|
||||
[Range(1, 5000)]
|
||||
public int BatchSize { get; set; } = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum delay (seconds) before flushing a partially filled batch.
|
||||
/// </summary>
|
||||
[Range(typeof(double), "0.1", "30")]
|
||||
public double FlushIntervalSeconds { get; set; } = 2;
|
||||
|
||||
/// <summary>
|
||||
/// Optional subject fallback when image data is missing.
|
||||
/// </summary>
|
||||
public string? SubjectScanId { get; set; }
|
||||
|
||||
public string? SubjectImageDigest { get; set; }
|
||||
|
||||
public string? SubjectComponent { get; set; }
|
||||
|
||||
public string? SubjectVersion { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user