Skip to content

Restore non-superadmin registry visibility on registry-server v1.4.1+#137

Merged
danbarr merged 1 commit into
mainfrom
fix/registry-default-deny-claims
May 11, 2026
Merged

Restore non-superadmin registry visibility on registry-server v1.4.1+#137
danbarr merged 1 commit into
mainfrom
fix/registry-default-deny-claims

Conversation

@danbarr
Copy link
Copy Markdown
Collaborator

@danbarr danbarr commented May 11, 2026

Summary

  • registry-server v1.4.1 (stacklok/toolhive-registry-server#762) made empty resource claims default-deny when authz is configured. The demo-registry row carried no claims, so alice and bob saw zero servers in the cloud-UI while the demo super-admin still saw everything.
  • Tag the demo-registry and k8s source rows with {groups: everyone}. Every Keycloak user is a member of everyone, so all authenticated callers pass the registry-level gate. Per-entry authz-claims annotations continue to scope what each user actually sees.
  • Simplify the public registry to point at the same sources as demo-registry and drop the dedicated toolhive-public source. Anonymous access via publicPaths bypasses every claims gate regardless of what the sources carry, so a curated public-only filter list isn't pulling its weight.

Test plan

  • validate-manifests skill passes on the edited file
  • Verified in cloud-UI: alice and bob see their expected subset on registry-server v1.4.2
  • Hit /registry/public/v0.1/servers anonymously and confirm CLI flow still works

Registry-server v1.4.1 (PR stacklok/toolhive-registry-server#762)
flipped empty resource claims from "open" to "default-deny" when authz
is configured. That hid the demo-registry row from alice/bob entirely
because the registry definition carried no claims.

Tag the demo-registry and k8s source rows with {groups: everyone} so
all authenticated users pass the registry-level gate; per-entry
authz-claims annotations continue to filter what each user actually
sees. Also simplify the public registry to point at the same sources
as demo-registry; toolhive-public was a curated subset that's
unnecessary now that anonymous access via publicPaths bypasses every
gate regardless.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@danbarr danbarr merged commit 6230063 into main May 11, 2026
1 check passed
@danbarr danbarr deleted the fix/registry-default-deny-claims branch May 11, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant