Configuration layout

Configuration file layout differs between the RPM and Launcher installation methods. See RPM layout and Launcher layout for details.

RPM layout

/etc/rundeck
|-- admin.aclpolicy
|-- framework.properties
|-- log4j.properties
|-- profile
|-- project.properties
|-- jaas-loginmodule.conf
|-- log4j.properties
|-- realm.properties
|-- rundeck-config.properties
`-- ssl
    |-- ssl.properties
    |-- keystore (not packaged)
    `-- truststore (not packaged)

Launcher layout

$RDECK_BASE/etc
|-- admin.aclpolicy
|-- framework.properties
|-- log4j.properties
|-- profile
`-- project.properties
$RDECK_BASE/server/config
|-- jaas-loginmodule.conf
|-- realm.properties
`-- rundeck-config.properties

Configuration files

Configuration is specified in a number of standard Rundeck configuration files generated during the installation process.

See the Configuration layout section for where these files reside for RPM and Launcher installations.

The purpose of each configuration file is described in its own section.

admin.aclpolicy

Administrator access control policy defined with a "aclpolicy(5)" XML document.

This file governs the access for the "admin" group and role.

See Authorization for information about setting up policy files for other user groups.

framework.properties

Configuration file used by shell tools and core Rundeck services. This file will be created for you at install time.

Some important settings:

  • framework.server.hostname: Hostname of the Rundeck server node
  • framework.server.name: Name (identity) of the Rundeck server node
  • framework.projects.dir: Path to the directory containing Rundeck Project directories. Default is $RDECK_BASE/projects.
  • framework.var.dir: Base directory for output and temp files used by the server and CLI tools. Default is $RDECK_BASE/var.
  • framework.logs.dir: Directory for log files written by core services and Rundeck Server's Job executions. Default is $RDECK_BASE/var/logs
  • framework.server.username: Username for connection to the Rundeck server
  • framework.server.password: Password for connection to the Rundeck server
  • framework.rundeck.url: Base URL for Rundeck server.

Resource Provider settings:

  • framework.resources.allowedURL.X: a sequence of regular expressions (for X starting at 0 and increasing). These are matched against requested providerURL values when the /project/name/resources/refresh API endpoint is called. See Refreshing Resources for a Project.

SSH Connection settings:

  • framework.ssh.keypath: Path to the SSH private key file used for SSH connections
  • framework.ssh.user: Default username for SSH Connections, if not overridden by Node specific value.
  • framework.ssh.timeout: timeout in milliseconds for SSH connections and executions. The default is "0" (no timeout). You can modify this to change the maximum time allowed for SSH connections.

Other settings:

  • framework.log.dispatch.console.format: Default format for non-terse node execution logging run by the dispatch CLI tool.

log4j.properties

Rundeck uses log4j as its application logging facility. This file defines the logging configuration for the Rundeck server.

profile

Shell environment variables used by the shell tools. This file contains several parameters needed during the startup of the shell tools like umask, Java home and classpath, and SSL options.

project.properties

Rundeck project configuration file. One of these is generated at project setup time.

Property Description
project.resources.file A local file path to read a resource model document
project.resources.url The URL to an external Resource Model Source.(Optional)
project.resources.allowedURL.X A sequence of regular expressions (for X starting at 0 and increasing).
resources.source.N... Defines a Resource model source see Resource Model Sources.

The project.resources.allowedURL.X values are matched against requested providerURL values when the /project/name/resources/refresh API endpoint is called. See Refreshing Resources for a Project.

jaas-loginmodule.conf

JAAS configuration for the Rundeck server. The listing below shows the file content for a normal RPM installation. One can see it specifies the use of the PropertyFileLoginModule:

RDpropertyfilelogin {
  org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
  debug="true"
  file="/etc/rundeck/realm.properties";
};

realm.properties

Property file user directory when PropertyFileLoginModule is used. Specified from jaas-loginmodule.conf.

rundeck-config.properties

The primary Rundeck webapp configuration file. Defines default loglevel, datasource configuration, and GUI customization.

Notification email settings

The URL and From: address used in email notifications are managed via the settings located in the rundeck-config.properties file.

