up
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
This commit is contained in:
@@ -137,6 +137,85 @@ internal static class Program
|
||||
services.AddSingleton<IScannerExecutor, ScannerExecutor>();
|
||||
services.AddSingleton<IScannerInstaller, ScannerInstaller>();
|
||||
|
||||
// CLI-FORENSICS-53-001: Forensic snapshot client
|
||||
services.AddHttpClient<IForensicSnapshotClient, ForensicSnapshotClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromMinutes(5);
|
||||
if (!string.IsNullOrWhiteSpace(options.BackendUrl) &&
|
||||
Uri.TryCreate(options.BackendUrl, UriKind.Absolute, out var backendUri))
|
||||
{
|
||||
client.BaseAddress = backendUri;
|
||||
}
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "forensic-api");
|
||||
|
||||
// CLI-FORENSICS-54-001: Forensic verifier (local only, no HTTP)
|
||||
services.AddSingleton<IForensicVerifier, ForensicVerifier>();
|
||||
|
||||
// CLI-FORENSICS-54-002: Attestation reader (local only, no HTTP)
|
||||
services.AddSingleton<IAttestationReader, AttestationReader>();
|
||||
|
||||
// CLI-LNM-22-002: VEX observations client
|
||||
services.AddHttpClient<IVexObservationsClient, VexObservationsClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromMinutes(2);
|
||||
if (!string.IsNullOrWhiteSpace(options.BackendUrl) &&
|
||||
Uri.TryCreate(options.BackendUrl, UriKind.Absolute, out var backendUri))
|
||||
{
|
||||
client.BaseAddress = backendUri;
|
||||
}
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "vex-api");
|
||||
|
||||
// CLI-PROMO-70-001: Promotion assembler (local, may call crane/cosign)
|
||||
services.AddHttpClient<IPromotionAssembler, PromotionAssembler>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromMinutes(5);
|
||||
});
|
||||
|
||||
// CLI-DETER-70-003: Determinism harness (local only, executes docker)
|
||||
services.AddSingleton<IDeterminismHarness, DeterminismHarness>();
|
||||
|
||||
// CLI-OBS-51-001: Observability client for health metrics
|
||||
services.AddHttpClient<IObservabilityClient, ObservabilityClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(30);
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "observability-api");
|
||||
|
||||
// CLI-PACKS-42-001: Pack client for Task Pack operations
|
||||
services.AddHttpClient<IPackClient, PackClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromMinutes(10); // Pack operations may take longer
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "packs-api");
|
||||
|
||||
// CLI-EXC-25-001: Exception client for exception governance operations
|
||||
services.AddHttpClient<IExceptionClient, ExceptionClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(60);
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "exceptions-api");
|
||||
|
||||
// CLI-ORCH-32-001: Orchestrator client for source/job management
|
||||
services.AddHttpClient<IOrchestratorClient, OrchestratorClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(60);
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "orchestrator-api");
|
||||
|
||||
// CLI-PARITY-41-001: SBOM client for SBOM explorer
|
||||
services.AddHttpClient<ISbomClient, SbomClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(60);
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "sbom-api");
|
||||
|
||||
// CLI-PARITY-41-002: Notify client for notification management
|
||||
services.AddHttpClient<INotifyClient, NotifyClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(60);
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "notify-api");
|
||||
|
||||
// CLI-SBOM-60-001: Sbomer client for layer/compose operations
|
||||
services.AddHttpClient<ISbomerClient, SbomerClient>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromMinutes(5); // Composition may take longer
|
||||
}).AddEgressPolicyGuard("stellaops-cli", "sbomer-api");
|
||||
|
||||
await using var serviceProvider = services.BuildServiceProvider();
|
||||
var loggerFactory = serviceProvider.GetRequiredService<ILoggerFactory>();
|
||||
var startupLogger = loggerFactory.CreateLogger("StellaOps.Cli.Startup");
|
||||
|
||||
Reference in New Issue
Block a user