Add Policy DSL Validator, Schema Exporter, and Simulation Smoke tools
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Implemented PolicyDslValidator with command-line options for strict mode and JSON output. - Created PolicySchemaExporter to generate JSON schemas for policy-related models. - Developed PolicySimulationSmoke tool to validate policy simulations against expected outcomes. - Added project files and necessary dependencies for each tool. - Ensured proper error handling and usage instructions across tools.
This commit is contained in:
422
out/analyzers/python/StellaOps.Auth.Abstractions.xml
Normal file
422
out/analyzers/python/StellaOps.Auth.Abstractions.xml
Normal file
@@ -0,0 +1,422 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StellaOps.Auth.Abstractions</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StellaOps.Auth.AuthorityTelemetry">
|
||||
<summary>
|
||||
Canonical telemetry metadata for the StellaOps Authority stack.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.AuthorityTelemetry.ServiceName">
|
||||
<summary>
|
||||
service.name resource attribute recorded by Authority components.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.AuthorityTelemetry.ServiceNamespace">
|
||||
<summary>
|
||||
service.namespace resource attribute aligning Authority with other StellaOps services.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.AuthorityTelemetry.ActivitySourceName">
|
||||
<summary>
|
||||
Activity source identifier used by Authority instrumentation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.AuthorityTelemetry.MeterName">
|
||||
<summary>
|
||||
Meter name used by Authority instrumentation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.AuthorityTelemetry.BuildDefaultResourceAttributes(System.Reflection.Assembly)">
|
||||
<summary>
|
||||
Builds the default set of resource attributes (service name/namespace/version).
|
||||
</summary>
|
||||
<param name="assembly">Optional assembly used to resolve the service version.</param>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.AuthorityTelemetry.ResolveServiceVersion(System.Reflection.Assembly)">
|
||||
<summary>
|
||||
Resolves the service version string from the provided assembly (defaults to the Authority telemetry assembly).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.NetworkMask">
|
||||
<summary>
|
||||
Represents an IP network expressed in CIDR notation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMask.#ctor(System.Net.IPAddress,System.Int32)">
|
||||
<summary>
|
||||
Initialises a new <see cref="T:StellaOps.Auth.Abstractions.NetworkMask"/>.
|
||||
</summary>
|
||||
<param name="network">Canonical network address with host bits zeroed.</param>
|
||||
<param name="prefixLength">Prefix length (0-32 for IPv4, 0-128 for IPv6).</param>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMask.Network">
|
||||
<summary>
|
||||
Canonical network address with host bits zeroed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMask.PrefixLength">
|
||||
<summary>
|
||||
Prefix length.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMask.Parse(System.String)">
|
||||
<summary>
|
||||
Attempts to parse the supplied value as CIDR notation or a single IP address.
|
||||
</summary>
|
||||
<exception cref="T:System.FormatException">Thrown when the input is not recognised.</exception>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMask.TryParse(System.String,StellaOps.Auth.Abstractions.NetworkMask@)">
|
||||
<summary>
|
||||
Attempts to parse the supplied value as CIDR notation or a single IP address.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMask.Contains(System.Net.IPAddress)">
|
||||
<summary>
|
||||
Determines whether the provided address belongs to this network.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMask.ToString">
|
||||
<inheritdoc />
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.NetworkMaskMatcher">
|
||||
<summary>
|
||||
Evaluates remote addresses against configured network masks.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMaskMatcher.#ctor(System.Collections.Generic.IEnumerable{System.String})">
|
||||
<summary>
|
||||
Creates a matcher from raw CIDR strings.
|
||||
</summary>
|
||||
<param name="values">Sequence of CIDR entries or IP addresses.</param>
|
||||
<exception cref="T:System.FormatException">Thrown when a value cannot be parsed.</exception>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMaskMatcher.#ctor(System.Collections.Generic.IEnumerable{StellaOps.Auth.Abstractions.NetworkMask})">
|
||||
<summary>
|
||||
Creates a matcher from already parsed masks.
|
||||
</summary>
|
||||
<param name="masks">Sequence of network masks.</param>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMaskMatcher.AllowAll">
|
||||
<summary>
|
||||
Gets a matcher that allows every address.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMaskMatcher.DenyAll">
|
||||
<summary>
|
||||
Gets a matcher that denies every address (no masks configured).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMaskMatcher.IsEmpty">
|
||||
<summary>
|
||||
Indicates whether this matcher has no masks configured and does not allow all.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.NetworkMaskMatcher.Masks">
|
||||
<summary>
|
||||
Returns the configured masks.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.NetworkMaskMatcher.IsAllowed(System.Net.IPAddress)">
|
||||
<summary>
|
||||
Checks whether the provided address matches any of the configured masks.
|
||||
</summary>
|
||||
<param name="address">Remote address to test.</param>
|
||||
<returns><c>true</c> when the address is allowed.</returns>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.StellaOpsAuthenticationDefaults">
|
||||
<summary>
|
||||
Default authentication constants used by StellaOps resource servers and clients.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsAuthenticationDefaults.AuthenticationScheme">
|
||||
<summary>
|
||||
Default authentication scheme for StellaOps bearer tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsAuthenticationDefaults.AuthenticationType">
|
||||
<summary>
|
||||
Logical authentication type attached to <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsAuthenticationDefaults.PolicyPrefix">
|
||||
<summary>
|
||||
Policy prefix applied to named authorization policies.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.StellaOpsClaimTypes">
|
||||
<summary>
|
||||
Canonical claim type identifiers used across StellaOps services.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.Subject">
|
||||
<summary>
|
||||
Subject identifier claim (maps to <c>sub</c> in JWTs).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.Tenant">
|
||||
<summary>
|
||||
StellaOps tenant identifier claim (multi-tenant deployments).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.ClientId">
|
||||
<summary>
|
||||
OAuth2/OIDC client identifier claim (maps to <c>client_id</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.TokenId">
|
||||
<summary>
|
||||
Unique token identifier claim (maps to <c>jti</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.AuthenticationMethod">
|
||||
<summary>
|
||||
Authentication method reference claim (<c>amr</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.Scope">
|
||||
<summary>
|
||||
Space separated scope list (<c>scope</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.ScopeItem">
|
||||
<summary>
|
||||
Individual scope items (<c>scp</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.Audience">
|
||||
<summary>
|
||||
OAuth2 resource audiences (<c>aud</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.IdentityProvider">
|
||||
<summary>
|
||||
Identity provider hint for downstream services.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsClaimTypes.SessionId">
|
||||
<summary>
|
||||
Session identifier claim (<c>sid</c>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder">
|
||||
<summary>
|
||||
Fluent helper used to construct <see cref="T:System.Security.Claims.ClaimsPrincipal"/> instances that follow StellaOps conventions.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithSubject(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the canonical subject identifier.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithClientId(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the canonical client identifier.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithTenant(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the tenant identifier claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithName(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the user display name claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithIdentityProvider(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the identity provider claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithSessionId(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the session identifier claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithTokenId(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the token identifier claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithAuthenticationMethod(System.String)">
|
||||
<summary>
|
||||
Adds or replaces the authentication method reference claim.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithNameClaimType(System.String)">
|
||||
<summary>
|
||||
Sets the name claim type appended when building the <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithRoleClaimType(System.String)">
|
||||
<summary>
|
||||
Sets the role claim type appended when building the <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithAuthenticationType(System.String)">
|
||||
<summary>
|
||||
Sets the authentication type stamped on the <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithScopes(System.Collections.Generic.IEnumerable{System.String})">
|
||||
<summary>
|
||||
Registers the supplied scopes (normalised to lower-case, deduplicated, sorted).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithAudiences(System.Collections.Generic.IEnumerable{System.String})">
|
||||
<summary>
|
||||
Registers the supplied audiences (trimmed, deduplicated, sorted).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithAudience(System.String)">
|
||||
<summary>
|
||||
Adds a single audience.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.AddClaim(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Adds an arbitrary claim (no deduplication is performed).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.AddClaims(System.Collections.Generic.IEnumerable{System.Security.Claims.Claim})">
|
||||
<summary>
|
||||
Adds multiple claims (incoming claims are cloned to enforce value trimming).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithIssuedAt(System.DateTimeOffset)">
|
||||
<summary>
|
||||
Adds an <c>iat</c> (issued at) claim using Unix time seconds.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithNotBefore(System.DateTimeOffset)">
|
||||
<summary>
|
||||
Adds an <c>nbf</c> (not before) claim using Unix time seconds.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.WithExpires(System.DateTimeOffset)">
|
||||
<summary>
|
||||
Adds an <c>exp</c> (expires) claim using Unix time seconds.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.NormalizedScopes">
|
||||
<summary>
|
||||
Returns the normalised scope list (deduplicated + sorted).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.Audiences">
|
||||
<summary>
|
||||
Returns the normalised audience list (deduplicated + sorted).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsPrincipalBuilder.Build">
|
||||
<summary>
|
||||
Builds the immutable <see cref="T:System.Security.Claims.ClaimsPrincipal"/> instance based on the registered data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.StellaOpsProblemResultFactory">
|
||||
<summary>
|
||||
Factory helpers for returning RFC 7807 problem responses using StellaOps conventions.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsProblemResultFactory.AuthenticationRequired(System.String,System.String)">
|
||||
<summary>
|
||||
Produces a 401 problem response indicating authentication is required.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsProblemResultFactory.InvalidToken(System.String,System.String)">
|
||||
<summary>
|
||||
Produces a 401 problem response for invalid, expired, or revoked tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsProblemResultFactory.Forbidden(System.String,System.String)">
|
||||
<summary>
|
||||
Produces a 403 problem response when access is denied.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsProblemResultFactory.InsufficientScope(System.Collections.Generic.IReadOnlyCollection{System.String},System.Collections.Generic.IReadOnlyCollection{System.String},System.String)">
|
||||
<summary>
|
||||
Produces a 403 problem response for insufficient scopes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Abstractions.StellaOpsScopes">
|
||||
<summary>
|
||||
Canonical scope names supported by StellaOps services.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.ConcelierJobsTrigger">
|
||||
<summary>
|
||||
Scope required to trigger Concelier jobs.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.ConcelierMerge">
|
||||
<summary>
|
||||
Scope required to manage Concelier merge operations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AuthorityUsersManage">
|
||||
<summary>
|
||||
Scope granting administrative access to Authority user management.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AuthorityClientsManage">
|
||||
<summary>
|
||||
Scope granting administrative access to Authority client registrations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AuthorityAuditRead">
|
||||
<summary>
|
||||
Scope granting read-only access to Authority audit logs.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.Bypass">
|
||||
<summary>
|
||||
Synthetic scope representing trusted network bypass.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AdvisoryRead">
|
||||
<summary>
|
||||
Scope granting read-only access to raw advisory ingestion data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AdvisoryIngest">
|
||||
<summary>
|
||||
Scope granting write access for raw advisory ingestion.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.VexRead">
|
||||
<summary>
|
||||
Scope granting read-only access to raw VEX ingestion data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.VexIngest">
|
||||
<summary>
|
||||
Scope granting write access for raw VEX ingestion.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:StellaOps.Auth.Abstractions.StellaOpsScopes.AocVerify">
|
||||
<summary>
|
||||
Scope granting permission to execute aggregation-only contract verification.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsScopes.Normalize(System.String)">
|
||||
<summary>
|
||||
Normalises a scope string (trim/convert to lower case).
|
||||
</summary>
|
||||
<param name="scope">Scope raw value.</param>
|
||||
<returns>Normalised scope or <c>null</c> when the input is blank.</returns>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Abstractions.StellaOpsScopes.IsKnown(System.String)">
|
||||
<summary>
|
||||
Checks whether the provided scope is registered as a built-in StellaOps scope.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Abstractions.StellaOpsScopes.All">
|
||||
<summary>
|
||||
Returns the full set of built-in scopes.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
233
out/analyzers/python/StellaOps.Auth.Client.xml
Normal file
233
out/analyzers/python/StellaOps.Auth.Client.xml
Normal file
@@ -0,0 +1,233 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StellaOps.Auth.Client</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StellaOps.Auth.Client.FileTokenCache">
|
||||
<summary>
|
||||
File-based token cache suitable for CLI/offline usage.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.InMemoryTokenCache">
|
||||
<summary>
|
||||
In-memory token cache suitable for service scenarios.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.IStellaOpsTokenCache">
|
||||
<summary>
|
||||
Abstraction for caching StellaOps tokens.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.GetAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves a cached token entry, if present.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.SetAsync(System.String,StellaOps.Auth.Client.StellaOpsTokenCacheEntry,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Stores or updates a token entry for the specified key.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenCache.RemoveAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Removes the cached entry for the specified key.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.IStellaOpsTokenClient">
|
||||
<summary>
|
||||
Abstraction for requesting tokens from StellaOps Authority.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.RequestPasswordTokenAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Requests an access token using the resource owner password credentials flow.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.RequestClientCredentialsTokenAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Requests an access token using the client credentials flow.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.GetJsonWebKeySetAsync(System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves the cached JWKS document.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.GetCachedTokenAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Retrieves a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.CacheTokenAsync(System.String,StellaOps.Auth.Client.StellaOpsTokenCacheEntry,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Persists a token entry in the cache.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.IStellaOpsTokenClient.ClearCachedTokenAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Removes a cached entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.ServiceCollectionExtensions">
|
||||
<summary>
|
||||
DI helpers for the StellaOps auth client.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.ServiceCollectionExtensions.AddStellaOpsAuthClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{StellaOps.Auth.Client.StellaOpsAuthClientOptions})">
|
||||
<summary>
|
||||
Registers the StellaOps auth client with the provided configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.ServiceCollectionExtensions.AddStellaOpsFileTokenCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
|
||||
<summary>
|
||||
Registers a file-backed token cache implementation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsAuthClientOptions">
|
||||
<summary>
|
||||
Options controlling the StellaOps authentication client.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.Authority">
|
||||
<summary>
|
||||
Authority (issuer) base URL.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ClientId">
|
||||
<summary>
|
||||
OAuth client identifier (optional for password flow).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ClientSecret">
|
||||
<summary>
|
||||
OAuth client secret (optional for public clients).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.DefaultScopes">
|
||||
<summary>
|
||||
Default scopes requested for flows that do not explicitly override them.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.RetryDelays">
|
||||
<summary>
|
||||
Retry delays applied by HTTP retry policy (empty uses defaults).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.EnableRetries">
|
||||
<summary>
|
||||
Gets or sets a value indicating whether HTTP retry policies are enabled.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.HttpTimeout">
|
||||
<summary>
|
||||
Timeout applied to discovery and token HTTP requests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.DiscoveryCacheLifetime">
|
||||
<summary>
|
||||
Lifetime of cached discovery metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.JwksCacheLifetime">
|
||||
<summary>
|
||||
Lifetime of cached JWKS metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.ExpirationSkew">
|
||||
<summary>
|
||||
Buffer applied when determining cache expiration (default: 30 seconds).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.AllowOfflineCacheFallback">
|
||||
<summary>
|
||||
Gets or sets a value indicating whether cached discovery/JWKS responses may be served when the Authority is unreachable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.OfflineCacheTolerance">
|
||||
<summary>
|
||||
Additional tolerance window during which stale cache entries remain valid if offline fallback is allowed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.AuthorityUri">
|
||||
<summary>
|
||||
Parsed Authority URI (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.NormalizedScopes">
|
||||
<summary>
|
||||
Normalised scope list (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StellaOps.Auth.Client.StellaOpsAuthClientOptions.NormalizedRetryDelays">
|
||||
<summary>
|
||||
Normalised retry delays (populated after validation).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsAuthClientOptions.Validate">
|
||||
<summary>
|
||||
Validates required values and normalises scope entries.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsDiscoveryCache">
|
||||
<summary>
|
||||
Caches Authority discovery metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.OpenIdConfiguration">
|
||||
<summary>
|
||||
Minimal OpenID Connect configuration representation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.OpenIdConfiguration.#ctor(System.Uri,System.Uri)">
|
||||
<summary>
|
||||
Minimal OpenID Connect configuration representation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsJwksCache">
|
||||
<summary>
|
||||
Caches JWKS documents for Authority.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenCacheEntry">
|
||||
<summary>
|
||||
Represents a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.#ctor(System.String,System.String,System.DateTimeOffset,System.Collections.Generic.IReadOnlyList{System.String},System.String,System.String,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})">
|
||||
<summary>
|
||||
Represents a cached token entry.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.IsExpired(System.TimeProvider,System.Nullable{System.TimeSpan})">
|
||||
<summary>
|
||||
Determines whether the token is expired given the provided <see cref="T:System.TimeProvider"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenCacheEntry.NormalizeScopes">
|
||||
<summary>
|
||||
Creates a copy with scopes normalised.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenClient">
|
||||
<summary>
|
||||
Default implementation of <see cref="T:StellaOps.Auth.Client.IStellaOpsTokenClient"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:StellaOps.Auth.Client.StellaOpsTokenResult">
|
||||
<summary>
|
||||
Represents an issued token with metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenResult.#ctor(System.String,System.String,System.DateTimeOffset,System.Collections.Generic.IReadOnlyList{System.String},System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Represents an issued token with metadata.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StellaOps.Auth.Client.StellaOpsTokenResult.ToCacheEntry">
|
||||
<summary>
|
||||
Converts the result to a cache entry.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,858 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"StellaOps.Scanner.Analyzers.Lang.Python/1.0.0": {
|
||||
"dependencies": {
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Scanner.Analyzers.Lang": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Scanner.Analyzers.Lang.Python.dll": {}
|
||||
}
|
||||
},
|
||||
"Konscious.Security.Cryptography.Argon2/1.3.1": {
|
||||
"dependencies": {
|
||||
"Konscious.Security.Cryptography.Blake2": "1.1.1"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Konscious.Security.Cryptography.Argon2.dll": {
|
||||
"assemblyVersion": "1.3.1.0",
|
||||
"fileVersion": "1.3.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Konscious.Security.Cryptography.Blake2/1.1.1": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Konscious.Security.Cryptography.Blake2.dll": {
|
||||
"assemblyVersion": "1.1.1.0",
|
||||
"fileVersion": "1.1.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Binder/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.FileExtensions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.FileProviders.Physical": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Json/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.FileExtensions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Configuration.Json.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Diagnostics/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Diagnostics.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.FileProviders.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.FileProviders.Physical/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.FileSystemGlobbing": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.FileProviders.Physical.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.FileSystemGlobbing/10.0.0-rc.2.25502.107": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Http/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Diagnostics": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Logging": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Http.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Http.Polly/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Http": "10.0.0-rc.2.25502.107",
|
||||
"Polly": "7.2.4",
|
||||
"Polly.Extensions.Http": "3.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Http.Polly.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Logging.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Options.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0-rc.2.25502.107": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Binder": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Primitives": "10.0.0-rc.2.25502.107"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/10.0.0-rc.2.25502.107": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"assemblyVersion": "10.0.0.0",
|
||||
"fileVersion": "10.0.25.50307"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.Abstractions/8.14.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.IdentityModel.Abstractions.dll": {
|
||||
"assemblyVersion": "8.14.0.0",
|
||||
"fileVersion": "8.14.0.60815"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.JsonWebTokens/7.2.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.Tokens": "8.14.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
|
||||
"assemblyVersion": "7.2.0.0",
|
||||
"fileVersion": "7.2.0.50110"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.Logging/8.14.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.Abstractions": "8.14.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.IdentityModel.Logging.dll": {
|
||||
"assemblyVersion": "8.14.0.0",
|
||||
"fileVersion": "8.14.0.60815"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.IdentityModel.Tokens/8.14.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.IdentityModel.Logging": "8.14.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.IdentityModel.Tokens.dll": {
|
||||
"assemblyVersion": "8.14.0.0",
|
||||
"fileVersion": "8.14.0.60815"
|
||||
}
|
||||
}
|
||||
},
|
||||
"NetEscapades.Configuration.Yaml/2.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.FileExtensions": "10.0.0-rc.2.25502.107",
|
||||
"YamlDotNet": "9.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/NetEscapades.Configuration.Yaml.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Pipelines.Sockets.Unofficial/2.2.8": {
|
||||
"runtime": {
|
||||
"lib/net5.0/Pipelines.Sockets.Unofficial.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "2.2.8.1080"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Polly/7.2.4": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Polly.dll": {
|
||||
"assemblyVersion": "7.0.0.0",
|
||||
"fileVersion": "7.2.4.982"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Polly.Extensions.Http/3.0.0": {
|
||||
"dependencies": {
|
||||
"Polly": "7.2.4"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Polly.Extensions.Http.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SharpCompress/0.41.0": {
|
||||
"dependencies": {
|
||||
"ZstdSharp.Port": "0.8.6"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/SharpCompress.dll": {
|
||||
"assemblyVersion": "0.41.0.0",
|
||||
"fileVersion": "0.41.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StackExchange.Redis/2.8.24": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Pipelines.Sockets.Unofficial": "2.2.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/StackExchange.Redis.dll": {
|
||||
"assemblyVersion": "2.0.0.0",
|
||||
"fileVersion": "2.8.24.3255"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.IdentityModel.Tokens.Jwt/7.2.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.JsonWebTokens": "7.2.0",
|
||||
"Microsoft.IdentityModel.Tokens": "8.14.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
|
||||
"assemblyVersion": "7.2.0.0",
|
||||
"fileVersion": "7.2.0.50110"
|
||||
}
|
||||
}
|
||||
},
|
||||
"YamlDotNet/9.1.0": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.1/YamlDotNet.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ZstdSharp.Port/0.8.6": {
|
||||
"runtime": {
|
||||
"lib/net9.0/ZstdSharp.dll": {
|
||||
"assemblyVersion": "0.8.6.0",
|
||||
"fileVersion": "0.8.6.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Auth.Abstractions/1.0.0-preview.1": {
|
||||
"dependencies": {
|
||||
"SharpCompress": "0.41.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Auth.Abstractions.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Auth.Client/1.0.0-preview.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Http.Polly": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.IdentityModel.Tokens": "8.14.0",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Auth.Abstractions": "1.0.0-preview.1",
|
||||
"StellaOps.Configuration": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Auth.Client.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Auth.Security/1.0.0-preview.1": {
|
||||
"dependencies": {
|
||||
"Microsoft.IdentityModel.Tokens": "8.14.0",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StackExchange.Redis": "2.8.24",
|
||||
"System.IdentityModel.Tokens.Jwt": "7.2.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Auth.Security.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Authority.Plugins.Abstractions/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Auth.Abstractions": "1.0.0-preview.1",
|
||||
"StellaOps.Cryptography": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Authority.Plugins.Abstractions.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Configuration/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Binder": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.FileExtensions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Configuration.Json": "10.0.0-rc.2.25502.107",
|
||||
"NetEscapades.Configuration.Yaml": "2.1.0",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Authority.Plugins.Abstractions": "1.0.0",
|
||||
"StellaOps.Cryptography": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Configuration.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Cryptography/1.0.0": {
|
||||
"dependencies": {
|
||||
"Konscious.Security.Cryptography.Argon2": "1.3.1",
|
||||
"Microsoft.IdentityModel.Tokens": "8.14.0",
|
||||
"SharpCompress": "0.41.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Cryptography.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.DependencyInjection/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"SharpCompress": "0.41.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.DependencyInjection.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Plugin/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.DependencyInjection": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Plugin.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Scanner.Analyzers.Lang/1.0.0": {
|
||||
"dependencies": {
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Plugin": "1.0.0",
|
||||
"StellaOps.Scanner.Core": "1.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Scanner.Analyzers.Lang.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StellaOps.Scanner.Core/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.2.25502.107",
|
||||
"Microsoft.Extensions.Options": "10.0.0-rc.2.25502.107",
|
||||
"SharpCompress": "0.41.0",
|
||||
"StellaOps.Auth.Client": "1.0.0-preview.1",
|
||||
"StellaOps.Auth.Security": "1.0.0-preview.1"
|
||||
},
|
||||
"runtime": {
|
||||
"StellaOps.Scanner.Core.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StellaOps.Scanner.Analyzers.Lang.Python/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Konscious.Security.Cryptography.Argon2/1.3.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-T+OAGwzYYXftahpOxO7J4xA5K6urxwGnWQf3M+Jpi+76Azv/0T3M5SuN+h7/QvXuiqNw3ZEZ5QqVLI5ygDAylw==",
|
||||
"path": "konscious.security.cryptography.argon2/1.3.1",
|
||||
"hashPath": "konscious.security.cryptography.argon2.1.3.1.nupkg.sha512"
|
||||
},
|
||||
"Konscious.Security.Cryptography.Blake2/1.1.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-odwOyzj/J/lHJZNwFWJGU/LRecBShupAJ2S8TQqZfhUe9niHzu/voBYK5wuVKsvSpzbfupKQYZguVyIk1sgOkQ==",
|
||||
"path": "konscious.security.cryptography.blake2/1.1.1",
|
||||
"hashPath": "konscious.security.cryptography.blake2.1.1.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-273Ggibh3DdVrj47ENbUGIirOiqmLTAizpkvOD584Ps6NL/CMXPzesijnJgsjp7Fv/UCp69FKYBaSxZZ3q5R9g==",
|
||||
"path": "microsoft.extensions.configuration/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-H+i/Qy30Rg/K9BcW2Z6DCHPCzwMH3bCwNOjEz31shWTUDK8GeeeMnrKVusprTcRA2Y6yPST+hg2zc3whPEs14Q==",
|
||||
"path": "microsoft.extensions.configuration.abstractions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Binder/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-aA6/V6lw1Gueyb1PqhHAl/i/qUUuv+Fusfk4oaMOzzOjspBkYtPpNHCmml/0t1x0/DnZoed+u2WwpP+mSwd8Dg==",
|
||||
"path": "microsoft.extensions.configuration.binder/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.binder.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2SV60IUAWfluZv2YHNZ+nUOljYHGIsy96FpJs+N9/bgKDYs9qr6DdzPeIhiHrz+XvRzbybvcwtTBf5dKrYN4oA==",
|
||||
"path": "microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.FileExtensions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5KrgXSTFR8cFLmDXXoT7GLVvDyHNw0Z9xG4doD78Q/HdlAR4jiMzmLLS9GFXrPGopmC6qqEZr2VBJHEu16INcA==",
|
||||
"path": "microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Json/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-USwHuFz4BFKoaqSydHWH/d7Mr+fVsAh9S0S9pdsdHro1IixMbqQ9Gpo2sEZf25e3tZSq/ts6XsVmrQWmxmDhYA==",
|
||||
"path": "microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-mDw80K98jBWCyLFCra51PRv+Ttnjse1lZIzXEFybKby0/ajBFTEeHj/4r/QJexmb8Uun0yaFH1HlFtmHP1YEVA==",
|
||||
"path": "microsoft.extensions.dependencyinjection/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-8jujunpkNNfTkE9PFHp9/aD6GPKVfNCuz8tUbzOcyU5tQOCoIZId4hwQNVx3Tb8XEWw9BYdh0k5vPpqdCM+UtA==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Diagnostics/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tQfQFXI+ZQcL2RzDarDLx3Amh0WCp1KPGp1ie3y/CMV5hDhEq98WTmcMoXrFY0GkYLEaCQlVi2A6qVLcooG2Ow==",
|
||||
"path": "microsoft.extensions.diagnostics/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.diagnostics.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-x6XVv3RiwOlN2unjyX/Zat0gI0HiRoDDdjkwBCwsMftYWpbJu4SiyRwDbrv2zAF8v8nbEEvcWi3/pUxZfaqLQw==",
|
||||
"path": "microsoft.extensions.diagnostics.abstractions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.FileProviders.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-dOpmW14MkOZIwV6269iXhoMp6alCHBoxqCR4pJ37GLjFaBIyzsIy+Ra8tsGmjHtFvEHKq0JRDIsb1PUkrK+yxw==",
|
||||
"path": "microsoft.extensions.fileproviders.abstractions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.FileProviders.Physical/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3+RiR6TEakDL0dCUqR7PjFffyrVMLdx/vAVBiN1mGmwScKYCTePIkYVkWsX85CTKh7R9J4M9C1MHzVdjbKcg3g==",
|
||||
"path": "microsoft.extensions.fileproviders.physical/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.fileproviders.physical.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.FileSystemGlobbing/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-XtcPOKB7sMFzj8SxaOglZV3eaqZ1GxUMVZTwaz4pRpBt0S45ghb836uUej4YaI8EzsnUJoqzOIKrTW4CDJMfVw==",
|
||||
"path": "microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Http/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-d60bvi/NpzkpVlSpxZqOfdjX1hrQgL/byWVc3PryjbmB7zvfLtqQbYifjEWToqtS0Fb1rGnkuVI5JEdOnK1tNQ==",
|
||||
"path": "microsoft.extensions.http/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.http.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Http.Polly/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-aY5vLcrhdXCHsCjYI2lNwfat2vdSuiPs0FFZiy7IM6zcyqdxaefG8J8ezTKkZyiuAtznjVJJT70B660l/WlsxA==",
|
||||
"path": "microsoft.extensions.http.polly/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.http.polly.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-q2C5gq86qkTmcYSJJSnw8sgTUyuqENYSOjk/NOYjHnYlKSrK3oI9Rjv1bWFpx2I3Btq9ZBEJb9aMM+IUQ0PvZA==",
|
||||
"path": "microsoft.extensions.logging/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.logging.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-SKKKZjyCpBaDQ7yuFjdk6ELnRBRWeZsbnzUfo59Wc4PGhgf92chE3we/QlT6nk6NqlWcUgH/jogM+B/uq/Qdnw==",
|
||||
"path": "microsoft.extensions.logging.abstractions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Ib6BCCjisp7ZUdhtNpSulFO0ODhz/IE4ZZd8OCqQWoRs363BQ0QOZi9KwpqpiEWo51S0kIXWqNicDPGXwpt9pQ==",
|
||||
"path": "microsoft.extensions.options/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.options.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-MFbT8+JKX49YCXEFvlZDzQzI/R3QKzRZlb4dSud+569cMgA9hWbndjWWvOgGASoRcXynGRrBSq1Bw3PeCsB5/Q==",
|
||||
"path": "microsoft.extensions.options.configurationextensions/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/10.0.0-rc.2.25502.107": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-9pm2zqqn5u/OsKs2zgkhJEQQeMx9KkVOWPdHrs7Kt5sfpk+eIh/gmpi/mMH/ljS2T/PFsFdCEtm+GS/6l7zoZA==",
|
||||
"path": "microsoft.extensions.primitives/10.0.0-rc.2.25502.107",
|
||||
"hashPath": "microsoft.extensions.primitives.10.0.0-rc.2.25502.107.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Abstractions/8.14.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==",
|
||||
"path": "microsoft.identitymodel.abstractions/8.14.0",
|
||||
"hashPath": "microsoft.identitymodel.abstractions.8.14.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.JsonWebTokens/7.2.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-zLFA9IBxDWw6Y1nz2PPZyQvF+ZZ4aW1pwgtwusQB39lgxOc2xVqZ8gitsuT1rwyuIbchGOWbax4fsJ8OgGRxSQ==",
|
||||
"path": "microsoft.identitymodel.jsonwebtokens/7.2.0",
|
||||
"hashPath": "microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Logging/8.14.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eqqnemdW38CKZEHS6diA50BV94QICozDZEvSrsvN3SJXUFwVB9gy+/oz76gldP7nZliA16IglXjXTCTdmU/Ejg==",
|
||||
"path": "microsoft.identitymodel.logging/8.14.0",
|
||||
"hashPath": "microsoft.identitymodel.logging.8.14.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.IdentityModel.Tokens/8.14.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lKIZiBiGd36k02TCdMHp1KlNWisyIvQxcYJvIkz7P4gSQ9zi8dgh6S5Grj8NNG7HWYIPfQymGyoZ6JB5d1Lo1g==",
|
||||
"path": "microsoft.identitymodel.tokens/8.14.0",
|
||||
"hashPath": "microsoft.identitymodel.tokens.8.14.0.nupkg.sha512"
|
||||
},
|
||||
"NetEscapades.Configuration.Yaml/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kNTX7kvRvbzBpLd3Vg9iu6t60tTyhVxsruAPgH6kl1GkAZIHLZw9cQysvjUenDU7JEnUgyxQnzfL8627ARDn+g==",
|
||||
"path": "netescapades.configuration.yaml/2.1.0",
|
||||
"hashPath": "netescapades.configuration.yaml.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"Pipelines.Sockets.Unofficial/2.2.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==",
|
||||
"path": "pipelines.sockets.unofficial/2.2.8",
|
||||
"hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512"
|
||||
},
|
||||
"Polly/7.2.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bw00Ck5sh6ekduDE3mnCo1ohzuad946uslCDEENu3091+6UKnBuKLo4e+yaNcCzXxOZCXWY2gV4a35+K1d4LDA==",
|
||||
"path": "polly/7.2.4",
|
||||
"hashPath": "polly.7.2.4.nupkg.sha512"
|
||||
},
|
||||
"Polly.Extensions.Http/3.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-drrG+hB3pYFY7w1c3BD+lSGYvH2oIclH8GRSehgfyP5kjnFnHKQuuBhuHLv+PWyFuaTDyk/vfRpnxOzd11+J8g==",
|
||||
"path": "polly.extensions.http/3.0.0",
|
||||
"hashPath": "polly.extensions.http.3.0.0.nupkg.sha512"
|
||||
},
|
||||
"SharpCompress/0.41.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-z04dBVdTIAFTRKi38f0LkajaKA++bR+M8kYCbasXePILD2H+qs7CkLpyiippB24CSbTrWIgpBKm6BenZqkUwvw==",
|
||||
"path": "sharpcompress/0.41.0",
|
||||
"hashPath": "sharpcompress.0.41.0.nupkg.sha512"
|
||||
},
|
||||
"StackExchange.Redis/2.8.24": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-GWllmsFAtLyhm4C47cOCipGxyEi1NQWTFUHXnJ8hiHOsK/bH3T5eLkWPVW+LRL6jDiB3g3izW3YEHgLuPoJSyA==",
|
||||
"path": "stackexchange.redis/2.8.24",
|
||||
"hashPath": "stackexchange.redis.2.8.24.nupkg.sha512"
|
||||
},
|
||||
"System.IdentityModel.Tokens.Jwt/7.2.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Z3Fmkrxkp+o51ANMO/PqASRRlEz8dH4mTWwZXMFMXZt2bUGztBiNcIDnwBCElYLYpzpmz4sIqHb6aW8QVLe6YQ==",
|
||||
"path": "system.identitymodel.tokens.jwt/7.2.0",
|
||||
"hashPath": "system.identitymodel.tokens.jwt.7.2.0.nupkg.sha512"
|
||||
},
|
||||
"YamlDotNet/9.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-fuvGXU4Ec5HrsmEc+BiFTNPCRf1cGBI2kh/3RzMWgddM2M4ALhbSPoI3X3mhXZUD1qqQd9oSkFAtWjpz8z9eRg==",
|
||||
"path": "yamldotnet/9.1.0",
|
||||
"hashPath": "yamldotnet.9.1.0.nupkg.sha512"
|
||||
},
|
||||
"ZstdSharp.Port/0.8.6": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-iP4jVLQoQmUjMU88g1WObiNr6YKZGvh4aOXn3yOJsHqZsflwRsxZPcIBvNXgjXO3vQKSLctXGLTpcBPLnWPS8A==",
|
||||
"path": "zstdsharp.port/0.8.6",
|
||||
"hashPath": "zstdsharp.port.0.8.6.nupkg.sha512"
|
||||
},
|
||||
"StellaOps.Auth.Abstractions/1.0.0-preview.1": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Auth.Client/1.0.0-preview.1": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Auth.Security/1.0.0-preview.1": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Authority.Plugins.Abstractions/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Configuration/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Cryptography/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.DependencyInjection/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Plugin/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Scanner.Analyzers.Lang/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"StellaOps.Scanner.Core/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
4
out/linknotmerge-bench.csv
Normal file
4
out/linknotmerge-bench.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
scenario,iterations,observations,aliases,linksets,mean_total_ms,p95_total_ms,max_total_ms,mean_insert_ms,mean_correlation_ms,mean_throughput_per_sec,min_throughput_per_sec,mean_mongo_throughput_per_sec,min_mongo_throughput_per_sec,max_allocated_mb
|
||||
lnm_ingest_baseline,5,5000,500,6000,555.1984,823.4957,866.6236,366.2635,188.9349,9877.7916,5769.5175,15338.0851,8405.1257,62.4477
|
||||
lnm_ingest_fanout_medium,5,10000,800,14800,785.8909,841.6247,842.8815,453.5087,332.3822,12794.9550,11864.0639,22086.0320,20891.0579,145.8328
|
||||
lnm_ingest_fanout_high,5,15000,1200,17400,1299.3458,1367.0934,1369.9430,741.6265,557.7193,11571.0991,10949.3607,20232.5180,19781.6762,238.3450
|
||||
|
84
out/linknotmerge-bench.json
Normal file
84
out/linknotmerge-bench.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"schemaVersion": "linknotmerge-bench/1.0",
|
||||
"capturedAt": "2025-10-26T21:09:17.6345283+00:00",
|
||||
"scenarios": [
|
||||
{
|
||||
"id": "lnm_ingest_baseline",
|
||||
"label": "5k observations, 500 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 5000,
|
||||
"aliases": 500,
|
||||
"linksets": 6000,
|
||||
"meanTotalMs": 555.1983600000001,
|
||||
"p95TotalMs": 823.49568,
|
||||
"maxTotalMs": 866.6236,
|
||||
"meanInsertMs": 366.2635,
|
||||
"meanCorrelationMs": 188.93486000000001,
|
||||
"meanThroughputPerSecond": 9877.791561756272,
|
||||
"minThroughputPerSecond": 5769.517469868118,
|
||||
"meanMongoThroughputPerSecond": 15338.085148262326,
|
||||
"minMongoThroughputPerSecond": 8405.1257146248,
|
||||
"maxAllocatedMb": 62.44767761230469,
|
||||
"thresholdMs": 900,
|
||||
"minThroughputThresholdPerSecond": 5500,
|
||||
"minMongoThroughputThresholdPerSecond": 8000,
|
||||
"maxAllocatedThresholdMb": 160,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "lnm_ingest_fanout_medium",
|
||||
"label": "10k observations, 800 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 10000,
|
||||
"aliases": 800,
|
||||
"linksets": 14800,
|
||||
"meanTotalMs": 785.89092,
|
||||
"p95TotalMs": 841.6247,
|
||||
"maxTotalMs": 842.8815,
|
||||
"meanInsertMs": 453.50868,
|
||||
"meanCorrelationMs": 332.38224,
|
||||
"meanThroughputPerSecond": 12794.954951406156,
|
||||
"minThroughputPerSecond": 11864.063928322072,
|
||||
"meanMongoThroughputPerSecond": 22086.032034175576,
|
||||
"minMongoThroughputPerSecond": 20891.057937797712,
|
||||
"maxAllocatedMb": 145.83282470703125,
|
||||
"thresholdMs": 1300,
|
||||
"minThroughputThresholdPerSecond": 8000,
|
||||
"minMongoThroughputThresholdPerSecond": 13000,
|
||||
"maxAllocatedThresholdMb": 220,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "lnm_ingest_fanout_high",
|
||||
"label": "15k observations, 1200 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 15000,
|
||||
"aliases": 1200,
|
||||
"linksets": 17400,
|
||||
"meanTotalMs": 1299.3458,
|
||||
"p95TotalMs": 1367.09344,
|
||||
"maxTotalMs": 1369.943,
|
||||
"meanInsertMs": 741.62654,
|
||||
"meanCorrelationMs": 557.71926,
|
||||
"meanThroughputPerSecond": 11571.099129140825,
|
||||
"minThroughputPerSecond": 10949.360666830664,
|
||||
"meanMongoThroughputPerSecond": 20232.5179777937,
|
||||
"minMongoThroughputPerSecond": 19781.676233305086,
|
||||
"maxAllocatedMb": 238.34496307373047,
|
||||
"thresholdMs": 2200,
|
||||
"minThroughputThresholdPerSecond": 7000,
|
||||
"minMongoThroughputThresholdPerSecond": 13000,
|
||||
"maxAllocatedThresholdMb": 300,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
60
out/linknotmerge-bench.prom
Normal file
60
out/linknotmerge-bench.prom
Normal file
@@ -0,0 +1,60 @@
|
||||
# HELP linknotmerge_bench_total_ms Link-Not-Merge benchmark total duration metrics (milliseconds).
|
||||
# TYPE linknotmerge_bench_total_ms gauge
|
||||
# HELP linknotmerge_bench_correlation_ms Link-Not-Merge benchmark correlation duration metrics (milliseconds).
|
||||
# TYPE linknotmerge_bench_correlation_ms gauge
|
||||
# HELP linknotmerge_bench_insert_ms Link-Not-Merge benchmark Mongo insert duration metrics (milliseconds).
|
||||
# TYPE linknotmerge_bench_insert_ms gauge
|
||||
# HELP linknotmerge_bench_throughput_per_sec Link-Not-Merge benchmark throughput metrics (observations per second).
|
||||
# TYPE linknotmerge_bench_throughput_per_sec gauge
|
||||
# HELP linknotmerge_bench_mongo_throughput_per_sec Link-Not-Merge benchmark Mongo throughput metrics (operations per second).
|
||||
# TYPE linknotmerge_bench_mongo_throughput_per_sec gauge
|
||||
# HELP linknotmerge_bench_allocated_mb Link-Not-Merge benchmark allocation metrics (megabytes).
|
||||
# TYPE linknotmerge_bench_allocated_mb gauge
|
||||
linknotmerge_bench_mean_total_ms{scenario="lnm_ingest_baseline"} 555.19836000000009
|
||||
linknotmerge_bench_p95_total_ms{scenario="lnm_ingest_baseline"} 823.49567999999999
|
||||
linknotmerge_bench_max_total_ms{scenario="lnm_ingest_baseline"} 866.62360000000001
|
||||
linknotmerge_bench_threshold_ms{scenario="lnm_ingest_baseline"} 900
|
||||
linknotmerge_bench_mean_correlation_ms{scenario="lnm_ingest_baseline"} 188.93486000000001
|
||||
linknotmerge_bench_mean_insert_ms{scenario="lnm_ingest_baseline"} 366.26350000000002
|
||||
linknotmerge_bench_mean_throughput_per_sec{scenario="lnm_ingest_baseline"} 9877.7915617562721
|
||||
linknotmerge_bench_min_throughput_per_sec{scenario="lnm_ingest_baseline"} 5769.5174698681176
|
||||
linknotmerge_bench_throughput_floor_per_sec{scenario="lnm_ingest_baseline"} 5500
|
||||
linknotmerge_bench_mean_mongo_throughput_per_sec{scenario="lnm_ingest_baseline"} 15338.085148262326
|
||||
linknotmerge_bench_min_mongo_throughput_per_sec{scenario="lnm_ingest_baseline"} 8405.1257146248008
|
||||
linknotmerge_bench_mongo_throughput_floor_per_sec{scenario="lnm_ingest_baseline"} 8000
|
||||
linknotmerge_bench_max_allocated_mb{scenario="lnm_ingest_baseline"} 62.447677612304688
|
||||
linknotmerge_bench_max_allocated_threshold_mb{scenario="lnm_ingest_baseline"} 160
|
||||
linknotmerge_bench_regression_limit{scenario="lnm_ingest_baseline"} 1.1499999999999999
|
||||
linknotmerge_bench_regression_breached{scenario="lnm_ingest_baseline"} 0
|
||||
linknotmerge_bench_mean_total_ms{scenario="lnm_ingest_fanout_medium"} 785.89092000000005
|
||||
linknotmerge_bench_p95_total_ms{scenario="lnm_ingest_fanout_medium"} 841.62469999999996
|
||||
linknotmerge_bench_max_total_ms{scenario="lnm_ingest_fanout_medium"} 842.88149999999996
|
||||
linknotmerge_bench_threshold_ms{scenario="lnm_ingest_fanout_medium"} 1300
|
||||
linknotmerge_bench_mean_correlation_ms{scenario="lnm_ingest_fanout_medium"} 332.38224000000002
|
||||
linknotmerge_bench_mean_insert_ms{scenario="lnm_ingest_fanout_medium"} 453.50868000000003
|
||||
linknotmerge_bench_mean_throughput_per_sec{scenario="lnm_ingest_fanout_medium"} 12794.954951406156
|
||||
linknotmerge_bench_min_throughput_per_sec{scenario="lnm_ingest_fanout_medium"} 11864.063928322072
|
||||
linknotmerge_bench_throughput_floor_per_sec{scenario="lnm_ingest_fanout_medium"} 8000
|
||||
linknotmerge_bench_mean_mongo_throughput_per_sec{scenario="lnm_ingest_fanout_medium"} 22086.032034175576
|
||||
linknotmerge_bench_min_mongo_throughput_per_sec{scenario="lnm_ingest_fanout_medium"} 20891.057937797712
|
||||
linknotmerge_bench_mongo_throughput_floor_per_sec{scenario="lnm_ingest_fanout_medium"} 13000
|
||||
linknotmerge_bench_max_allocated_mb{scenario="lnm_ingest_fanout_medium"} 145.83282470703125
|
||||
linknotmerge_bench_max_allocated_threshold_mb{scenario="lnm_ingest_fanout_medium"} 220
|
||||
linknotmerge_bench_regression_limit{scenario="lnm_ingest_fanout_medium"} 1.1499999999999999
|
||||
linknotmerge_bench_regression_breached{scenario="lnm_ingest_fanout_medium"} 0
|
||||
linknotmerge_bench_mean_total_ms{scenario="lnm_ingest_fanout_high"} 1299.3458000000001
|
||||
linknotmerge_bench_p95_total_ms{scenario="lnm_ingest_fanout_high"} 1367.0934400000001
|
||||
linknotmerge_bench_max_total_ms{scenario="lnm_ingest_fanout_high"} 1369.943
|
||||
linknotmerge_bench_threshold_ms{scenario="lnm_ingest_fanout_high"} 2200
|
||||
linknotmerge_bench_mean_correlation_ms{scenario="lnm_ingest_fanout_high"} 557.71925999999996
|
||||
linknotmerge_bench_mean_insert_ms{scenario="lnm_ingest_fanout_high"} 741.62653999999998
|
||||
linknotmerge_bench_mean_throughput_per_sec{scenario="lnm_ingest_fanout_high"} 11571.099129140825
|
||||
linknotmerge_bench_min_throughput_per_sec{scenario="lnm_ingest_fanout_high"} 10949.360666830664
|
||||
linknotmerge_bench_throughput_floor_per_sec{scenario="lnm_ingest_fanout_high"} 7000
|
||||
linknotmerge_bench_mean_mongo_throughput_per_sec{scenario="lnm_ingest_fanout_high"} 20232.517977793701
|
||||
linknotmerge_bench_min_mongo_throughput_per_sec{scenario="lnm_ingest_fanout_high"} 19781.676233305086
|
||||
linknotmerge_bench_mongo_throughput_floor_per_sec{scenario="lnm_ingest_fanout_high"} 13000
|
||||
linknotmerge_bench_max_allocated_mb{scenario="lnm_ingest_fanout_high"} 238.34496307373047
|
||||
linknotmerge_bench_max_allocated_threshold_mb{scenario="lnm_ingest_fanout_high"} 300
|
||||
linknotmerge_bench_regression_limit{scenario="lnm_ingest_fanout_high"} 1.1499999999999999
|
||||
linknotmerge_bench_regression_breached{scenario="lnm_ingest_fanout_high"} 0
|
||||
4
out/linknotmerge-vex-bench.csv
Normal file
4
out/linknotmerge-vex-bench.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
scenario,iterations,observations,statements,events,mean_total_ms,p95_total_ms,max_total_ms,mean_insert_ms,mean_correlation_ms,mean_observation_throughput_per_sec,min_observation_throughput_per_sec,mean_event_throughput_per_sec,min_event_throughput_per_sec,max_allocated_mb
|
||||
vex_ingest_baseline,5,4000,24000,21326,842.8191,1319.3038,1432.7675,346.7277,496.0915,5349.8940,2791.7998,48942.4901,24653.0556,138.6365
|
||||
vex_ingest_medium,5,8000,64000,56720,1525.9929,1706.8900,1748.9056,533.3378,992.6552,5274.5883,4574.2892,57654.9190,48531.7353,326.8638
|
||||
vex_ingest_high,5,12000,120000,106910,2988.5094,3422.1728,3438.9364,903.3927,2085.1167,4066.2300,3489.4510,52456.9493,42358.0556,583.9903
|
||||
|
84
out/linknotmerge-vex-bench.json
Normal file
84
out/linknotmerge-vex-bench.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"schemaVersion": "linknotmerge-vex-bench/1.0",
|
||||
"capturedAt": "2025-10-26T21:29:34.4007212+00:00",
|
||||
"scenarios": [
|
||||
{
|
||||
"id": "vex_ingest_baseline",
|
||||
"label": "4k observations, 400 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 4000,
|
||||
"statements": 24000,
|
||||
"events": 21326,
|
||||
"meanTotalMs": 842.81914,
|
||||
"p95TotalMs": 1319.3037799999997,
|
||||
"maxTotalMs": 1432.7675,
|
||||
"meanInsertMs": 346.72766,
|
||||
"meanCorrelationMs": 496.09147999999993,
|
||||
"meanObservationThroughputPerSecond": 5349.894040882909,
|
||||
"minObservationThroughputPerSecond": 2791.7997860783416,
|
||||
"meanEventThroughputPerSecond": 48942.49008943273,
|
||||
"minEventThroughputPerSecond": 24653.055581276763,
|
||||
"maxAllocatedMb": 138.63648986816406,
|
||||
"thresholdMs": 2300,
|
||||
"minObservationThroughputThresholdPerSecond": 1800,
|
||||
"minEventThroughputThresholdPerSecond": 2000,
|
||||
"maxAllocatedThresholdMb": 220,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "vex_ingest_medium",
|
||||
"label": "8k observations, 700 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 8000,
|
||||
"statements": 64000,
|
||||
"events": 56720,
|
||||
"meanTotalMs": 1525.99294,
|
||||
"p95TotalMs": 1706.89,
|
||||
"maxTotalMs": 1748.9056,
|
||||
"meanInsertMs": 533.3377800000001,
|
||||
"meanCorrelationMs": 992.6551599999999,
|
||||
"meanObservationThroughputPerSecond": 5274.588273225903,
|
||||
"minObservationThroughputPerSecond": 4574.289201201025,
|
||||
"meanEventThroughputPerSecond": 57654.91903920916,
|
||||
"minEventThroughputPerSecond": 48531.73532270095,
|
||||
"maxAllocatedMb": 326.8638000488281,
|
||||
"thresholdMs": 3200,
|
||||
"minObservationThroughputThresholdPerSecond": 2200,
|
||||
"minEventThroughputThresholdPerSecond": 2500,
|
||||
"maxAllocatedThresholdMb": 400,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "vex_ingest_high",
|
||||
"label": "12k observations, 1100 aliases",
|
||||
"iterations": 5,
|
||||
"observations": 12000,
|
||||
"statements": 120000,
|
||||
"events": 106910,
|
||||
"meanTotalMs": 2988.50936,
|
||||
"p95TotalMs": 3422.1728,
|
||||
"maxTotalMs": 3438.9364,
|
||||
"meanInsertMs": 903.3926800000002,
|
||||
"meanCorrelationMs": 2085.11668,
|
||||
"meanObservationThroughputPerSecond": 4066.2299506870645,
|
||||
"minObservationThroughputPerSecond": 3489.450982577055,
|
||||
"meanEventThroughputPerSecond": 52456.94928323016,
|
||||
"minEventThroughputPerSecond": 42358.05564361166,
|
||||
"maxAllocatedMb": 583.9903411865234,
|
||||
"thresholdMs": 4200,
|
||||
"minObservationThroughputThresholdPerSecond": 2200,
|
||||
"minEventThroughputThresholdPerSecond": 2500,
|
||||
"maxAllocatedThresholdMb": 700,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
50
out/linknotmerge-vex-bench.prom
Normal file
50
out/linknotmerge-vex-bench.prom
Normal file
@@ -0,0 +1,50 @@
|
||||
# HELP linknotmerge_vex_bench_total_ms Link-Not-Merge VEX benchmark total duration (milliseconds).
|
||||
# TYPE linknotmerge_vex_bench_total_ms gauge
|
||||
# HELP linknotmerge_vex_bench_throughput_per_sec Link-Not-Merge VEX benchmark observation throughput (observations per second).
|
||||
# TYPE linknotmerge_vex_bench_throughput_per_sec gauge
|
||||
# HELP linknotmerge_vex_bench_event_throughput_per_sec Link-Not-Merge VEX benchmark event throughput (events per second).
|
||||
# TYPE linknotmerge_vex_bench_event_throughput_per_sec gauge
|
||||
# HELP linknotmerge_vex_bench_allocated_mb Link-Not-Merge VEX benchmark max allocations (megabytes).
|
||||
# TYPE linknotmerge_vex_bench_allocated_mb gauge
|
||||
linknotmerge_vex_bench_mean_total_ms{scenario="vex_ingest_baseline"} 842.81913999999995
|
||||
linknotmerge_vex_bench_p95_total_ms{scenario="vex_ingest_baseline"} 1319.3037799999997
|
||||
linknotmerge_vex_bench_max_total_ms{scenario="vex_ingest_baseline"} 1432.7674999999999
|
||||
linknotmerge_vex_bench_threshold_ms{scenario="vex_ingest_baseline"} 2300
|
||||
linknotmerge_vex_bench_mean_observation_throughput_per_sec{scenario="vex_ingest_baseline"} 5349.8940408829094
|
||||
linknotmerge_vex_bench_min_observation_throughput_per_sec{scenario="vex_ingest_baseline"} 2791.7997860783416
|
||||
linknotmerge_vex_bench_observation_throughput_floor_per_sec{scenario="vex_ingest_baseline"} 1800
|
||||
linknotmerge_vex_bench_mean_event_throughput_per_sec{scenario="vex_ingest_baseline"} 48942.490089432729
|
||||
linknotmerge_vex_bench_min_event_throughput_per_sec{scenario="vex_ingest_baseline"} 24653.055581276763
|
||||
linknotmerge_vex_bench_event_throughput_floor_per_sec{scenario="vex_ingest_baseline"} 2000
|
||||
linknotmerge_vex_bench_max_allocated_mb{scenario="vex_ingest_baseline"} 138.63648986816406
|
||||
linknotmerge_vex_bench_max_allocated_threshold_mb{scenario="vex_ingest_baseline"} 220
|
||||
linknotmerge_vex_bench_regression_limit{scenario="vex_ingest_baseline"} 1.1499999999999999
|
||||
linknotmerge_vex_bench_regression_breached{scenario="vex_ingest_baseline"} 0
|
||||
linknotmerge_vex_bench_mean_total_ms{scenario="vex_ingest_medium"} 1525.9929400000001
|
||||
linknotmerge_vex_bench_p95_total_ms{scenario="vex_ingest_medium"} 1706.8900000000001
|
||||
linknotmerge_vex_bench_max_total_ms{scenario="vex_ingest_medium"} 1748.9056
|
||||
linknotmerge_vex_bench_threshold_ms{scenario="vex_ingest_medium"} 3200
|
||||
linknotmerge_vex_bench_mean_observation_throughput_per_sec{scenario="vex_ingest_medium"} 5274.5882732259033
|
||||
linknotmerge_vex_bench_min_observation_throughput_per_sec{scenario="vex_ingest_medium"} 4574.2892012010252
|
||||
linknotmerge_vex_bench_observation_throughput_floor_per_sec{scenario="vex_ingest_medium"} 2200
|
||||
linknotmerge_vex_bench_mean_event_throughput_per_sec{scenario="vex_ingest_medium"} 57654.919039209162
|
||||
linknotmerge_vex_bench_min_event_throughput_per_sec{scenario="vex_ingest_medium"} 48531.735322700952
|
||||
linknotmerge_vex_bench_event_throughput_floor_per_sec{scenario="vex_ingest_medium"} 2500
|
||||
linknotmerge_vex_bench_max_allocated_mb{scenario="vex_ingest_medium"} 326.86380004882812
|
||||
linknotmerge_vex_bench_max_allocated_threshold_mb{scenario="vex_ingest_medium"} 400
|
||||
linknotmerge_vex_bench_regression_limit{scenario="vex_ingest_medium"} 1.1499999999999999
|
||||
linknotmerge_vex_bench_regression_breached{scenario="vex_ingest_medium"} 0
|
||||
linknotmerge_vex_bench_mean_total_ms{scenario="vex_ingest_high"} 2988.50936
|
||||
linknotmerge_vex_bench_p95_total_ms{scenario="vex_ingest_high"} 3422.1727999999998
|
||||
linknotmerge_vex_bench_max_total_ms{scenario="vex_ingest_high"} 3438.9364
|
||||
linknotmerge_vex_bench_threshold_ms{scenario="vex_ingest_high"} 4200
|
||||
linknotmerge_vex_bench_mean_observation_throughput_per_sec{scenario="vex_ingest_high"} 4066.2299506870645
|
||||
linknotmerge_vex_bench_min_observation_throughput_per_sec{scenario="vex_ingest_high"} 3489.4509825770551
|
||||
linknotmerge_vex_bench_observation_throughput_floor_per_sec{scenario="vex_ingest_high"} 2200
|
||||
linknotmerge_vex_bench_mean_event_throughput_per_sec{scenario="vex_ingest_high"} 52456.949283230162
|
||||
linknotmerge_vex_bench_min_event_throughput_per_sec{scenario="vex_ingest_high"} 42358.05564361166
|
||||
linknotmerge_vex_bench_event_throughput_floor_per_sec{scenario="vex_ingest_high"} 2500
|
||||
linknotmerge_vex_bench_max_allocated_mb{scenario="vex_ingest_high"} 583.99034118652344
|
||||
linknotmerge_vex_bench_max_allocated_threshold_mb{scenario="vex_ingest_high"} 700
|
||||
linknotmerge_vex_bench_regression_limit{scenario="vex_ingest_high"} 1.1499999999999999
|
||||
linknotmerge_vex_bench_regression_breached{scenario="vex_ingest_high"} 0
|
||||
4
out/notify-bench.csv
Normal file
4
out/notify-bench.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
scenario,iterations,events,deliveries,mean_ms,p95_ms,max_ms,mean_throughput_per_sec,min_throughput_per_sec,max_allocated_mb
|
||||
notify_dispatch_density_05,5,5000,20000,3.4150,4.1722,4.3039,6053938.5172,4646948.1168,0.0000
|
||||
notify_dispatch_density_20,5,7500,675000,24.2274,25.8517,26.0526,27923335.5855,25909122.3141,0.0000
|
||||
notify_dispatch_density_40,5,10000,4000080,138.7387,147.7174,149.1124,28916602.9214,26825938.0172,0.0000
|
||||
|
84
out/notify-bench.json
Normal file
84
out/notify-bench.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"schemaVersion": "notify-dispatch-bench/1.0",
|
||||
"capturedAt": "2025-10-26T20:28:56.3603045+00:00",
|
||||
"scenarios": [
|
||||
{
|
||||
"id": "notify_dispatch_density_05",
|
||||
"label": "50 rules / 5% fanout",
|
||||
"iterations": 5,
|
||||
"totalEvents": 5000,
|
||||
"totalRules": 50,
|
||||
"actionsPerRule": 2,
|
||||
"averageMatchesPerEvent": 2,
|
||||
"minMatchesPerEvent": 2,
|
||||
"maxMatchesPerEvent": 2,
|
||||
"averageDeliveriesPerEvent": 4,
|
||||
"totalDeliveries": 20000,
|
||||
"meanMs": 3.41498,
|
||||
"p95Ms": 4.17216,
|
||||
"maxMs": 4.3039,
|
||||
"meanThroughputPerSecond": 6053938.51717893,
|
||||
"minThroughputPerSecond": 4646948.116824276,
|
||||
"maxAllocatedMb": 0,
|
||||
"thresholdMs": 400,
|
||||
"minThroughputThresholdPerSecond": 15000,
|
||||
"maxAllocatedThresholdMb": 128,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "notify_dispatch_density_20",
|
||||
"label": "150 rules / 20% fanout",
|
||||
"iterations": 5,
|
||||
"totalEvents": 7500,
|
||||
"totalRules": 150,
|
||||
"actionsPerRule": 3,
|
||||
"averageMatchesPerEvent": 30,
|
||||
"minMatchesPerEvent": 30,
|
||||
"maxMatchesPerEvent": 30,
|
||||
"averageDeliveriesPerEvent": 90,
|
||||
"totalDeliveries": 675000,
|
||||
"meanMs": 24.2274,
|
||||
"p95Ms": 25.85172,
|
||||
"maxMs": 26.0526,
|
||||
"meanThroughputPerSecond": 27923335.585545264,
|
||||
"minThroughputPerSecond": 25909122.314087655,
|
||||
"maxAllocatedMb": 0,
|
||||
"thresholdMs": 650,
|
||||
"minThroughputThresholdPerSecond": 30000,
|
||||
"maxAllocatedThresholdMb": 192,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "notify_dispatch_density_40",
|
||||
"label": "300 rules / 40% fanout",
|
||||
"iterations": 5,
|
||||
"totalEvents": 10000,
|
||||
"totalRules": 300,
|
||||
"actionsPerRule": 4,
|
||||
"averageMatchesPerEvent": 100.002,
|
||||
"minMatchesPerEvent": 60,
|
||||
"maxMatchesPerEvent": 120,
|
||||
"averageDeliveriesPerEvent": 400.008,
|
||||
"totalDeliveries": 4000080,
|
||||
"meanMs": 138.73866,
|
||||
"p95Ms": 147.71738000000002,
|
||||
"maxMs": 149.1124,
|
||||
"meanThroughputPerSecond": 28916602.921385907,
|
||||
"minThroughputPerSecond": 26825938.017227273,
|
||||
"maxAllocatedMb": 0,
|
||||
"thresholdMs": 900,
|
||||
"minThroughputThresholdPerSecond": 45000,
|
||||
"maxAllocatedThresholdMb": 256,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
39
out/notify-bench.prom
Normal file
39
out/notify-bench.prom
Normal file
@@ -0,0 +1,39 @@
|
||||
# HELP notify_dispatch_bench_duration_ms Notify dispatch benchmark duration metrics (milliseconds).
|
||||
# TYPE notify_dispatch_bench_duration_ms gauge
|
||||
# HELP notify_dispatch_bench_throughput_per_sec Notify dispatch benchmark throughput metrics (deliveries per second).
|
||||
# TYPE notify_dispatch_bench_throughput_per_sec gauge
|
||||
# HELP notify_dispatch_bench_allocation_mb Notify dispatch benchmark allocation metrics (megabytes).
|
||||
# TYPE notify_dispatch_bench_allocation_mb gauge
|
||||
notify_dispatch_bench_mean_ms{scenario="notify_dispatch_density_05"} 3.4149799999999999
|
||||
notify_dispatch_bench_p95_ms{scenario="notify_dispatch_density_05"} 4.1721599999999999
|
||||
notify_dispatch_bench_max_ms{scenario="notify_dispatch_density_05"} 4.3038999999999996
|
||||
notify_dispatch_bench_threshold_ms{scenario="notify_dispatch_density_05"} 400
|
||||
notify_dispatch_bench_mean_throughput_per_sec{scenario="notify_dispatch_density_05"} 6053938.5171789303
|
||||
notify_dispatch_bench_min_throughput_per_sec{scenario="notify_dispatch_density_05"} 4646948.1168242758
|
||||
notify_dispatch_bench_min_throughput_threshold_per_sec{scenario="notify_dispatch_density_05"} 15000
|
||||
notify_dispatch_bench_max_allocated_mb{scenario="notify_dispatch_density_05"} 0
|
||||
notify_dispatch_bench_max_allocated_threshold_mb{scenario="notify_dispatch_density_05"} 128
|
||||
notify_dispatch_bench_regression_limit{scenario="notify_dispatch_density_05"} 1.1499999999999999
|
||||
notify_dispatch_bench_regression_breached{scenario="notify_dispatch_density_05"} 0
|
||||
notify_dispatch_bench_mean_ms{scenario="notify_dispatch_density_20"} 24.227399999999999
|
||||
notify_dispatch_bench_p95_ms{scenario="notify_dispatch_density_20"} 25.85172
|
||||
notify_dispatch_bench_max_ms{scenario="notify_dispatch_density_20"} 26.052600000000002
|
||||
notify_dispatch_bench_threshold_ms{scenario="notify_dispatch_density_20"} 650
|
||||
notify_dispatch_bench_mean_throughput_per_sec{scenario="notify_dispatch_density_20"} 27923335.585545264
|
||||
notify_dispatch_bench_min_throughput_per_sec{scenario="notify_dispatch_density_20"} 25909122.314087655
|
||||
notify_dispatch_bench_min_throughput_threshold_per_sec{scenario="notify_dispatch_density_20"} 30000
|
||||
notify_dispatch_bench_max_allocated_mb{scenario="notify_dispatch_density_20"} 0
|
||||
notify_dispatch_bench_max_allocated_threshold_mb{scenario="notify_dispatch_density_20"} 192
|
||||
notify_dispatch_bench_regression_limit{scenario="notify_dispatch_density_20"} 1.1499999999999999
|
||||
notify_dispatch_bench_regression_breached{scenario="notify_dispatch_density_20"} 0
|
||||
notify_dispatch_bench_mean_ms{scenario="notify_dispatch_density_40"} 138.73866000000001
|
||||
notify_dispatch_bench_p95_ms{scenario="notify_dispatch_density_40"} 147.71738000000002
|
||||
notify_dispatch_bench_max_ms{scenario="notify_dispatch_density_40"} 149.11240000000001
|
||||
notify_dispatch_bench_threshold_ms{scenario="notify_dispatch_density_40"} 900
|
||||
notify_dispatch_bench_mean_throughput_per_sec{scenario="notify_dispatch_density_40"} 28916602.921385907
|
||||
notify_dispatch_bench_min_throughput_per_sec{scenario="notify_dispatch_density_40"} 26825938.017227273
|
||||
notify_dispatch_bench_min_throughput_threshold_per_sec{scenario="notify_dispatch_density_40"} 45000
|
||||
notify_dispatch_bench_max_allocated_mb{scenario="notify_dispatch_density_40"} 0
|
||||
notify_dispatch_bench_max_allocated_threshold_mb{scenario="notify_dispatch_density_40"} 256
|
||||
notify_dispatch_bench_regression_limit{scenario="notify_dispatch_density_40"} 1.1499999999999999
|
||||
notify_dispatch_bench_regression_breached{scenario="notify_dispatch_density_40"} 0
|
||||
2
out/policy-bench.csv
Normal file
2
out/policy-bench.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
scenario,iterations,findings,mean_ms,p95_ms,max_ms,mean_throughput_per_sec,min_throughput_per_sec,max_allocated_mb
|
||||
policy_eval_baseline,3,1000000,1109.3542,1257.7493,1280.1721,912094.5581,781144.9726,563.6901
|
||||
|
25
out/policy-bench.json
Normal file
25
out/policy-bench.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"schemaVersion": "policy-bench/1.0",
|
||||
"capturedAt": "2025-10-26T19:57:27.4363234+00:00",
|
||||
"scenarios": [
|
||||
{
|
||||
"id": "policy_eval_baseline",
|
||||
"label": "Policy evaluation (100k components, 1M findings)",
|
||||
"iterations": 3,
|
||||
"findingCount": 1000000,
|
||||
"meanMs": 1109.3542333333335,
|
||||
"p95Ms": 1257.74929,
|
||||
"maxMs": 1280.1721,
|
||||
"meanThroughputPerSecond": 912094.5580512757,
|
||||
"minThroughputPerSecond": 781144.9726173537,
|
||||
"maxAllocatedMb": 563.6900634765625,
|
||||
"thresholdMs": 20000,
|
||||
"minThroughputThresholdPerSecond": 60000,
|
||||
"maxAllocatedThresholdMb": 900,
|
||||
"regression": {
|
||||
"limit": 1.15,
|
||||
"breached": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
17
out/policy-bench.prom
Normal file
17
out/policy-bench.prom
Normal file
@@ -0,0 +1,17 @@
|
||||
# HELP policy_engine_bench_duration_ms Policy Engine benchmark duration metrics (milliseconds).
|
||||
# TYPE policy_engine_bench_duration_ms gauge
|
||||
# HELP policy_engine_bench_throughput_per_sec Policy Engine benchmark throughput metrics (findings per second).
|
||||
# TYPE policy_engine_bench_throughput_per_sec gauge
|
||||
# HELP policy_engine_bench_allocation_mb Policy Engine benchmark allocation metrics (megabytes).
|
||||
# TYPE policy_engine_bench_allocation_mb gauge
|
||||
policy_engine_bench_mean_ms{scenario="policy_eval_baseline"} 1109.3542333333335
|
||||
policy_engine_bench_p95_ms{scenario="policy_eval_baseline"} 1257.74929
|
||||
policy_engine_bench_max_ms{scenario="policy_eval_baseline"} 1280.1721
|
||||
policy_engine_bench_threshold_ms{scenario="policy_eval_baseline"} 20000
|
||||
policy_engine_bench_mean_throughput_per_sec{scenario="policy_eval_baseline"} 912094.55805127567
|
||||
policy_engine_bench_min_throughput_per_sec{scenario="policy_eval_baseline"} 781144.97261735366
|
||||
policy_engine_bench_min_throughput_threshold_per_sec{scenario="policy_eval_baseline"} 60000
|
||||
policy_engine_bench_max_allocated_mb{scenario="policy_eval_baseline"} 563.6900634765625
|
||||
policy_engine_bench_max_allocated_threshold_mb{scenario="policy_eval_baseline"} 900
|
||||
policy_engine_bench_regression_limit{scenario="policy_eval_baseline"} 1.1499999999999999
|
||||
policy_engine_bench_regression_breached{scenario="policy_eval_baseline"} 0
|
||||
32
out/policy-simulations/policy-simulation-summary.json
Normal file
32
out/policy-simulations/policy-simulation-summary.json
Normal file
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"ScenarioName": "baseline",
|
||||
"Success": true,
|
||||
"ChangedCount": 2,
|
||||
"Failures": [],
|
||||
"ActualStatuses": {
|
||||
"library:pkg/openssl@1.1.1w": "Blocked",
|
||||
"library:pkg/internal-runtime@1.0.0": "Warned"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ScenarioName": "internal-only",
|
||||
"Success": true,
|
||||
"ChangedCount": 2,
|
||||
"Failures": [],
|
||||
"ActualStatuses": {
|
||||
"library:pkg/internal-app@2.0.0": "RequiresVex",
|
||||
"library:pkg/kev-component@3.1.4": "RequiresVex"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ScenarioName": "serverless",
|
||||
"Success": true,
|
||||
"ChangedCount": 2,
|
||||
"Failures": [],
|
||||
"ActualStatuses": {
|
||||
"library:pkg/aws-lambda@1.0.0": "Blocked",
|
||||
"image:sha256:untrusted-base": "Blocked"
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user