Files
provisioning-server/migrations/0063_veyon_schluessel.sql
T
adminandClaude Opus 5.5 a49252a81a Veyon: Schluesselpaar je OE, Check-in reichert Optionen an (Migration 0063)
Bauplan Schritt 1 (platform-docs roadmap/veyon-schluesselverteilung-
diskussion-2026-10-14.md). Paar beim ersten Bedarf erzeugt (RSA 4096,
PKCS#8/SPKI-PEM wie veyon-cli), privat Fernet-verschluesselt. Optionen:
veyon_schluesselname, veyon_public_pem, veyon_raum, veyon_lehrer; nur
Lehrergeraete zusaetzlich veyon_private_pem und veyon_rechner
(<hostname>.local, ohne sich selbst). Lehrer = Haekchen veyon_lehrer an
irgendeiner aktiven Gruppe. Fehler brechen den Check-in nicht ab.
Getestet gegen eine Wegwerf-Datenbank mit allen Migrationen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:55:51 +02:00

20 lines
804 B
PL/PgSQL

BEGIN;
-- Veyon-Schluessel je OE (15.10.2026, platform-docs
-- roadmap/veyon-schluesselverteilung-diskussion-2026-10-14.md, Bauplan
-- Schritt 1). Ein Schluesselpaar je OE (= Raum), erzeugt beim ersten
-- Check-in eines Geraets dieser OE mit aktivem Merkmal "veyon". Der private
-- Schluessel liegt Fernet-verschluesselt (TUXFLOTTE_ENCRYPTION_KEY, wie die
-- _passwort-Optionen) und geht beim Check-in nur an Lehrergeraete.
-- name: nur Buchstaben (Veyon-Vorgabe), siehe veyon_schluesselname().
CREATE TABLE veyon_schluessel (
oe_id UUID PRIMARY KEY REFERENCES organisationseinheiten(id) ON DELETE CASCADE,
name TEXT NOT NULL UNIQUE CHECK (name ~ '^[a-z]+$'),
public_pem TEXT NOT NULL,
private_pem_encrypted TEXT NOT NULL,
erstellt_am TIMESTAMPTZ NOT NULL DEFAULT now()
);
COMMIT;