Files
git.stella-ops.org/docs/db/schemas/proof-system-schema.sql
master 84d97fd22c feat(eidas): Implement eIDAS Crypto Plugin with dependency injection and signing capabilities
- Added ServiceCollectionExtensions for eIDAS crypto providers.
- Implemented EidasCryptoProvider for handling eIDAS-compliant signatures.
- Created LocalEidasProvider for local signing using PKCS#12 keystores.
- Defined SignatureLevel and SignatureFormat enums for eIDAS compliance.
- Developed TrustServiceProviderClient for remote signing via TSP.
- Added configuration support for eIDAS options in the project file.
- Implemented unit tests for SM2 compliance and crypto operations.
- Introduced dependency injection extensions for SM software and remote plugins.
2025-12-23 14:06:48 +02:00

51 lines
1.8 KiB
SQL

-- ============================================================================
-- StellaOps Proof-Driven Moats Database Schema
-- ============================================================================
-- Purpose: Four-tier backport detection with cryptographic proof generation
-- Version: 1.0.0
-- Compatible with: PostgreSQL 16+
-- ============================================================================
-- Schema: proof_moats
-- Contains all proof-driven backport detection tables
CREATE SCHEMA IF NOT EXISTS proof_moats;
SET search_path TO proof_moats, public;
-- ============================================================================
-- TIER 1: Distro Advisories (Highest Confidence)
-- ============================================================================
-- Table: distro_release
-- Tracks distribution releases for versioning context
CREATE TABLE IF NOT EXISTS distro_release (
release_id TEXT PRIMARY KEY,
distro_name TEXT NOT NULL,
release_version TEXT NOT NULL,
release_codename TEXT,
eol_date TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_distro_release_name ON distro_release(distro_name);
-- Table: distro_advisory
-- Official distro security advisories (DSA, USN, RHSA, etc.)
CREATE TABLE IF NOT EXISTS distro_advisory (
advisory_id TEXT PRIMARY KEY,
distro_name TEXT NOT NULL,
advisory_type TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
severity TEXT,
published_at TIMESTAMPTZ NOT NULL,
source_url TEXT,
raw_data JSONB NOT NULL,
ingested_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_distro_advisory_distro ON distro_advisory(distro_name);
CREATE INDEX idx_distro_advisory_published ON distro_advisory(published_at DESC);
CREATE INDEX idx_distro_advisory_raw_data ON distro_advisory USING gin(raw_data);