master 2e276d6676 feat: Enhance MongoDB storage with event publishing and outbox support
- Added `MongoAdvisoryObservationEventPublisher` and `NatsAdvisoryObservationEventPublisher` for event publishing.
- Registered `IAdvisoryObservationEventPublisher` to choose between NATS and MongoDB based on configuration.
- Introduced `MongoAdvisoryObservationEventOutbox` for outbox pattern implementation.
- Updated service collection to include new event publishers and outbox.
- Added a new hosted service `AdvisoryObservationTransportWorker` for processing events.

feat: Update project dependencies

- Added `NATS.Client.Core` package to the project for NATS integration.

test: Add unit tests for AdvisoryLinkset normalization

- Created `AdvisoryLinksetNormalizationConfidenceTests` to validate confidence score calculations.

fix: Adjust confidence assertion in `AdvisoryObservationAggregationTests`

- Updated confidence assertion to allow a range instead of a fixed value.

test: Implement tests for AdvisoryObservationEventFactory

- Added `AdvisoryObservationEventFactoryTests` to ensure correct mapping and hashing of observation events.

chore: Configure test project for Findings Ledger

- Created `Directory.Build.props` for test project configuration.
- Added `StellaOps.Findings.Ledger.Exports.Unit.csproj` for unit tests related to findings ledger exports.

feat: Implement export contracts for findings ledger

- Defined export request and response contracts in `ExportContracts.cs`.
- Created various export item records for findings, VEX, advisories, and SBOMs.

feat: Add export functionality to Findings Ledger Web Service

- Implemented endpoints for exporting findings, VEX, advisories, and SBOMs.
- Integrated `ExportQueryService` for handling export logic and pagination.

test: Add tests for Node language analyzer phase 22

- Implemented `NodePhase22SampleLoaderTests` to validate loading of NDJSON fixtures.
- Created sample NDJSON file for testing.

chore: Set up isolated test environment for Node tests

- Added `node-isolated.runsettings` for isolated test execution.
- Created `node-tests-isolated.sh` script for running tests in isolation.
2025-11-20 23:08:45 +02:00
tam
2025-10-12 20:42:07 +00:00
2025-11-18 23:45:25 +02:00
2025-11-18 23:45:25 +02:00
2025-10-11 23:28:35 +03:00

StellaOps Concelier & CLI

This repository hosts the StellaOps Concelier service, its plug-in ecosystem, and the first-party CLI (stellaops-cli). Concelier ingests vulnerability advisories from authoritative sources, stores them in MongoDB, and exports deterministic JSON and Trivy DB artefacts. The CLI drives scanner distribution, scan execution, and job control against the Concelier API.

Quickstart

  1. Prepare a MongoDB instance and (optionally) install trivy-db/oras.
  2. Copy etc/concelier.yaml.sample to etc/concelier.yaml and update the storage + telemetry settings.
  3. Copy etc/authority.yaml.sample to etc/authority.yaml, review the issuer, token lifetimes, and plug-in descriptors, then edit the companion manifests under etc/authority.plugins/*.yaml to match your deployment.
  4. Start the web service with dotnet run --project src/Concelier/StellaOps.Concelier.WebService.
  5. Configure the CLI via environment variables (e.g. STELLAOPS_BACKEND_URL) and trigger jobs with dotnet run --project src/Cli/StellaOps.Cli -- db merge.

Detailed operator guidance is available in docs/10_CONCELIER_CLI_QUICKSTART.md. API and command reference material lives in docs/09_API_CLI_REFERENCE.md.

Pipeline note: deployment workflows should template etc/concelier.yaml during CI/CD, injecting environment-specific Mongo credentials and telemetry endpoints. Upcoming releases will add Microsoft OAuth (Entra ID) authentication support—track the quickstart for integration steps once available.

Documentation

  • docs/README.md now consolidates the platform index and points to the updated high-level architecture.
  • Module architecture dossiers now live under docs/modules/<module>/. The most relevant here are docs/modules/concelier/ARCHITECTURE.md (service layout, merge engine, exports) and docs/modules/cli/ARCHITECTURE.md (command surface, AOT packaging, auth flows). Related services such as the Signer, Attestor, Authority, Scanner, UI, Excititor, Zastava, and DevOps pipeline each have their own dossier in the same hierarchy.
  • Offline operation guidance moved to docs/24_OFFLINE_KIT.md, which details bundle composition, verification, and delta workflows. Concelier-specific connector operations stay in docs/modules/concelier/operations/connectors/*.md with companion runbooks in docs/modules/concelier/operations/.
Description
No description provided
Readme AGPL-3.0 2.8 GiB
Languages
C# 91.7%
TypeScript 4.3%
Python 1%
Shell 0.8%
HTML 0.7%
Other 1.3%