Repository navigation
refactor: remove the public attribute from workflows - #3283
Conversation
AI Session Analysis
|
| Status | Policy | Material | Messages |
|---|---|---|---|
| ✅ Passed | ai-config-ai-agents-allowed |
ai-coding-session-338594 |
- |
| ✅ Passed | ai-config-no-dangerous-commands |
ai-coding-session-338594 |
- |
ai-config-no-secrets |
ai-coding-session-338594 |
Potential secret (Quoted API key/password) found in session content [turn=516, source=tool_result, line=267, value=TOKEN='<...ve>'] | |
| ✅ Passed | ai-config-mcp-servers-allowed |
ai-coding-session-338594 |
- |
Powered by Chainloop and Chainloop Trace
95d5f79 to
13c6a4e
Compare
13c6a4e to
3be4852
Compare
Remove the workflow "public" feature entirely. Access to workflow runs, their evidence and CAS artifacts is now organization-scoped only (honoring project RBAC); the public evidence surfaces are retired. - Stop reading and writing the workflows.public column and drop the Workflow.Public domain field. The column is deprecated in place (not dropped) so pods still running the previous image keep working during rollout; a follow-up migration will drop the column later - Replace the public-aware lookups with organization-strict ones (add GetByDigestInOrg); WorkflowRunService.View always enforces RBAC - Remove the CAS-mapping public download fallback - Retire the public shared referrer index (DiscoverPublicShared RPC, ReferrerSharedIndex config, InPublicWorkflow visibility), including its Helm chart values and control-plane config - Remove the CLI --public flags and the workflow list Public column - Delete/reserve the corresponding proto fields; WorkflowItem.public is kept as a deprecated, always-false field for wire compatibility Signed-off-by: Matías Insaurralde <matias@chainloop.dev>
3be4852 to
269bfec
Compare
chainloop-cli 1.104.0 Created-by: HarmonybrewBot Commit-by: HarmonybrewBot Merged-by: HarmonybrewBot Description: Created by `brew bump` --- Created with `brew bump-formula-pr`.<details> <summary>release notes</summary> <pre>## What's Changed * Bump Helm Chart and Dagger Version => v1.103.1 by @github-actions[bot] in chainloop-dev/chainloop#3259 * fix(ci): align secrets-scan material name with contract by @migmartri in chainloop-dev/chainloop#3262 * fix: harden GitHub Actions workflows against zizmor findings by @migmartri in chainloop-dev/chainloop#3260 * feat: add opencode chainloop-trace plugin by @migmartri in chainloop-dev/chainloop#3267 * ci: bump docker/login-action to v4.4.0 by @matiasinsaurralde in chainloop-dev/chainloop#3261 * fix(controlplane): restrict owner-role invitations to org owners (CP-1) by @migmartri in chainloop-dev/chainloop#3263 * feat: introduce PR mode for attestations by @migmartri in chainloop-dev/chainloop#3268 * docs: fix broken GUAC integration link in README by @tknura in chainloop-dev/chainloop#3272 * fix(cli): correct registered integration add usage string to --opt by @tknura in chainloop-dev/chainloop#3271 * fix: upgrade extras/dagger deps to resolve 4 security advisories by @migmartri in chainloop-dev/chainloop#3277 * fix(crafter): surface auto-discovery validation errors by @waveywaves in chainloop-dev/chainloop#2983 * docs: regenerate CLI reference for registered integration add usage by @matiasinsaurralde in chainloop-dev/chainloop#3279 * fix: upgrade Go toolchain to 1.26.5 for GO-2026-4970-stdlib by @chainloop-platform[bot] in chainloop-dev/chainloop#3278 * feat(cli): explode archive materials in chainloop att add by @javirln in chainloop-dev/chainloop#3254 * fix(materials): do not record container image digest as tag by @tknura in chainloop-dev/chainloop#3281 * fix(cli): accept matching --name and metadata.name in contract commands by @tknura in chainloop-dev/chainloop#3282 * fix(dispatcher): improve fanout delivery timeouts and retry budget by @migmartri in chainloop-dev/chainloop#3270 * refactor: remove the public attribute from workflows by @matiasinsaurralde in chainloop-dev/chainloop#3283 * fix(cli): preserve verbatim contract bytes when splitting apply documents by @javirln in chainloop-dev/chainloop#3233 **Full Changelog**: https://github.com/chainloop-dev/chainloop/compare/v1.103.1...v1.104.0</pre> <p>View the full release notes at <a href="https://github.com/chainloop-dev/chainloop/releases/tag/v1.104.0">https://github.com/chainloop-dev/chainloop/releases/tag/v1.104.0</a>.</p> </details> <hr> See merge request: Harmonybrew/homebrew-core!14158
Summary
Removes the workflow
publicfeature from Chainloop. Public workflows previously made a workflow's runs, attestations, materials and CAS artifacts readable by any authenticated user across organizations. With this change, access to that evidence is organization-scoped only and honors project RBAC.What changes
publicattribute is removed from workflows, including theworkflows.publicdatabase column.WorkflowRunService.Viewalways applies project RBAC.DiscoverPublicSharedAPI and its configuration.--publicflags (workflow create,workflow update,referrer discover) and thePubliccolumn inworkflow listare removed.WorkflowItem.publicis kept as a deprecated, always-false field for wire compatibility.publiccolumn.Notes
This is an API and behavior change: existing public workflows become organization-only, the
DiscoverPublicSharedendpoint is removed, and the CLI--publicflags no longer exist.