Rundeck Glossary
Introduction
When it comes to job scheduling and automation, knowing the right terms is key.
Here, we break down essential job automation, scheduling, and optimization terms to help you navigate Rundeck with ease. Let's simplify job management together.
Rundeck Terms
A
Activity / Executions: The Activity window displays the execution history of commands and jobs. By default, the Activity page presents both ongoing executions and a record of past executions. Selecting any execution reveals its details and the output result of the job.
C
Commands: A command is a single executable string that is run on a Node. Rundeck uses a node executor to invoke commands on nodes, which evaluates the command string and executes it. The node executor evaluates the command string within a data context that contains information about the Node resource. This allows command strings to reference this data, avoiding the need to hard-code node or environment-specific values. The Rundeck graphical console provides the ability to execute commands on a set of filtered Node resources. The Command page can accept any command string that you might typically run directly on the node's console.
J
Job Definition: Job definitions are stored in either XML or YAML file formats, containing the code that defines the job. These files represent the standard job format for exchanging jobs between different instances. They can be imported or exported to transfer jobs between projects or automation servers.
Job Notifications: Job events can trigger messages referred to as job notifications, such as sending an email or invoking a webhook. These notifications can be configured to occur based on different job events or statuses. The following events are available for assigning a Job Notification:
- Start: Notifications configured to be triggered on job 'start' will be activated when the job begins execution.
- On Success: If the job completes successfully, all notifications configured to be triggered on 'success' will be activated.
- On Failure: If the job fails or is canceled, all notifications configured to be triggered on 'failure' will be activated.
- On Retryable Failure: If the job fails, all retryable 'failure' notifications will be triggered.
- Average Duration Exceeded: This notification is triggered when the job's execution time exceeds a specified duration threshold. If no threshold is provided, the notification will use the average job duration as the trigger.
Job Options: An option is a named parameter of a job, which can be mandatory or optional, presented to the user during job execution. Users can input a value or select from a menu for these options. The chosen value is then accessible to job steps or potentially to sub-jobs invoked by the main job.
Job Steps: A Job Step is an individual unit of work that a Job performs. A job can have multiple, ordered steps, each carrying out a different unit of work. There are two types of job steps available:
- Node steps are designed to be executed on one or more nodes, based on a filter defined in the Nodes section. An example of a node step is a single command or an inline script that will be executed on each targeted node.
- Workflow steps do not operate in a node context. Instead, these steps run on the local Rundeck server and are executed only once within the workflow. For example, the 'Refresh Project Nodes' workflow step updates the Rundeck node cache in case of any changes.
Jobs: Job definitions are stored in either XML or YAML file formats, containing the code that defines the job. These files represent the standard job format for exchanging jobs between different instances. They can be imported or exported to transfer jobs between projects or automation servers. Rundeck allows you to organize and execute Jobs, as well as observe their progress during execution. You can view a list of the currently running Jobs or drill down to see the output of individual executing steps.
K
Key Storage: The Key Storage facility provides a graphical user interface backed by an API to manage public keys, private keys, and passwords. These stored keys are utilized by various Rundeck plugins. The Key Storage entries can also be used as secure value inputs within Job definitions.
L
Log Filters: Log Filters are applied to a Job step to process the output from that step. Certain Job Filters can set variables based on information contained within the log output.
N
Node Executors: Rundeck runs Command items on Nodes, which can be included in a Workflow defined within a Job and executed across multiple nodes. The process of executing these commands in Rundeck involves utilizing the NodeExecutor and FileCopier services.
Node Filter: Node filters are expressions used to specify a group of nodes typically targeted by a job. These filters consist of one or more attribute name: value
pairs. The nodes to be matched are determined by the combination of these attributes. To exclude a match, you can use !attribute name: value
. If no attribute name is specified, the nodename is compared directly to the value.
Nodes: A Node represents a physical or virtual network-accessible host, which can be either a physical or virtual instance. Nodes have basic attributes, but their attributes can be expanded to include arbitrary named key-value pairs. These attributes typically describe the properties of a node or reflect its state. One of a Node's built-in attributes is 'tags', which is a list of classifications or categories that define the Node.
P
Plugins: Rundeck is constructed on a versatile platform architecture, with the expansion of its functionality achieved through plugins. These plugins enable various tasks such as executing commands on nodes, performing job steps, sending job status notifications, collecting network host information, transferring files to remote servers, managing and streaming logs, integrating with user directories, and more. The Process Automation version includes pre-installed plugins to enhance functionality by enabling features like scheduling job executions, offering Guided Tours, incorporating Health Checks, and providing additional capabilities.
Projects: A project in Rundeck serves as a designated space to segregate management tasks. All Rundeck operations, including jobs and commands, are conducted within the scope of a project. It is possible to manage multiple projects on a single Rundeck server. Projects operate autonomously, allowing you to organize disparate systems under a unified Rundeck installation. This capability proves beneficial for overseeing various teams, infrastructures, environments, or applications.
R
Role-based Access Control Policies: Rundeck's access control policy assigns specific privileges to users and user groups, enabling them to carry out actions on Rundeck resources such as projects, jobs, nodes, commands, and the API.
T
Tours: Rundeck Guided Tours offer interactive tutorials to end users, aiding in showcasing Rundeck processes. They serve to familiarize new users with the system or provide detailed guidance on executing complex procedures. Guided Tours are exclusively accessible in the Process Automation version.
W
Webhooks: Webhooks are an industry-standard mechanism for internet applications to communicate with each other. Rundeck Webhooks provide an entry point to automation within Rundeck. They can be configured to accept incoming payloads and trigger Rundeck Jobs as a result.