-
Notifications
You must be signed in to change notification settings - Fork 0
Theme signing pipeline (cosign) #139
Copy link
Copy link
Closed
Labels
area:devopsDeployment, K8s, CIDeployment, K8s, CIarea:webNext.js public siteNext.js public sitephase:P4-pluginsPhase 4 — PluginsPhase 4 — Pluginspriority:P1Important — should land in phaseImportant — should land in phaseskill:devopsDocker, K8s, CI/CDDocker, K8s, CI/CDskill:securitySecurity expertiseSecurity expertisetype:featNew feature or implementation taskNew feature or implementation tasktype:securitySecurity-related workSecurity-related work
Milestone
Metadata
Metadata
Assignees
Labels
area:devopsDeployment, K8s, CIDeployment, K8s, CIarea:webNext.js public siteNext.js public sitephase:P4-pluginsPhase 4 — PluginsPhase 4 — Pluginspriority:P1Important — should land in phaseImportant — should land in phaseskill:devopsDocker, K8s, CI/CDDocker, K8s, CI/CDskill:securitySecurity expertiseSecurity expertisetype:featNew feature or implementation taskNew feature or implementation tasktype:securitySecurity-related workSecurity-related work
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Set up the theme signing pipeline per doc 13 §7.3. Themes ship as npm tarball (or zipped equivalent) plus
theme.jsonmanifest plussignature.sig(cosign bundle). Trusted theme-publisher identities live intheme.signing.trusted_keys. Unsigned themes are blocked by default; admin can override with an operator-level flag (--allow-unsigned), which triggers a prominent banner and an audit event on activation. The signature covers the package tarball checksum so file-level tamper is detected. Themes have stronger requirements than plugins because they run unsandboxed in the Next.js process (per §14.2).Design reference
Acceptance criteria
theme.json+signature.sigcosign bundlecosign verifyagainsttheme.signing.trusted_keys--allow-unsignedis passed at install timeDependencies
#105
Complexity
L