.project/ files written by darnit do not conform to the upstream CNCF dot-project schema
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
Direzione di ricerca
Start with packages/darnit/src/darnit/context/dot_project.py, packages/darnit/src/darnit/config/context_storage.py, and the OSPS-DO-02.01 entry in packages/darnit-baseline/src/darnit_baseline/openssf-baseline.toml; compare their behavior with the referenced upstream SCHEMA.md and validator. The issue lists five compatibility gaps and proposed directions; check related issues #468, #469, and #463 before defining a bounded change. Done means the agreed changes are covered by tests and written fixtures validate against the upstream schema.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
.project/ is darnit's primary mechanism for project metadata, but the files darnit writes do not conform to the upstream CNCF dot-project schema (cncf/automation utilities/dot-project, SCHEMA.md version 1.0.0 at commit fb391624922b, 2026-09-24):
- Schema version. New
project.yamlfiles are seeded withschema_version: "1.4.0"(https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit/src/darnit/context/dot_project.py#L65, used at #L998). The upstream validator'sSupportedSchemaVersionsis["1.0.0"]. security.contactshape. Upstream definessecurity.contactas an object (email/advisory_url). darnit writes a bare string there (https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit/src/darnit/config/context_storage.py#L381-L386).- Unknown and relocated fields. The upstream decoder rejects unknown fields and the
Projectstruct has no extension field; some upstream fields (e.g.slug,project_lead,package_managers,landscape) are read into or written from.project/darnit.yamlinstead ofproject.yaml. - Wrong locator. OSPS-DO-02.01 ("Document bug reporting process") uses
project_path = "security.policy"(https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit-baseline/src/darnit_baseline/openssf-baseline.toml#L1421), so remediation and lookup treat the security policy as the bug-reporting process. - Non-CNCF projects.
maturity_logis required upstream and CNCF-specific, so a project outside the CNCF cannot produce a validproject.yaml.
Impact
Files darnit creates or edits may fail upstream validation and CNCF tooling, and values can be read back with the wrong meaning. Since .project/ is the primary store, darnit should round-trip it faithfully.
Suggested direction
- Pin darnit to the upstream schema version it actually implements, and add a CI check that validates darnit-written fixtures with the upstream validator.
- Write
security.contactin the upstream object form and read both forms. - Keep upstream fields in
project.yaml; limitdarnit.yamlto darnit-specific keys. - Fix the DO-02.01 locator.
- Propose upstream changes where
.project/cannot express what non-CNCF projects need (making CNCF-only required fields optional, a sanctioned extension mechanism), rather than diverging locally.
Related: #468, #469, #463.
- Lingua principale
- Python
- Stelle
- 22
- Fork
- 27
- Merge medio
- 2g 3h
- PR unite (30g)
- 51
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di darnitdevorg/darnit
-
Project-data question labels: "Compiled Ass" header and a Yes option that says to choose NoForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertagood first issue module-baseline needs triage ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
darnitdevorg/darnit#650 ·
I maintainer di solito rispondono entro 2 giorni
-
module-core needs triage ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
darnitdevorg/darnit#648 ·
I maintainer di solito rispondono entro 2 giorni
-
ci needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
darnitdevorg/darnit#607 ·
I maintainer di solito rispondono entro 2 giorni
-
dependencies module-baseline needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
darnitdevorg/darnit#606 ·
I maintainer di solito rispondono entro 2 giorni
-
A test starts real Sigstore signing (interactive OIDC login) when the attestation extra is installedForse già presa @mlieberman85 l’ha presa 3 giorni fa. Apertamodule-baseline needs triage testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
darnitdevorg/darnit#604 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di darnitdevorg/darnit
Issue simili
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
selimfirat/pysad#379 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#32805 ·
I maintainer di solito rispondono entro 1 giorno
-
fix: [bug description] HTML CVE metric table shows only the last CVE for each productForse già presa @Chris-wh233 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ossf/cve-bin-tool#5976 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
gke-labs/kube-agents#3615 ·
I maintainer di solito rispondono entro 1 giorno
-
deferred
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno