besu icon indicating copy to clipboard operation
besu copied to clipboard

Enhance --profile to load external profiles

Open usmansaleem opened this issue 7 months ago • 0 comments

PR description

Add support to load external profiles using --profile option. The external profiles are expected to be placed in profiles directory under besu home (similar to plugins directory). This can be overridden using system property besu.profiles.dir. Running ./besu --help should report internal profiles along with external profiles - file names without .toml extension.

External profiles can be used to create custom Besu bundles with various plugins and their default options.

Example setup:

  • Create profiles directory under besu home
  • Create profiles/custom_profile.toml with configuration values to override.
  • Use ./besu --profile=custom_profile ... to load the custom profile

Docs link: https://besu.hyperledger.org/public-networks/how-to/use-configuration-file/profile

Fixed Issue(s)

#7265

Thanks for sending a pull request! Have you done the following?

  • [x] Checked out our contribution guidelines?
  • [x] Considered documentation and added the doc-change-required label to this PR if updates are required.
  • [x] Considered the changelog and included an update if required.
  • [x] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • [x] unit tests: ./gradlew build
  • [x] acceptance tests: ./gradlew acceptanceTest
  • [x] integration tests: ./gradlew integrationTest
  • [x] reference tests: ./gradlew ethereum:referenceTests:referenceTests

usmansaleem avatar Jul 03 '24 10:07 usmansaleem