Skip to content

fix(security-operator): address AuthorizationModel StoreRef at the org's generated cluster#477

Open
ifdotpy wants to merge 2 commits into
platform-mesh:mainfrom
ifdotpy:fix/openkcm-store-ref
Open

fix(security-operator): address AuthorizationModel StoreRef at the org's generated cluster#477
ifdotpy wants to merge 2 commits into
platform-mesh:mainfrom
ifdotpy:fix/openkcm-store-ref

Conversation

@ifdotpy
Copy link
Copy Markdown

@ifdotpy ifdotpy commented Apr 15, 2026

Summary

  • Fix AuthorizationModel generation so StoreRef.Cluster points at the organization workspace's GeneratedClusterId, not OriginClusterId.
  • Add one focused regression test proving generated provider models reference Organization.GeneratedClusterId.

Why

StoreRef is used to find the KCP workspace that hosts the org's OpenFGA Store. OriginClusterId is used in FGA tuple object strings; it is not the workspace logical cluster that owns the store. GeneratedClusterId is the org workspace identity and is already the value used by the finalizer path when grouping bindings by organization.

Scope

Minimal bug fix only:

  • one production-line change in AuthorizationModelGeneration.Process
  • one generic regression test

Testing

  • go test ./internal/subroutine -count=1
  • task lint

Local full task test was attempted but this workstation has another process bound to :8080, which breaks the existing integration test manager startup. I did not include the test-harness metrics-port fix in this PR to keep scope minimal.

@ifdotpy ifdotpy requested review from a team as code owners April 15, 2026 13:13
@ifdotpy ifdotpy changed the title fix: use generated org cluster for provider auth models fix(security-operator): address AuthorizationModel StoreRef at the org's generated cluster Apr 15, 2026
ifdotpy and others added 2 commits May 15, 2026 15:45
Signed-off-by: Igor Fominykh <ihor.fominykh@sap.com>
The StoreRef-cluster fix is generic to every provider; the test should
read that way. Swap OpenKCM-specific identifiers (operations.openkcm.io /
servicekeys / openkcm-provider workspace) for the stand-in example.io /
widgets / providers:example so the intent is 'any provider APIBinding
generates an AuthorizationModel addressed at the org GeneratedClusterId',
not 'OpenKCM happens to break on cc-d2'.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Igor Fominykh <ihor.fominykh@sap.com>
@ifdotpy ifdotpy force-pushed the fix/openkcm-store-ref branch 2 times, most recently from 6214cb7 to 53b7d89 Compare May 15, 2026 13:55
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