You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "wu-sheng (via GitHub)" <gi...@apache.org> on 2026/06/30 07:27:36 UTC

[PR] Surface BanyanDB config in /debugging/config/dump via a ConfigDumpExtension SPI [skywalking]

wu-sheng opened a new pull request, #13932:
URL: https://github.com/apache/skywalking/pull/13932

   ### Surface the effective BanyanDB configuration (`bydb.yml` / `bydb-topn.yml`) in the `/debugging/config/dump` admin API
   
   Since 10.2.0 the BanyanDB storage configuration lives in dedicated `bydb.yml` / `bydb-topn.yml` files, loaded into a POJO held privately by `BanyanDBStorageProvider`. The boot-time `/debugging/config/dump` only reflects `application.yml`, so a BanyanDB deployment showed an **empty** `storage.banyandb` block in the dump while ES/JDBC showed their full storage config — even though `bydb.yml` is full of `${ENV:default}` placeholders, exactly what the dump promises to resolve.
   
   This adds a generic `ConfigDumpExtension` SPI on `ServerStatusService`: any module that loads configuration from a secondary file can register an extension contributing extra effective rows, which are merged into the same `ConfigList` and masked centrally by the existing secret-keyword list. `BanyanDBStorageProvider.start()` registers an extension that flattens its already-loaded, environment-resolved config into `storage.banyandb.*` (TopN rules under `storage.banyandb.topN.*`), reading the in-memory POJO rather than re-reading the file (so values are post-env-override, not raw `${...}`).
   
   - The status module stays storage-agnostic — the dependency arrow remains plugin → core (registration through the existing `CoreModule` `getService` seam; no `ModuleManager` change).
   - The Horizon UI needs **no change**: it groups by the first dotted segment, so the new keys fold into the existing `storage` group, and masked values render via the existing `v === '******'` styling.
   
   Verified end-to-end against a live OAP + BanyanDB boot: text and JSON dump formats, `user`/`password` masked to `******`, env overrides resolved, warm+cold lifecycle stages and all TopN rules flattened correctly.
   
   - [ ] If this is non-trivial feature, paste the links/URLs to the design doc.
   - [x] Update the documentation to include this new feature.
   - [x] Tests(including UT, IT, E2E) are added to verify the new feature.
   - [ ] If it's UI related, attach the screenshots below.
   
   - [ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #<issue number>.
   - [x] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md).


-- 
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: [PR] Surface BanyanDB config in /debugging/config/dump via a ConfigDumpExtension SPI [skywalking]

Posted by "wu-sheng (via GitHub)" <gi...@apache.org>.
wu-sheng merged PR #13932:
URL: https://github.com/apache/skywalking/pull/13932


-- 
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