Skip to content

feat(api): expose runtime parameters over admin rpc - #83

Open
317787106 wants to merge 2 commits into
feature/admin_rpcfrom
feature/admin_rpc_runtime_parameters
Open

feat(api): expose runtime parameters over admin rpc#83
317787106 wants to merge 2 commits into
feature/admin_rpcfrom
feature/admin_rpc_runtime_parameters

Conversation

@317787106

Copy link
Copy Markdown
Owner

What does this PR do?

Adds the admin_getRuntimeParameters method on top of the Admin RPC and IPC transport introduced by #82.

  • Exports an explicit top-level @Exportable allowlist from the active runtime parameter implementation.
  • Excludes committee and governance defaults whose effective values are maintained by the database.
  • Returns top-level keys in field-name lexicographical order.
  • Omits eventPluginConfig.dbConfig and recursively redacts fields with secret-like names, including DNS publishing credentials.
  • Snapshots storage configuration and dynamic peer lists so callers never observe transient or partially updated values.

Why is this separate?

Runtime configuration export has a wider review surface than the Admin RPC transport itself: it defines a public allowlist, traverses nested configuration objects, filters secrets, and requires consistency while dynamic configuration is being reloaded. Keeping it in a stacked PR makes the transport changes in #82 easier to review independently.

Dependency

This PR is based on feature/admin_rpc and should be reviewed and merged after #82. Once #82 is merged, the base can be changed to develop.

Testing

  • CommonParameterExporterTest
  • DynamicArgsTest
  • RelayServiceTest
  • EffectiveCheckServiceTest
  • IpcClientTest
  • IpcServiceTest
  • checkstyleMain and checkstyleTest

All listed tests and checks pass locally on JDK 17 / aarch64.

@317787106
317787106 marked this pull request as ready for review August 7, 2026 09:54
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