From da7d6ffeb3d25ae5c82185c31ad9e9316162af56 Mon Sep 17 00:00:00 2001 From: jaspals Date: Thu, 5 Mar 2026 13:50:16 -0600 Subject: [PATCH 1/3] initial commit --- nodescraper/cli/cli.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nodescraper/cli/cli.py b/nodescraper/cli/cli.py index 8303555..085ab86 100644 --- a/nodescraper/cli/cli.py +++ b/nodescraper/cli/cli.py @@ -52,7 +52,7 @@ from nodescraper.configregistry import ConfigRegistry from nodescraper.constants import DEFAULT_LOGGER from nodescraper.enums import ExecutionStatus, SystemInteractionLevel, SystemLocation -from nodescraper.models import SystemInfo +from nodescraper.models import PluginConfig, SystemInfo from nodescraper.pluginexecutor import PluginExecutor from nodescraper.pluginregistry import PluginRegistry @@ -171,6 +171,7 @@ def build_parser( ) subparsers = parser.add_subparsers(dest="subcmd", help="Subcommands") + subparsers.default = "run-plugins" summary_parser = subparsers.add_parser( "summary", @@ -354,6 +355,14 @@ def main(arg_input: Optional[list[str]] = None): plugin_reg = PluginRegistry() config_reg = ConfigRegistry() + # Add synthetic "AllPlugins" config that includes every registered plugin + config_reg.configs["AllPlugins"] = PluginConfig( + name="AllPlugins", + desc="Run all registered plugins with default arguments", + global_args={}, + plugins={name: {} for name in plugin_reg.plugins}, + result_collators={}, + ) parser, plugin_subparser_map = build_parser(plugin_reg, config_reg) try: From f7f568c6d51fd8577cb197892511a8a6e4a54d5e Mon Sep 17 00:00:00 2001 From: jaspals Date: Thu, 5 Mar 2026 14:28:41 -0600 Subject: [PATCH 2/3] readme change --- README.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7c13392..9fe55bc 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ options: --sys-platform STRING Specify system platform (default: None) --plugin-configs [STRING ...] - built-in config names or paths to plugin config JSONs. Available built-in configs: NodeStatus (default: None) + built-in config names or paths to plugin config JSONs. Available built-in configs: AllPlugins, NodeStatus (default: None) --system-config STRING Path to system config json (default: None) --connection-config STRING @@ -370,7 +370,11 @@ Below is an example that skips sudo requiring plugins and disables analysis. ``` #### Plugin config: **'--plugin-configs' command** -A plugin config can be used to compare the system data against the config specifications: +A plugin config can be used to compare the system data against the config specifications. +Built-in configs include **NodeStatus** (a subset of plugins) and **AllPlugins** (runs every +registered plugin with default arguments—useful for generating a reference config from the full system). + +Using a JSON file: ```sh node-scraper --plugin-configs plugin_config.json ``` @@ -431,7 +435,16 @@ Here is an example of a comprehensive plugin config that specifies analyzer args This command can be used to generate a reference config that is populated with current system configurations. Plugins that use analyzer args (where applicable) will be populated with system data. -Sample command: + +**Generate a reference config using all registered plugins** (built-in `AllPlugins` config): +```sh +node-scraper --gen-reference-config --plugin-configs AllPlugins +``` +This runs every plugin with default arguments and writes the resulting reference config to +`./reference_config.json` (or to the log directory if `--log-path` is set). The subcommand +`run-plugins` is the default, so it can be omitted. + +**Generate a reference config for specific plugins:** ```sh node-scraper --gen-reference-config run-plugins BiosPlugin OsPlugin From 8b207be2e9ea45258447987c545c87409e9e12a5 Mon Sep 17 00:00:00 2001 From: Jaspal Singh Date: Mon, 9 Mar 2026 18:10:15 +0000 Subject: [PATCH 3/3] readme correction --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9fe55bc..b8e0155 100644 --- a/README.md +++ b/README.md @@ -436,13 +436,11 @@ This command can be used to generate a reference config that is populated with c configurations. Plugins that use analyzer args (where applicable) will be populated with system data. -**Generate a reference config using all registered plugins** (built-in `AllPlugins` config): +**Run all registered plugins (AllPlugins config):** ```sh -node-scraper --gen-reference-config --plugin-configs AllPlugins +node-scraper --plugin-config AllPlugins + ``` -This runs every plugin with default arguments and writes the resulting reference config to -`./reference_config.json` (or to the log directory if `--log-path` is set). The subcommand -`run-plugins` is the default, so it can be omitted. **Generate a reference config for specific plugins:** ```sh