# Enterprise Runner (Incubating)

WARNING

This incubating feature is available for preview in this version. Try out the Enterprise Runner, free of charge, while it's incubating and let us know what you think. This feature will be licensed separately once generally available.

The Rundeck Enterprise Runner securely opens up network/communication between data centers and the Rundeck Enterprise Cluster. The Runner is a Remote Execution hub for Node Steps to run on specified endpoints, rather than from the Rundeck server itself.

# Architecture

The Enterprise Runner is a Java based program which uses a polling model to pick up work from Rundeck Enterprise. During each polling cycle (every 5 seconds) the Runner checks for executions that it is responsible for. Communication from the Runner to Rundeck Enterprise happens over https and is initiated from the Runner. This allows for enhanced firewall security as ports no longer need to be open for Rundeck to talk to nodes over more sensitive ports. (e.g. SSH/22)

Runner Architecture
Runner Architecture

# Installation

During Incubating phase it is necessary to turn the feature on manually using the following settings in your rundeck-config.properties rundeck.feature.runner.enabled = true. (RUNDECK_FEATURE_RUNNER_ENABLED: 'true' for docker-compose files)

Follow these steps to install a Runner to Rundeck Enterprise:

# Runner Management

# Assigning Projects/Nodes to a Runner

Runners will execute Node Steps on Nodes within a project based on a Node Filter assigned to the Runner. To assign Projects and specific nodes to a Runner follow these steps:

  1. In the Runner Management screen click on the name of the Runner instance to be edited.
  2. If the project is not listed already choose Add Projects
  3. Toggle the Projects that should be added.
  4. The Node Filter section is used to identify Nodes that this runner is responsible for. By default .* will apply it to all nodes in the project.
  5. Click Add and the projects are now listed under the Runner configuration.

It is possible to edit each project Node Filter individually if needed. Use the Actions menu to Edit the project entry's Node Filter.

# Troubleshooting

Runner Logs are located in the ./runner/logs folder under the folder where the jar was executed from. The runner.log file contains operational and important messages about the runner. operations.log tracks an operation starts and if it succeeds or fails.

# FAQ

Does this replace Clustering?

This feature is intended to be used in situations where execution of Node Steps is needed in a network segment or security zone that is different from the Rundeck Cluster. A Rundeck Enterprise Cluster still provides high-availability and fault tolerance for the User Interface, Job Management/Execution and system management tasks.

Does this work for all communication into the remote data center?

At this time, the Runner will execute Node Executor and File Copier steps. This includes node steps such as Remote Command, Inline Script, Script File, and Copy File, as well as commands executed from the Commands tab. Node Sources, Health Checks, and other communication are not included in this version of the Runner.