Skip to content

Harden the TEA reference implementation#234

Closed
MChorfa wants to merge 2 commits intoCycloneDX:mainfrom
MChorfa:ref-impl
Closed

Harden the TEA reference implementation#234
MChorfa wants to merge 2 commits intoCycloneDX:mainfrom
MChorfa:ref-impl

Conversation

@MChorfa
Copy link
Copy Markdown

@MChorfa MChorfa commented Mar 29, 2026

What this PR does

This PR turns the repo into a stronger spec-first TEA reference implementation.

It:

  • hardens the Rust server across auth, readiness, persistence, and fail-closed publisher behavior
  • expands the real gRPC reference surface for discovery, consumer, and supported publisher flows
  • aligns publisher OpenAPI/conformance artifacts with the canonical protobuf contract
  • adds executable conformance coverage, sbom-tools integration docs/snippets, and a publishable release-doc bundle
  • updates CI and Dagger/tooling to validate the new reference profile end to end

Review order

  1. proto/, spec/, tools/
  2. tea-server/src/domain, persistence, and migrations
  3. tea-server/src/infrastructure/grpc and tea-server/src/main.rs
  4. docs, CI, and Dagger updates

Verification

Ran successfully:

  • cargo fmt --manifest-path tea-server/Cargo.toml -- --check
  • cargo clippy --manifest-path tea-server/Cargo.toml -- -D warnings
  • make -C proto verify
  • cargo check --manifest-path dagger/Cargo.toml
  • cargo test --manifest-path tea-server/Cargo.toml --locked --doc
  • cargo test --manifest-path tea-server/Cargo.toml --locked
  • publisher spec/doc generators and validators
  • release-doc bundle build + validation

Intentional remaining gaps

These publisher capabilities remain explicit fail-closed / UNIMPLEMENTED in the current reference profile:

  • UploadArtifact
  • BatchUploadArtifacts
  • ImportCollection
  • SignCollection

Local note

Full local integration coverage requires a working Docker-compatible daemon. If your environment exposes Docker on a non-default socket, set DOCKER_HOST to the appropriate value before running the integration suite.

Mohamed Chorfa added 2 commits March 29, 2026 15:30
…curity

Add comprehensive CI/CD pipeline with security-first approach:
- CI workflow: build, test, lint, clippy, security audit, integration and E2E tests
- Release workflow: container build/push with SLSA provenance, SBOM generation and signing via Sigstore/cosign, GitHub release creation
- SLSA provenance workflow: SLSA Level 3+ attestation generation using slsa-github-generator
- Dependency ingestion workflow: weekly schedule

Signed-off-by: Mohamed Chorfa <mohamed.chorfa@thalesgroup.com>
- align the Rust server with the spec across auth, gRPC, persistence, and collection/product release flows
- generate and validate publisher OpenAPI, conformance, and sbom-tools integration artifacts
- add publishable release-doc bundles plus CI checks for spec, docs, and reference-profile behavior

Signed-off-by: Mohamed Chorfa <mohamed.chorfa@thalesgroup.com>
@MChorfa MChorfa marked this pull request as ready for review March 29, 2026 19:33
@MChorfa MChorfa requested review from madpah and oej as code owners March 29, 2026 19:33
@oej
Copy link
Copy Markdown
Collaborator

oej commented Mar 29, 2026

This repo is for specification and not for implementation. Implementations belong in another repository. Create your own repo and we can look into that.

@oej oej closed this Mar 29, 2026
@MChorfa
Copy link
Copy Markdown
Author

MChorfa commented Mar 29, 2026

Thanks for clarifying the repo boundary. I’ve moved the implementation work into a separate repository and kept the spec-facing material in a dedicated PR here. The implementation repo is available for reference if useful: https://github.com/MChorfa/transparency-exchange-reference-implementation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants