You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "hanahmily (via GitHub)" <gi...@apache.org> on 2026/08/26 03:12:57 UTC
[I] [BanyanDB][RBAC][Sub-TDD A4] Resolve and reload flat custom roles through cluster state [skywalking]
hanahmily opened a new issue, #14020:
URL: https://github.com/apache/skywalking/issues/14020
Root tracking issue: #13994
Workflow PR issue: #14014
Sub-TDD ID: `A4`
Cycle gate: #14019 must be GREEN on workflow #14014's branch; it is not merged independently.
> [!IMPORTANT]
> **No independent PR.** This issue tracks one strict RED→GREEN cycle inside
> workflow #14014. Implement it on that workflow branch, record the evidence
> in the parent PR checklist, and close it only when the parent PR merges.
## Size audit
Classification: sub-TDD tracking leaf inside workflow #14014; not an independently mergeable PR leaf
Boundary: extend the same snapshot compiler and live decision API; no second authorizer or publication path.
Production activation: `GetClusterState` consumes the custom role after the existing reloader atomically publishes it.
RED test: `TestCustomRoleAuthorizesClusterState`; A3 rejects `roles` or keeps the monitor denied.
End to end: rewrite built-in-only YAML to a monitor binding without restart, then write an invalid revision; the valid monitor decision remains.
Format/lifecycle scope: only the lifecycle and caller family named above; no protobuf or persisted-format change
Fixtures and oracle: literal actors, groups, status codes, and visible/absent side effects stated in the integration scenario; expectations are not derived from the implementation
Focused suites: the named RED test plus the focused real-liaison integration scenario in workflow #14014
Dependencies present on `main`: the workflow-level prerequisites are recorded above; intra-workflow cycle gates become GREEN on the same branch
Decision: one bounded RED→GREEN cycle, but deliberately no independent PR; workflow #14014 owns the cumulative production activation, E2E, and merge
## Boundary
extend the same snapshot compiler and live decision API; no second authorizer or publication path.
The production caller activated in this cycle is: `GetClusterState` consumes the custom role after the existing reloader atomically publishes it. Later child
behavior remains fail-closed or unchanged. Do not add a parallel authorizer,
generic protobuf field search, or a fourth PR.
Observability in this boundary: reload success/failure counters, active revision gauge, and secret-safe reload errors.
## RED
`TestCustomRoleAuthorizesClusterState`; A3 rejects `roles` or keeps the monitor denied.
Add and run the named test, then record its observable failure before production
code for this cycle. The failure must come from the missing production behavior,
not a source-text assertion or a fixture generated by the implementation.
## GREEN
Implement the minimum production change that activates only the boundary above.
Make the named RED test pass, then keep all later workflow executors fail-closed.
Refactor only after the RED and GREEN evidence is recorded in workflow #14014's PR.
## Focused integration proof
rewrite built-in-only YAML to a monitor binding without restart, then write an invalid revision; the valid monitor decision remains.
This proof uses the real public liaison path and is added to the cumulative
integration suite in workflow #14014; it is not deferred to another PR.
## Requirements
R1. only the six fixed permissions.
R2. reject duplicates, built-in overrides, unknown fields/permissions, and invalid cluster scopes.
R3. invalid reload remains last-known-good.
R4. custom `monitor:cluster:read` on `*` is allowed after reload.
## Acceptance criteria
- The named RED test is recorded failing for the stated reason before GREEN.
- The minimum production activation and focused real-liaison integration proof pass.
- Expected allow/deny/status/side-effect values come from this issue's literal oracle, not production-derived fixtures.
- Only the named method/extractor/lifecycle boundary is activated; later cycles remain fail-closed.
- The parent PR checklist links this cycle's RED, GREEN, refactor, integration, and test evidence.
- No independent PR is opened; this issue closes only when workflow #14014's single PR merges.
## Scope
Production/tests: RBAC compiler, auth snapshot/reloader tests, standalone cluster state reload scenario.
Cycle entry from the reviewed catalog: A3 GREEN in W-PR1.
Out of scope: every later sub-TDD boundary, OAP E2E, Canopy E2E, and any PR separate from workflow #14014.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] [BanyanDB][RBAC][Sub-TDD A4] Resolve and reload flat custom roles through cluster state [skywalking]
Posted by "hanahmily (via GitHub)" <gi...@apache.org>.
hanahmily commented on issue #14020:
URL: https://github.com/apache/skywalking/issues/14020#issuecomment-5425994729
This tracking issue is withdrawn. Its TDD round remains an internal checklist item in workflow #14014; only the three workflow issues #14014, #14015, and #14016 are sub-issues of #13994, and no round owns an issue or PR.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] [BanyanDB][RBAC][Sub-TDD A4] Resolve and reload flat custom roles through cluster state [skywalking]
Posted by "hanahmily (via GitHub)" <gi...@apache.org>.
hanahmily closed issue #14020: [BanyanDB][RBAC][Sub-TDD A4] Resolve and reload flat custom roles through cluster state
URL: https://github.com/apache/skywalking/issues/14020
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org