registrystack / registrystack/registry-stack

fix(casework): align runtime schema secret-reference validation

Offen
#998 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
2
Forks
0
Ø Merge
2 Std. 55 Min.
Gemergte PRs (30 T.)
130

Beschreibung

The generated Casework runtime schema applies exact secret-reference validation to static JWKS `documentRef`, but database, audit, and BReg source-binding references still use only a provider-prefix pattern. For example, the schema accepts `database.runtimeUrlRef: secret:env/lowercase`, or `secret:env/DB` when only the file provider is enabled. `RuntimeConfig::validate_secret_references` correctly rejects both.

Triage: nonblocking editor-validation consistency defect. Runtime reference grammar and provider enforcement remain effective; this does not allow an invalid configuration to run. Defer from #996 so its reviewed, passing implementation can merge.

Follow-up work:

- Apply `SECRET_REFERENCE_SCHEMA_PATTERN` to every secret-reference field in `crates/registry-casework/src/schema.rs`.
- Require the corresponding non-null enabled provider for database, audit, static JWKS, and arbitrary BReg source bindings.
- Preserve valid absent/null optional references, and handle mixed file/environment references across multiple sources.
- Add schema/runtime parity tests for invalid reference grammar, missing or null providers, optional references, and valid mixed sources.
- Regenerate the committed runtime schema and any dependent identifier catalog output with their owning generators; run focused schema and generated-contract checks.

Original review: https://github.com/registrystack/registry-stack/pull/996#discussion_r3995094763

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie in crates/registry-casework/src/schema.rs und vergleichen Sie dessen Regeln für Geheimnisreferenzen mit RuntimeConfig::validate_secret_references. Fügen Sie eine Paritätsabdeckung für ungültige Grammatik, Provider-Verfügbarkeit, optionale Referenzen und gemischte Quellen hinzu und verwenden Sie anschließend die zuständigen Generatoren, um das festgeschriebene Laufzeitschema und den Bezeichnerkatalog neu zu generieren. Führen Sie die fokussierten Prüfungen für das Schema und den generierten Vertrag aus; abgeschlossen ist die Aufgabe, wenn Schema- und Laufzeitvalidierung übereinstimmen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
api, backend, testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.