26 lines
1.7 KiB
Markdown
26 lines
1.7 KiB
Markdown
# AGENTS
|
|
## Role
|
|
Connector for Red Hat CSAF VEX feeds, fetching provider metadata, CSAF documents, and projecting them into raw storage for normalization.
|
|
## Scope
|
|
- Discovery via `/.well-known/csaf/provider-metadata.json`, scheduling windows, and ETag-aware HTTP fetches.
|
|
- `RedHatProviderMetadataLoader` handles `.well-known` metadata with caching, schema validation, and offline snapshots.
|
|
- `RedHatCsafConnector` consumes ROLIE feeds to fetch incremental CSAF documents, honours `context.Since`, and streams raw advisories to storage.
|
|
- Mapping Red Hat CSAF specifics (product tree aliases, RHSA identifiers, revision history) into raw documents.
|
|
- Emitting structured telemetry and resume markers for incremental pulls.
|
|
- Supplying Red Hat-specific trust overrides and provenance hints to normalization.
|
|
## Participants
|
|
- Worker schedules pulls using this connector; WebService triggers ad-hoc runs.
|
|
- CSAF normalizer consumes fetched documents to produce claims.
|
|
- Policy/consensus rely on Red Hat trust metadata captured here.
|
|
## Interfaces & contracts
|
|
- Implements `IVexConnector` with Red Hat-specific options (parallelism, token auth if configured).
|
|
- Uses abstractions from `StellaOps.Vexer.Connectors.Abstractions` for HTTP/resume helpers.
|
|
## In/Out of scope
|
|
In: data acquisition, HTTP retries, raw document persistence, provider metadata population.
|
|
Out: normalization, storage internals, attestation, general connector abstractions (covered elsewhere).
|
|
## Observability & security expectations
|
|
- Log provider metadata URL, revision ids, fetch durations; redact tokens.
|
|
- Emit counters for documents fetched, skipped (304), quarantined.
|
|
## Tests
|
|
- Connector harness tests (mock HTTP) and resume regression cases will live in `../StellaOps.Vexer.Connectors.RedHat.CSAF.Tests`.
|