You've created some awesome rerun modules and now you would like to share them as automation building blocks.
Expose your rerun modules as RUNDECK plugins! Rundeck provides a friendly user interface to people using your modules.
You can expose your commands as different kinds of Rundeck plugins.
rundeck-plugin lets you create several kinds of Rundeck plugins:
- Job steps: Execute your rerun commands on remote nodes. See remote-node-steps command.
- Model source: Write a command that provides node information to your Rundeck projects. See model-source command.
- Node Executor: Write a command that takes a command string and executes it on a remote node. See node-executor command.
That's OK. You can specify multiple modules to the rundeck-plugin commands. When your plugin is built, these other plugins will be included as a rerun archive.
You might want a command option treated like a project configuration setting managed by the Rudneck administrator. For the option in question, add a new metadata key:
RUNDECK_PLUGIN_CONFIG_SCOPE=Project
See Property Scopes for a list.
Besides Boolean and String, what other plugin config property types can I use for my command options?
The rundeck-plugin command supports two default ways of treating your command options. If they take an argument the option is treated like a string otherwise it's treated like a boolean.
You can control this however by specifying the "type" as a metadata property for the option.
RUNDECK_PLUGIN_CONFIG_TYPE={Boolean | String | Integer | Long | Select | FreeSelect}
- Boolean: Generated for command options that don't take an argument.
- String: Generated for options that take an argument. (Default)
- Integer:
- Long:
- Select: must be one of a set of values
- FreeSelect may be one of a set of values
This gives more control over how the options are rendered in the GUI and how the input validation works.
Note: If you specify Select or FreeSelect you should also specify the comma separated list of values.
RUNDECK_PLUGIN_CONFIG_VALUES="val1,val2,val3"
For command options that are Strings you can control how they are rendered.
RUNDECK_PLUGIN_CONFIG_RENDERINGOPTIONS_DISPLAYTYPE={SINGLE_LINE | MULTI_LINE | PASSWORD}
- SINGLE_LINE - display input as a single text field. (default)
- MULTI_LINE - display input as a multi-line text area.
- PASSWORD - display input as a password field. The value will be rendered with "
*****
".