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
release-manifest-verify / verify (push) Has been cancelled
- Implement comprehensive tests for PackRunAttestationService, covering attestation generation, verification, and event emission. - Add tests for SealedInstallEnforcer to validate sealed install requirements and enforcement logic. - Introduce a MonacoLoaderService stub for testing purposes to prevent Monaco workers/styles from loading during Karma runs.
215 lines
6.9 KiB
C#
215 lines
6.9 KiB
C#
using StellaOps.Policy.Registry.Contracts;
|
|
|
|
namespace StellaOps.Policy.Registry;
|
|
|
|
/// <summary>
|
|
/// Typed HTTP client for Policy Registry API.
|
|
/// Based on OpenAPI: docs/schemas/policy-registry-api.openapi.yaml
|
|
/// </summary>
|
|
public interface IPolicyRegistryClient
|
|
{
|
|
// ============================================================
|
|
// VERIFICATION POLICY OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<VerificationPolicyList> ListVerificationPoliciesAsync(
|
|
Guid tenantId,
|
|
PaginationParams? pagination = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<VerificationPolicy> CreateVerificationPolicyAsync(
|
|
Guid tenantId,
|
|
CreateVerificationPolicyRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<VerificationPolicy> GetVerificationPolicyAsync(
|
|
Guid tenantId,
|
|
string policyId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<VerificationPolicy> UpdateVerificationPolicyAsync(
|
|
Guid tenantId,
|
|
string policyId,
|
|
UpdateVerificationPolicyRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task DeleteVerificationPolicyAsync(
|
|
Guid tenantId,
|
|
string policyId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// POLICY PACK OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<PolicyPackList> ListPolicyPacksAsync(
|
|
Guid tenantId,
|
|
PolicyPackStatus? status = null,
|
|
PaginationParams? pagination = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<PolicyPack> CreatePolicyPackAsync(
|
|
Guid tenantId,
|
|
CreatePolicyPackRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<PolicyPack> GetPolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<PolicyPack> UpdatePolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
UpdatePolicyPackRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task DeletePolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<CompilationResult> CompilePolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<SimulationResult> SimulatePolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
SimulationRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<PolicyPack> PublishPolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
PublishRequest? request = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<PolicyPack> PromotePolicyPackAsync(
|
|
Guid tenantId,
|
|
Guid packId,
|
|
PromoteRequest? request = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// SNAPSHOT OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<SnapshotList> ListSnapshotsAsync(
|
|
Guid tenantId,
|
|
PaginationParams? pagination = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Snapshot> CreateSnapshotAsync(
|
|
Guid tenantId,
|
|
CreateSnapshotRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Snapshot> GetSnapshotAsync(
|
|
Guid tenantId,
|
|
Guid snapshotId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task DeleteSnapshotAsync(
|
|
Guid tenantId,
|
|
Guid snapshotId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Snapshot> GetSnapshotByDigestAsync(
|
|
Guid tenantId,
|
|
string digest,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// VIOLATION OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<ViolationList> ListViolationsAsync(
|
|
Guid tenantId,
|
|
Severity? severity = null,
|
|
PaginationParams? pagination = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Violation> AppendViolationAsync(
|
|
Guid tenantId,
|
|
CreateViolationRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<ViolationBatchResult> AppendViolationBatchAsync(
|
|
Guid tenantId,
|
|
ViolationBatchRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Violation> GetViolationAsync(
|
|
Guid tenantId,
|
|
Guid violationId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// OVERRIDE OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<Override> CreateOverrideAsync(
|
|
Guid tenantId,
|
|
CreateOverrideRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Override> GetOverrideAsync(
|
|
Guid tenantId,
|
|
Guid overrideId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task DeleteOverrideAsync(
|
|
Guid tenantId,
|
|
Guid overrideId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Override> ApproveOverrideAsync(
|
|
Guid tenantId,
|
|
Guid overrideId,
|
|
ApproveOverrideRequest? request = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<Override> DisableOverrideAsync(
|
|
Guid tenantId,
|
|
Guid overrideId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// SEALED MODE OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<SealedModeStatus> GetSealedModeStatusAsync(
|
|
Guid tenantId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<SealedModeStatus> SealAsync(
|
|
Guid tenantId,
|
|
SealRequest? request = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<SealedModeStatus> UnsealAsync(
|
|
Guid tenantId,
|
|
UnsealRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<BundleVerificationResult> VerifyBundleAsync(
|
|
Guid tenantId,
|
|
VerifyBundleRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
// ============================================================
|
|
// STALENESS OPERATIONS
|
|
// ============================================================
|
|
|
|
Task<StalenessStatus> GetStalenessStatusAsync(
|
|
Guid tenantId,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task<StalenessEvaluation> EvaluateStalenessAsync(
|
|
Guid tenantId,
|
|
EvaluateStalenessRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
}
|