From 445cbae2c4e3ce1416df74547981e640501b1aa6 Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Thu, 27 Mar 2025 10:02:32 +1000 Subject: [PATCH 1/2] Document plugins CLI option. Signed-off-by: bgravenorst --- .../concepts/plugins.md | 1 + docs/public-networks/reference/cli/options.md | 44 ++++++++++++++++++- .../reference/plugin-api-interfaces.md | 5 ++- docusaurus.config.js | 8 ++++ 4 files changed, 55 insertions(+), 3 deletions(-) rename docs/{private-networks => public-networks}/concepts/plugins.md (98%) rename docs/{private-networks => public-networks}/reference/plugin-api-interfaces.md (94%) diff --git a/docs/private-networks/concepts/plugins.md b/docs/public-networks/concepts/plugins.md similarity index 98% rename from docs/private-networks/concepts/plugins.md rename to docs/public-networks/concepts/plugins.md index df3d4c5074d..47c9d2c28ac 100644 --- a/docs/private-networks/concepts/plugins.md +++ b/docs/public-networks/concepts/plugins.md @@ -3,6 +3,7 @@ title: Plugins sidebar_position: 6 description: Plugins overview tags: + - public networks - private networks --- diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 13471bf469b..16a80b3b582 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -2998,13 +2998,55 @@ plugin-continue-on-error=true -Enables or disables continuing to run Besu if a [plugin](../../../private-networks/concepts/plugins.md) +Enables or disables continuing to run Besu if a [plugin](../../concepts/plugins.md) fails during registration or other startup lifecycle stages. If set to `true` and any plugin fails, Besu logs an error and continues running. If set to `false` and any plugin fails, Besu logs an error and stops running. The default is `false`. +### `plugins` + + + + +```bash +--plugins=[,...]... +``` + + + + +```bash +--plugins=essential-plugin,security-plugin +``` + + + + +```bash +BESU_PLUGINS=essential-plugin,security-plugin +``` + + + + +```bash +plugins=["essential-plugin","security-plugin"] +``` + + + + +Comma-seperated list of [plugin](../../concepts/plugins.md) names to load. Each plugin must reside in +the `plugins` directory. If you omit this option, Besu automatically loads all plugins found in that directory. + +The plugin name to specify is the name of the class that implements +[`BesuPlugin`](https://javadoc.io/doc/org.hyperledger.besu/plugin-api/latest/org/hyperledger/besu/plugin/BesuPlugin.html) +in the plugin source code. + +If the specified plugin is not found, Besu exits with an error identifying the missing plugin. + ### `print-paths-and-exit` diff --git a/docs/private-networks/reference/plugin-api-interfaces.md b/docs/public-networks/reference/plugin-api-interfaces.md similarity index 94% rename from docs/private-networks/reference/plugin-api-interfaces.md rename to docs/public-networks/reference/plugin-api-interfaces.md index 044f4634c8a..475b22b0934 100644 --- a/docs/private-networks/reference/plugin-api-interfaces.md +++ b/docs/public-networks/reference/plugin-api-interfaces.md @@ -3,12 +3,13 @@ title: Plugin API interfaces sidebar_position: 4 description: Plugin interfaces tags: + - public networks - private networks --- # Plugin API interfaces -API interfaces in Besu allow users to [build plugins](../concepts/plugins.md) to extend Besu functionality. +API interfaces in Besu allow users to [build plugins](../../public-networks/concepts/plugins.md) to extend Besu functionality. For more information about the available interfaces, see the [Plugin API Javadoc](https://javadoc.io/doc/org.hyperledger.besu/plugin-api/latest/index.html). @@ -58,4 +59,4 @@ The `start` step can be ignored and your plugin module will be instantiated when ::: -[privacy marker transactions]: ../concepts/privacy/private-transactions/processing.md +[privacy marker transactions]: ../../private-networks//concepts/privacy/private-transactions/processing.md \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index bfd70c8a4e0..dd486b2ad7f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -296,6 +296,14 @@ const config = { { from: ["/private-networks/how-to/configure/tls/client-and-server", "/private-networks/concepts/pki", "/private-networks/how-to/configure/tls/p2p"], to: "/private-networks/how-to/configure/tls", + }, + { + from: "/private-networks/concepts/plugins", + to: "/public-networks/concepts/plugins", + }, + { + from: "/private-networks/reference/plugin-api-interfaces", + to: "/public-networks/reference/plugin-api-interfaces", } ], createRedirects(existingPath) { From 9cf67351c11644d715490ce3356dfc5b650470ca Mon Sep 17 00:00:00 2001 From: bgravenorst Date: Mon, 31 Mar 2025 07:51:58 +1000 Subject: [PATCH 2/2] Fix typo. Signed-off-by: bgravenorst --- docs/public-networks/reference/cli/options.md | 2 +- docs/public-networks/reference/plugin-api-interfaces.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 16a80b3b582..f4827a93d78 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -3041,7 +3041,7 @@ plugins=["essential-plugin","security-plugin"] Comma-seperated list of [plugin](../../concepts/plugins.md) names to load. Each plugin must reside in the `plugins` directory. If you omit this option, Besu automatically loads all plugins found in that directory. -The plugin name to specify is the name of the class that implements +The plugin name is case-sensitive, and is the name of the class that implements [`BesuPlugin`](https://javadoc.io/doc/org.hyperledger.besu/plugin-api/latest/org/hyperledger/besu/plugin/BesuPlugin.html) in the plugin source code. diff --git a/docs/public-networks/reference/plugin-api-interfaces.md b/docs/public-networks/reference/plugin-api-interfaces.md index 475b22b0934..e7b9768b8b3 100644 --- a/docs/public-networks/reference/plugin-api-interfaces.md +++ b/docs/public-networks/reference/plugin-api-interfaces.md @@ -59,4 +59,4 @@ The `start` step can be ignored and your plugin module will be instantiated when ::: -[privacy marker transactions]: ../../private-networks//concepts/privacy/private-transactions/processing.md \ No newline at end of file +[privacy marker transactions]: ../../private-networks/concepts/privacy/private-transactions/processing.md \ No newline at end of file