The two properties are:

  • grails.serverURL
  • grails.mail.default.from

Here's an example:

grails.serverURL=https://node.fully.qualified.domain.name:4443
grails.mail.default.from=deployer@domain.com

GUI Admin Page

The Rundeck GUI has an Admin Page which contains lets you view and manage some configuration options. If you have admin role access, when you log in you will see an "Admin" link in the header of the page near your username:

Admin page link

Admin page link

Clicking on this link will take you to the Admin Page:

Admin page

Admin page

This page contains links to two sub-pages, and configuration information about the currently selected Project.

System Information Page

The System Information page gives you a breakdown of some of the Rundeck server's system statistics and information:

System Info Page

System Info Page

This information is also available via the API: API > System Info

User Profiles Page

The User Profiles page lists all User Profile records in the system. User Profiles are used to store some user preferences, and can be used to generate API Tokens for admin users.

User Profiles Page

User Profiles Page

Project Configuration

The selected project will be displayed with basic configuration options, and the list of configure Resource Model Sources, as well as the default Node Executor and File Copier settings.

If you click on "Configure Project", you will be taken to the Project Configuration form.

Project Configuration Form

Project Configuration Form

The first two fields allow configuration of some simple project basics.

First, you can enter a URL for a Resource Model Source, which will be used as a URL Resource Model Source with default configuration options.

Secondly, you can enter the Default SSH Key File, which is the private SSH Key file used by default for SSH and SCP actions. If you are not using SSH or SCP you do not have to enter one.

There are then several more sections: Resource Model Sources, Default Node Executor, and Default File Copier sections. These are described below:

Resource Model Sources Configuration

This section lets you add and modify Resource Model Sources for the project.

To add a new one, click "Add Source". You are prompted to select a type of source. The list shown will include all of the built-in types of sources, as well as any Plugins you have installed.

Add Resource Model Source

Add Resource Model Source

When you click "Add" for a type, you will be shown the configuration options for the type.

Configure Resource Model Source

Configure Resource Model Source

You can then click "Cancel" or "Save" to discard or add the configuration to the list.

Each item you add will be shown in the list:

Configured Source

Configured Source

To edit an item in the list click the "Edit" button. To delete an item in the list click the "Delete" button.

Each type of Resource Model Source will have different configuration settings of its own. The built-in Resource Model Source providers are shown below.

You can install more sources as plugins, see Resource Model Source Plugins.

File Resource Model Source

This is the File Resource Model Source configuration form:

File Resource Model Source

File Resource Model Source

See File Resource Model Source Configuration for more configuration information.

Directory Resource Model Source

Allows a directory to be scanned for resource document files. All files with an extension supported by one of the Resource Model Document Formats are included.

Directory Resource Model Source

Directory Resource Model Source

See Directory Resource Model Source Configuration for more configuration information.

Script Resource Model Source

This source can run an external script to produce the resource model definitions.

Script Resource Model Source

Script Resource Model Source

See Script Resource Model Source Configuration for more configuration information.

URL Resource Model Source

This source performs a HTTP GET request on a URL to return the resource definitions.

URL Resource Model Source

URL Resource Model Source

See URL Resource Model Source Configuration for more configuration information.

Default Node Executor Configuration

When Rundeck executes a command on a node, it does so via a "Node Executor". The most common built-in Node Executor is the "SSH" implementation, which uses SSH to connect to the remote node, however other implementations can be used.

Select the Default Node Executor you wish to use for all remote Nodes for the project:

Default Node Executor Choice

Default Node Executor Choice

You can install more types of Node Executors as plugins, see Node Execution Plugins.

Default File Copier Configuration

When Rundeck executes a script on a node, it does so by first copying the script as a file to the node, via a "File Copier". (It then uses a "Node Executor" to execute the script like a command.)

The most common built-in File Copier is the "SCP" implementation, which uses SCP to copy the file to the remote node, however other implementations can be used.

Select the Default File Copier you wish to use for all remote Nodes for the project:

Default File Copier Choice

Default File Copier Choice

You can install more types of File Copiers as plugins, see Node Execution Plugins.