Following @westonnnn's directive to review and fix Valkey addon code against the new kubeblocks-addon-docs/docs/addon-api/ contract, this issue tracks five gaps identified in the review.
Initial review
5 gaps were flagged:
- roleProbe output format —
check-role.sh emits plain text role, not GlobalRoleSnapshot JSON, so the KB controller's authoritative-snapshot staleness gate never engages
- advertised-address script — Services declared (NodePort, LoadBalancer) but no path observed for
replica-announce-ip / replica-announce-port setup
- backup / restore compatibility matrix — no documented source/target × topology × method × outcome table
- Sentinel state backup — BackupActionSet covers
/data only; Sentinel PVC loss path not addressed
- Reconfigure action — no
lifecycle.reconfigure action visible in the initial review
Updated state after deeper read
- Gap 2 (advertised-address) was already implemented in
scripts/valkey-start.sh:build_announce_addr (covers NodePort, LoadBalancer, FQDN paths). The initial review missed the inline implementation.
- Gap 5 (reconfigure) was already implemented via the
valkey.reconfigureAction helper in templates/_helpers.tpl, wired into the ComponentDefinition lifecycle actions. The initial review missed the helper.
Remaining real gaps:
- roleProbe JSON output — addressed by the PR
- backup / restore compatibility matrix — addressed by the new addon README
- Sentinel state backup — addressed by documenting the supported scope and the operator workaround for Sentinel PVC loss in the new README; backing up Sentinel state is left as a future enhancement
Boundary
- Documents the actually supported scope of the addon rather than expanding scope
- Does not change ComponentDefinition lifecycle action surface
- Does not change BackupActionSet contents (data-plane only)
- Cross-major restore (8.x → 9.x) is documented as out of scope
Following @westonnnn's directive to review and fix Valkey addon code against the new
kubeblocks-addon-docs/docs/addon-api/contract, this issue tracks five gaps identified in the review.Initial review
5 gaps were flagged:
check-role.shemits plain text role, not GlobalRoleSnapshot JSON, so the KB controller's authoritative-snapshot staleness gate never engagesreplica-announce-ip/replica-announce-portsetup/dataonly; Sentinel PVC loss path not addressedlifecycle.reconfigureaction visible in the initial reviewUpdated state after deeper read
scripts/valkey-start.sh:build_announce_addr(covers NodePort, LoadBalancer, FQDN paths). The initial review missed the inline implementation.valkey.reconfigureActionhelper intemplates/_helpers.tpl, wired into the ComponentDefinition lifecycle actions. The initial review missed the helper.Remaining real gaps:
Boundary