drpcli plugins¶
drpcli plugins¶
Manage DRP plugins (loaded extension instances)
Synopsis¶
Plugins are instances of plugin providers loaded into the DRP server to extend its functionality. Each plugin is a running instance of a plugin provider binary that can add new resource types, DHCP options, actions, and event handlers.
A plugin is created by instantiating a plugin provider with a specific configuration. Multiple plugin instances can be created from the same provider with different settings.
Plugin providers must be installed on the DRP server (via plugin-providers) before
plugins can be created from them. Common plugins include IPMI management, DHCP option
providers, cloud integrations, and workflow automation extensions.
Key plugin fields: - Name - the unique name for this plugin instance - Provider - the name of the plugin provider to instantiate - Params - configuration parameters passed to the plugin provider - PluginErrors - any errors reported by the plugin during initialization - Available - whether the plugin is currently healthy and operational
Examples¶
# List all loaded plugins
drpcli plugins list
# Show details of a specific plugin
drpcli plugins show my-ipmi-plugin
# Create a new plugin instance from a provider
drpcli plugins create '{"Name":"my-ipmi","Provider":"ipmi","Params":{"ipmi/use-ipmitool":true}}'
# Update plugin configuration
drpcli plugins update my-ipmi '{"Params":{"ipmi/use-ipmitool":false}}'
# Get a specific param value from a plugin
drpcli plugins get my-ipmi param ipmi/use-ipmitool
# Set a param on a plugin
drpcli plugins set my-ipmi param ipmi/use-ipmitool to true
# Delete a plugin
drpcli plugins destroy my-ipmi
Options¶
Options inherited from parent commands¶
--ca-cert string CA certificate used to verify the server certs (with the system set)
-c, --catalog string The catalog file to use to get product information (default "https://repo.rackn.io")
--catalog-path string The path to where the catalog file exists on the drp server. By default and historically this has been /files/rebar-catalog. For example, if no catalog urls are provided, the complete path will be https://drp-ip:8090/files/rebar-catalog (default "/files/rebar-catalog")
-S, --catalog-source string A location from which catalog items can be downloaded. For example, in airgapped mode it would be the local catalog
--client-cert string Client certificate to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
--client-key string Client key to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
-C, --colors string The colors for JSON and Table/Text colorization. 8 values in the for 0=val,val;1=val,val2... (default "0=32;1=33;2=36;3=90;4=34,1;5=35;6=95;7=32;8=92")
-d, --debug Whether the CLI should run in debug mode
-D, --download-proxy string HTTP Proxy to use for downloading catalog and content
-E, --endpoint string The Digital Rebar Provision API endpoint to talk to (default "https://127.0.0.1:8092")
-X, --exit-early Cause drpcli to exit if a command results in an object that has errors
--fetch-catalogs all Determines which catalog urls to use to fetch the catalog. If set to all, all the catalog urls defined with catalog_url and catalog_urls as well as the default catalog will be used. If set to server, only the catalog urls defined on the server will be used. If set to cli, then the specific url specified with the -c flag will be used. It defaults to `all`. Allowed values `all, `server`, `cli`. (default "all")
-f, --force When needed, attempt to force the operation - used on some update/patch calls
--force-new-session Should the client always create a new session
-F, --format string The serialization we expect for output. Can be "json" or "yaml" or "text" or "table" (default "json")
--http-request-retry-count int Specifies the number of retries for downloads in case of failure
--http-request-retry-delay-max int Specifies the maximum delay (in seconds) between HTTP/HTTPS retry attempts (default 60)
--ignore-unix-proxy Should the client ignore unix proxies
-N, --no-color Whether the CLI should output colorized strings
-H, --no-header Should header be shown in "text" or "table" mode
-x, --no-token Do not use token auth or token cache
-P, --password string password of the Digital Rebar Provision user (default "r0cketsk8ts")
-p, --platform string Platform to filter details by. Defaults to current system. Format: arch/os
-J, --print-fields string The fields of the object to display in "text" or "table" mode. Comma separated
-r, --ref string A reference object for update commands that can be a file name, yaml, or json blob
--server-verify Should the client verify the server cert
-G, --show-global-help-flags Show global flags in help message
-T, --token string token of the Digital Rebar Provision access
-t, --trace string The log level API requests should be logged at on the server side
-Z, --trace-token string A token that individual traced requests should report in the server logs
-j, --truncate-length int Truncate columns at this length (default 40)
-u, --url-proxy string URL Proxy for passing actions through another DRP
-U, --username string Name of the Digital Rebar Provision user to talk to (default "rocketskates")
SEE ALSO¶
- drpcli - A CLI application for interacting with the DigitalRebar Provision API
- drpcli plugins action - Show details for a specific action on the plugin
- drpcli plugins actions - List all available actions for the plugin
- drpcli plugins add - Add a parameter to a plugin, failing if the key already exists
- drpcli plugins await - Wait for a plugin's field to become a value within a number of seconds
- drpcli plugins count - Count all plugins
- drpcli plugins create - Create a new plugin with the passed-in JSON or string key
- drpcli plugins destroy - Destroy plugin by id
- drpcli plugins etag - Get the etag for a plugins by id
- drpcli plugins exists - See if a plugins exists by id
- drpcli plugins fieldinfo - Return the documentation for all the fields or the provided field
- drpcli plugins generate - Generate an object of plugins type in the content directory
- drpcli plugins get - Get a single parameter value from a plugin
- drpcli plugins indexes - Get indexes for plugins
- drpcli plugins list - List all plugins
- drpcli plugins meta - Get all metadata key/value pairs for a plugin
- drpcli plugins params - Get or set all parameters for a plugin
- drpcli plugins patch - Patch plugin by ID using the passed-in JSON Patch
- drpcli plugins remove - Remove a parameter from a plugin
- drpcli plugins runaction - Run a plugin action on a plugin
- drpcli plugins set - Set a parameter on a plugin, creating or replacing the value
- drpcli plugins show - Show a single plugins by id
- drpcli plugins update - Unsafely update plugin by id with the passed-in JSON
- drpcli plugins uploadiso - This will attempt to upload the ISO from the specified ISO URL.
- drpcli plugins wait - Wait for a plugin's field to become a value within a number of seconds