### Quick Install Rundeck Enterprise on Debian/Ubuntu Source: https://docs.rundeck.com/docs/administration/install Automate the setup of the Rundeck Pro Debian repository and install Rundeck Enterprise using apt-get. This script handles repository configuration and package installation in one step. ```Shell curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeckpro sudo apt-get install rundeckpro-enterprise ``` -------------------------------- ### Install and Launch PagerDuty Runbook Automation Runner on Linux Source: https://docs.rundeck.com/docs/learning/solutions/automated-diagnostics/automation-actions This sequence of shell commands guides the installation of Java 11+, creation of a dedicated directory, placement of credential files, downloading the PagerDuty runner JAR, and finally launching the runner on a Linux system (e.g., Ubuntu). It also includes commands for verifying the installation and checking logs. ```Bash sudo apt-get update sudo apt install openjdk-11-jre-headless mkdir automation_runner cd automation_runner mv credentials.pdrunner-creds .pdrunner-creds wget https://runbook-actions.pagerduty.com/pd-runner.jar ls -larths java -jar pd-runner.jar & tail -f /home/ubuntu/automation_runner/runner/logs/runner.log ``` -------------------------------- ### Start Rundeck WAR for Initial Upgrade Boot Source: https://docs.rundeck.com/docs/upgrading/upgrading This snippet shows how to start the Rundeck WAR file. The first command is used during initial upgrade preparation, skipping installation and redirecting logs. The second command is for a clean boot of the new WAR file after it's copied to the base directory. ```Shell java %RDECK_CLI_OPTS% %RDECK_SSL_OPTS% -jar rundeckpro-enterprise-4.10.2-20201111.war --skipinstall -d >> %CURDIR%\var\logs\service.log 2>&1 ``` ```Shell java -jar rundeckpro-enterprise-5.13.0-20250625.war ``` -------------------------------- ### Quick Install Rundeck Enterprise on RPM-based Systems Source: https://docs.rundeck.com/docs/administration/install Automate the setup of the Rundeck Pro RPM repository and install Rundeck Enterprise using yum. This script streamlines the installation process for Red Hat, CentOS, and similar distributions. ```Shell curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/rpm-setup.sh 2> /dev/null | sudo bash -s rundeckpro sudo yum install java rundeckpro-enterprise ``` -------------------------------- ### Start Rundeck Server Daemon Source: https://docs.rundeck.com/docs/administration/maintenance/backup Command to start the Rundeck daemon process. This is typically executed after server maintenance, recovery, or initial setup to bring the Rundeck instance back online and resume operations. ```shell rundeckd start ``` -------------------------------- ### Quick Install RundeckPro with APT using Setup Script Source: https://docs.rundeck.com/docs/administration/install/linux-deb This command executes a shell script downloaded from the Rundeck packaging GitHub repository. The script automates the process of setting up the RundeckPro APT repository and initiating the installation of RundeckPro, providing a quick and convenient installation method. ```bash curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeckpro ``` -------------------------------- ### Example SSL Properties Configuration Source: https://docs.rundeck.com/docs/administration/security/ssl An example configuration for the `ssl.properties` file, showing how to define the paths and passwords for the keystore and truststore. Adjust paths and passwords according to your setup. ```Properties keystore=/etc/rundeck/ssl/keystore keystore.password=adminadmin key.password=adminadmin truststore=/etc/rundeck/ssl/truststore truststore.password=adminadmin ``` -------------------------------- ### Install Rundeck CLI via Standalone JAR Source: https://docs.rundeck.com/docs/rd-cli/install Guide to installing and running the Rundeck CLI using its standalone executable JAR file. This method requires Java to be installed on the system and involves directly executing the downloaded JAR file. ```bash java -jar rundeck-cli-2.0.9-all.jar ``` -------------------------------- ### Rundeck Runner Configuration Environment Variables Example Source: https://docs.rundeck.com/docs/administration/runner/runner-installation/runner-install Example environment variables used to configure the Rundeck Runner's connection properties, including client ID, server token, and server URL. These can be set when the Runner process is started. ```bash RUNNER_RUNDECK_CLIENT_ID=6cd5c8c0-3824-463f-addb-cf2df1e882ef3 RUNNER_RUNDECK_SERVER_TOKEN=8FpagGtalnxnv1fmllyYYz4quhNHpBR8 RUNNER_RUNDECK_SERVER_URL=http://192.168.100.2:4440/ ``` -------------------------------- ### Create AWS RDS MySQL Instance for Rundeck Source: https://docs.rundeck.com/docs/administration/install/aws Details the process of launching an AWS RDS MySQL instance (`rundeck-rds`), placing it within the `rundeck-rds` security group, and specifying a database named 'rundeck' for Enterprise installation. ```APIDOC AWS RDS MySQL Instance Configuration: Instance Name: rundeck-rds Engine: MySQL Security Group: rundeck-rds Database Name: rundeck Purpose: Database for Rundeck Enterprise installation. ``` -------------------------------- ### Execute Rundeck WAR File for Initial Setup (Java) Source: https://docs.rundeck.com/docs/administration/install/windows These Java commands launch the Rundeck WAR file for the first time, which triggers the generation of configuration files and the default folder structure. This process is essential for initial setup and may take a few minutes depending on system performance. ```Java java -jar rundeckpro-enterprise-5.13.0-20250625.war ``` ```Java java -jar rundeck-5.13.0-20250625.war ``` -------------------------------- ### Manage Rundeck Server (Launcher Installation) Source: https://docs.rundeck.com/docs/administration/maintenance/startup These commands illustrate how to start and stop the Rundeck server when it has been installed via the Launcher method. The control script is found within the `$RDECK_BASE/server/sbin/` directory. ```Shell $RDECK_BASE/server/sbin/rundeckd start ``` ```Shell $RDECK_BASE/server/sbin/rundeckd stop ``` -------------------------------- ### Start Rundeck Runner Service from JAR Source: https://docs.rundeck.com/docs/administration/runner/pre-4-11-runners Execute this command to start the Rundeck Runner service after copying the JAR file to the desired server and directory. Ensure Java 11 is installed on the system as it is a prerequisite for running the Runner JAR. ```bash java -jar runner_filename.jar ``` -------------------------------- ### Start Rundeck service on Linux Source: https://docs.rundeck.com/docs/administration/install/linux-deb Reloads the systemd daemon configuration and then starts the `rundeckd` service. This command initiates the Rundeck application process. ```bash sudo systemctl daemon-reload sudo service rundeckd start ``` -------------------------------- ### Rundeck Vault Storage Basic Configuration Example Source: https://docs.rundeck.com/docs/manual/key-storage/storage-plugins/vault Provides a basic configuration example for integrating Rundeck with Vault. It sets up the storage provider type, path, prefix, secret backend, Vault address, and authentication token. This is a common starting point for new Vault integrations. ```Properties rundeck.storage.provider.1.type=vault-storage rundeck.storage.provider.1.path=keys rundeck.storage.provider.1.removePathPrefix=true rundeck.storage.provider.1.config.prefix=rundeck rundeck.storage.provider.1.config.secretBackend=secret rundeck.storage.provider.1.config.address=$VAULT_URL rundeck.storage.provider.1.config.token=$VAULT_TOKEN ``` -------------------------------- ### Execute Shell Command on Rundeck Nodes Source: https://docs.rundeck.com/docs/learning/tutorial/commands Demonstrates how to run a shell command, specifically `uname -a`, on configured nodes within the Rundeck graphical console. This command retrieves operating system information from the target nodes, with the output displayed for each node. ```Shell uname -a ``` -------------------------------- ### Verify Kubernetes Python Client Installation Source: https://docs.rundeck.com/docs/manual/plugins/kubernetes-open-source Example of how to test the successful installation of the Kubernetes Python client by importing the client and config modules in an interactive Python shell. This confirms the libraries are accessible. ```Shell ubuntu@ip-172-31-13-91:~$ python Python 2.7.17 (default, Mar 8 2023, 18:40:28) [GCC 7.5.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from kubernetes import client, config >>> ``` -------------------------------- ### Install Rundeck CLI from AUR on Arch Linux Source: https://docs.rundeck.com/docs/rd-cli/install This sequence of commands facilitates the installation of the `rundeck-cli` tool on Arch Linux by cloning its package from the Arch User Repository (AUR). After cloning, it navigates into the package directory and uses `makepkg -i` to build and install the package. ```bash git clone https://aur.archlinux.org/rundeck-cli.git cd rundeck-cli makepkg -i ``` -------------------------------- ### Start Rundeck Welcome Project Containers in Detached Mode Source: https://docs.rundeck.com/docs/learning/howto/welcome-project-starter This command starts all container components defined in the `docker-compose.yml` file in the background (detached mode). It allows the user to continue using the terminal while the environment runs. This process can take some time to fully initialize. ```shell docker-compose up -d ``` -------------------------------- ### Quick install Rundeck Community via apt script Source: https://docs.rundeck.com/docs/administration/install/linux-deb Performs a quick installation of Rundeck Community Edition by piping a remote shell script directly to `sudo bash`. This automates repository setup and installation. ```bash curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/deb-setup.sh 2> /dev/null | sudo bash -s rundeck ``` -------------------------------- ### Install Rundeck CLI via ZIP Archive Source: https://docs.rundeck.com/docs/rd-cli/install Steps to install the Rundeck CLI by downloading and extracting a ZIP archive. This method provides the 'rd' executable script within the extracted directory for direct use, requiring manual path configuration if desired. ```bash unzip rd-2.0.9.zip ``` ```bash rd-2.0.9/bin/rd ``` -------------------------------- ### Install MongoDB on Ubuntu Source: https://docs.rundeck.com/docs/learning/howto/how2mongodb Installs the MongoDB server package on an Ubuntu system using the apt-get package manager. This command requires superuser privileges. ```Bash sudo apt-get install mongodb ``` -------------------------------- ### Manage Rundeck Server (RPM/DEB Installation) Source: https://docs.rundeck.com/docs/administration/maintenance/startup These commands demonstrate how to start and stop the Rundeck server when it has been installed using RPM or DEB packages. The control script is typically located at `/etc/init.d/rundeckd`. ```Shell /etc/init.d/rundeckd start ``` ```Shell /etc/init.d/rundeckd stop ``` -------------------------------- ### Verify Rundeck Server Startup Message Source: https://docs.rundeck.com/docs/administration/install/jar Displays the expected console output message indicating that the Rundeck application has successfully started. This message confirms that the server is running in production mode and specifies the URL and port where it is accessible. ```shell Grails application running at http://ecto1.local:4440 in environment: production ``` -------------------------------- ### Manual Install Rundeck Enterprise on Debian/Ubuntu Source: https://docs.rundeck.com/docs/administration/install Manually configure the Rundeck Pro repository for Debian/Ubuntu systems. This involves importing the GPG key, adding repository entries to sources.list, updating the apt cache, and finally installing the Rundeck Enterprise package. ```Shell curl -L https://packages.rundeck.com/pagerduty/rundeckpro/gpgkey | sudo apt-key add - ``` ```Shell deb https://packages.rundeck.com/pagerduty/rundeckpro/any/ any main deb-src https://packages.rundeck.com/pagerduty/rundeckpro/any/ any main ``` ```Shell sudo apt-get update sudo apt-get install rundeckpro-enterprise ``` -------------------------------- ### Rundeck Executions Log Entry Example Source: https://docs.rundeck.com/docs/learning/howto/workinglogs Example of entries in the `rundeck.executions.log` file, which records activity related to job executions. It shows the start and finish status of an execution, including the user, project, job name, and unique execution ID. ```Text [[2m2022-03-28T12:48:46,664[m] [32mINFO [m [36mexecution.status[m admin start [1:running] ProjectEXAMPLE admin/- "-/HelloWorld -"[bbddae57-0b20-4fe2-9118-74d124f63943] [[2m2022-03-28T12:48:47,748[m] [32mINFO [m [36mexecution.status[m admin finish [1:succeeded] ProjectEXAMPLE admin/- "-/HelloWorld -"[bbddae57-0b20-4fe2-9118-74d124f63943] ``` -------------------------------- ### Rundeck Job Definition for MongoDB E-Commerce Database Setup Source: https://docs.rundeck.com/docs/learning/howto/how2mongodb A comprehensive YAML-based Rundeck job definition designed to automate the setup of an e-commerce MongoDB database. This job includes sequential steps for dropping an existing database, creating 'products', 'customers', and 'orders' collections, and inserting initial sample data. It assumes specific MongoDB host, user, and password storage configurations for execution. ```YAML - defaultTab: nodes description: 'Sets up a complete e-commerce database with products, customers, and orders' executionEnabled: true group: MongoDB id: mongodb-ecommerce-setup loglevel: INFO name: MongoDB E-Commerce Setup nodeFilterEditable: false nodefilters: dispatch: excludePrecedence: true keepgoing: false rankOrder: ascending successOnEmptyNodeFilter: false threadcount: '1' filter: 'tags: "RUNNER"' nodesSelectedByDefault: false scheduleEnabled: true sequence: commands: # Step 1: Create Database - configuration: mongoCommand: |- { "dropDatabase": 1 } mongoDatabase: ecommerce_db mongoHost: mongodb mongoType: MongoDB mongoUser: admin outputMode: RELAXED passwordStoragePath: keys/mongodb description: Drop existing database if exists nodeStep: true type: mongodb-nodestep # Step 2: Create Products Collection - configuration: mongoCommand: |- { "create": "products" } mongoDatabase: ecommerce_db mongoHost: mongodb mongoType: MongoDB mongoUser: admin outputMode: RELAXED passwordStoragePath: keys/mongodb description: Create Products Collection nodeStep: true type: mongodb-nodestep # Step 3: Insert Products - configuration: mongoCommand: |- { "insert": "products", "documents": [ { "name": "Laptop", "price": 999.99, "category": "Electronics", "stock": 50, "specifications": { "brand": "TechBrand", "model": "Pro2024", "ram": "16GB", "storage": "512GB SSD" } }, { "name": "Smartphone", "price": 699.99, "category": "Electronics", "stock": 100, "specifications": { "brand": "MobileX", "model": "X12", "ram": "8GB", "storage": "256GB" } }, { "name": "Coffee Maker", "price": 79.99, "category": "Appliances", "stock": 30, "specifications": { "brand": "HomeBrew", "model": "CM100", "capacity": "12 cups" } } ] } mongoDatabase: ecommerce_db mongoHost: mongodb mongoType: MongoDB mongoUser: admin outputMode: RELAXED passwordStoragePath: keys/mongodb description: Insert Products nodeStep: true type: mongodb-nodestep # Step 4: Create Customers Collection - configuration: mongoCommand: |- { "create": "customers" } mongoDatabase: ecommerce_db mongoHost: mongodb mongoType: MongoDB mongoUser: admin outputMode: RELAXED passwordStoragePath: keys/mongodb description: Create Customers Collection nodeStep: true ``` -------------------------------- ### Expected Rundeck startup log message Source: https://docs.rundeck.com/docs/administration/install/linux-deb This snippet shows the typical log message indicating that the Rundeck application has successfully started and is running, usually accessible via `http://localhost:4440`. ```text Grails application running at http://localhost:4440 in environment: production ``` -------------------------------- ### Build and Run Docker Compose Project for Rundeck Source: https://docs.rundeck.com/docs/learning/howto/S3-minio Commands to build the Docker images and start the services defined in the docker-compose.yml file, initiating the Rundeck and Minio setup. ```Shell docker-compose build ``` ```Shell docker-compose up ``` -------------------------------- ### Install Java JRE on Ubuntu Source: https://docs.rundeck.com/docs/learning/getting-started/server-setup-overview This command installs the OpenJDK 11 Java Runtime Environment on an Ubuntu system. Java JRE is a prerequisite for running the Rundeck server. ```Shell sudo apt install openjdk-11-jre ``` -------------------------------- ### Display Rundeck Executable WAR Command-Line Help Source: https://docs.rundeck.com/docs/administration/install/jar Runs the Rundeck executable WAR file with the `-h` (help) option to display all available command-line arguments and their descriptions. This provides a quick reference for customizing server startup behavior and installation options. ```shell java -Xmx4g -jar rundeck-5.13.0-20250625.war -h ``` -------------------------------- ### Build Docker Compose Images for Rundeck Welcome Project Source: https://docs.rundeck.com/docs/learning/howto/welcome-project-starter This command builds the Docker images required for the Rundeck Welcome Project environment. It should be executed from the directory containing the `docker-compose.yml` file. The initial build process may take several minutes to complete. ```shell docker-compose build ``` -------------------------------- ### Run Rundeck Enterprise with Docker Source: https://docs.rundeck.com/docs/administration/install Quickly launch a Rundeck Enterprise instance using a Docker container. This command runs the container in interactive mode, maps port 4440 from the container to the host, and automatically removes the container upon exit. ```Shell docker run --rm -it -p 4440:4440 rundeckpro/enterprise:5.13.0 ``` -------------------------------- ### Rundeck Executable WAR Command-Line Options Reference Source: https://docs.rundeck.com/docs/administration/install/jar Comprehensive documentation for the command-line arguments supported by the Rundeck executable WAR file. These options allow users to customize installation paths, control server startup behavior, and enable debug information, providing flexibility in deployment and management. ```APIDOC usage: java [JAVA_OPTIONS] -jar rundeck.war [-c PATH] [-d] [--installonly] [-s PATH] [-b PATH] [-p PATH] [-h] [-x PATH] [--skipinstall] [--serverdir PATH] [--datadir PATH] Run the rundeck server, installing the necessary components if they do not exist. --skipinstall Skip the extraction of the utilities from the launcher. --installonly Perform installation only and do not start the server. -b,--basedir The basedir -c,--configdir The location of the configuration. -d Show debug information -h,--help Display this message. -p,--projectdir The location of Rundeck's project data. -s,--sbindir The install directory for the tools used by administrators. -x,--bindir The install directory for the tools used by users. ``` -------------------------------- ### Example: Blocking Plugins by JAR File Name Source: https://docs.rundeck.com/docs/administration/security/blocklist Illustrates how to use the "fileNameEntries" section in the plugin blocklist YAML to prevent entire plugin JARs, such as all "rundeckpro-jira" plugins, from being copied or used during Rundeck setup and installation. ```YAML fileNameEntries: - rundeckpro-jira-plugins providerNameEntries: none: ``` -------------------------------- ### Rundeck ACL: System-Level Project Read Access Source: https://docs.rundeck.com/docs/learning/howto/acl_basic_examples Provides an example of a system-level ACL policy granting read access to 'ProjectY' for users belonging to 'my_role'. This is a foundational step for giving users access to a specific project within Rundeck. ```yaml description: System-level read access to a specific project context: application: rundeck for: project: - equals: name: ProjectY allow: read by: group: my_role ``` -------------------------------- ### Build Rundeck Documentation with Make Source: https://docs.rundeck.com/docs/administration/install/source This command compiles the Rundeck documentation from its source files. Building the documentation requires `pandoc` for document conversion and `groovy` for scripting to be installed on the system. ```Shell make ``` -------------------------------- ### Configure Rundeck Runner with HTTP Proxy (Basic Authentication) Source: https://docs.rundeck.com/docs/administration/runner/pre-4-11-runners This command starts the Rundeck Runner, configuring it to connect through an HTTP proxy that requires basic authentication. It extends the unauthenticated proxy setup by adding Java system properties for the proxy username and password. ```bash java -Dmicronaut.http.client.proxy-type=http -Dmicronaut.http.client.proxy-address=wp.acme.corp:443 -Dmicronaut.http.client.proxy-username=proxyUsernameString -Dmicronaut.http.client.proxy-password=proxyPassString -jar pdrunner.jar ``` -------------------------------- ### Install Rundeck CLI via Homebrew Source: https://docs.rundeck.com/docs/rd-cli/install Instructions for installing the Rundeck CLI on macOS using the Homebrew package manager. This involves tapping the official Rundeck CLI repository and then installing the package. ```bash brew tap rundeck/rundeck-cli brew install rundeck-cli ``` -------------------------------- ### Install Rundeck Plugin via File Copy Source: https://docs.rundeck.com/docs/administration/configuration/plugins/installing This command copies a plugin file (e.g., a .zip or .jar) into the Rundeck server's `libext` directory. Placing the file here enables the plugin immediately, and any providers it defines become available for use by nodes or projects without requiring a server restart. Ensure `$RDECK_BASE` is correctly set to your Rundeck installation directory. ```shell cp some-plugin.zip $RDECK_BASE/libext ``` -------------------------------- ### Rundeck CyberArk Storage Provider General Configuration Example Source: https://docs.rundeck.com/docs/manual/key-storage/storage-plugins/cyberark-storage Example configuration properties for setting up the Rundeck storage provider to connect with CyberArk, including base URL, authentication credentials, and keystore paths. These properties are typically placed in a Rundeck configuration file. ```properties rundeck.storage.provider.1.removePathPrefix=true rundeck.storage.provider.1.config.baseURL=https://your.cyberarkserver.com rundeck.storage.provider.1.config.username=[username] rundeck.storage.provider.1.config.password=[password] rundeck.storage.provider.1.config.appId=testappid rundeck.storage.provider.1.config.platformId=WinServerLocal rundeck.storage.provider.1.config.createUsername=[createUsername] rundeck.storage.provider.1.config.clientKeyStore=/path/to/file/cyberArkKeyStore rundeck.storage.provider.1.config.clientKeyStorePassword=[password] rundeck.storage.provider.1.config.rootCAKeyStore=/path/to/file/cyberArkKeyStore rundeck.storage.provider.1.config.rootCAKeyStorePassword=[password] rundeck.storage.provider.1.config.privateKeyStore=/path/to/file/privateKeyStore rundeck.storage.provider.1.config.privateKeyStorePassword=[password] rundeck.storage.provider.1.config.privateKeyPassword=[password] rundeck.storage.provider.1.config.privateKeyName=client_1-28 rundeck.storage.provider.1.config.rootCAName=rootca rundeck.storage.provider.1.config.clientCertName=clientcert ``` -------------------------------- ### Initialize Gradle Wrapper for Plugin Project Source: https://docs.rundeck.com/docs/learning/howto/plugin-bootstrap Navigates into the newly generated plugin directory and initializes the Gradle wrapper. This command sets up Gradle for the project, allowing subsequent build and test commands to be executed without a global Gradle installation. ```Shell cd rundeck-plugins/hellojava gradle wrapper ``` -------------------------------- ### Configure Rundeck Database Connection in rundeck-config.properties Source: https://docs.rundeck.com/docs/administration/install This snippet provides `dataSource` configuration examples for the `rundeck-config.properties` file to connect Rundeck to various database systems. Replace ``, ``, and `` with your specific database details. Ensure there are no spaces between the equal sign and the value for passwords with special characters. ```Java Properties dataSource.url = jdbc:mysql:///rundeck?autoReconnect=true&useSSL=false dataSource.username = dataSource.password = dataSource.driverClassName = org.mariadb.jdbc.Driver ``` ```Java Properties dataSource.driverClassName = org.postgresql.Driver dataSource.url = jdbc:postgresql:///rundeck dataSource.username= dataSource.password= ``` ```Java Properties dataSource.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver dataSource.url = jdbc:sqlserver://;DatabaseName=RUNDECK dataSource.username = dataSource.password = ``` ```Java Properties dataSource.url = jdbc:oracle:thin:@:1521:orcl # (change server name and instance name) dataSource.driverClassName = oracle.jdbc.OracleDriver dataSource.username = dataSource.password = dataSource.dialect = org.rundeck.hibernate.RundeckOracleDialect dataSource.properties.validationQuery = SELECT 1 FROM DUAL ``` -------------------------------- ### Get Rundeck System Information via API Source: https://docs.rundeck.com/docs/api/api_basics This snippet demonstrates how to retrieve general system information from a Rundeck instance using a GET request to the /system/info endpoint. It requires an 'Accept' header for JSON response. ```APIDOC GET {{rdeck_hostname}}:{{rdeck_port}}/api/{{rdeck_api_version}}/system/info Headers: Accept: application/json ``` -------------------------------- ### Example Rundeck GUI Configuration in properties file Source: https://docs.rundeck.com/docs/learning/howto/customize-gui Demonstrates how to configure various Rundeck GUI customization parameters by adding them to the `rundeck-config.properties` file. This example sets the instance name, colors, title, and login welcome message for a production environment. ```Properties rundeck.gui.instanceName=Production rundeck.gui.instanceNameLabelColor=#880808 rundeck.gui.instanceNameLabelTextColor=#FFFFFF rundeck.gui.title=Production rundeck.gui.login.welcome=Welcome to Production Instance rundeck.gui.login.footerMessageHtml=Lab One ``` -------------------------------- ### Example Framework Properties Configuration Source: https://docs.rundeck.com/docs/administration/security/ssl An example configuration for the `framework.properties` file, demonstrating how to set the Rundeck server URL and port to use HTTPS. Ensure the port matches your SSL configuration. ```Properties framework.server.url=https://localhost:4443 framework.server.port=4443 ``` -------------------------------- ### Install Rundeck CLI on Debian Source: https://docs.rundeck.com/docs/rd-cli/install This command installs the `rundeck-cli` package on a Debian-based system using the `apt-get` package manager. This step assumes that the Packagecloud repository has been successfully added to the system's APT sources. ```bash apt-get install rundeck-cli ``` -------------------------------- ### Manual Install Rundeck Enterprise on RPM-based Systems Source: https://docs.rundeck.com/docs/administration/install Manually configure the Rundeck Pro repository for RPM-based systems. This involves adding the repository configuration to `/etc/yum.repos.d/rundeck.repo` and then installing the Rundeck Enterprise package using yum. ```INI [rundeckpro] name=rundeckpro baseurl=https://packages.rundeck.com/pagerduty/rundeckpro/rpm_any/rpm_any/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packages.rundeck.com/pagerduty/rundeckpro/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 ``` ```Shell sudo yum install java rundeckpro-enterprise ``` -------------------------------- ### Rundeck Access Log Entry Example Source: https://docs.rundeck.com/docs/learning/howto/workinglogs Example of an entry in the `rundeck.access.log` file, which records all user access to the Rundeck instance. It shows details like timestamp, log level, source, HTTP method, path, IP address, protocol, authentication method, and user agent. ```Text [[2m2022-03-28T12:48:03,577[m] [32mINFO [m [36mweb.requests[m "GET /user/login" 127.0.0.1 http form 148 ? [] (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:98.0) Gecko/20100101 Firefox/98.0) ``` -------------------------------- ### Upgrade Rundeck using Runnable WAR Method Source: https://docs.rundeck.com/docs/upgrading/upgrading This sequence of commands outlines the process for upgrading Rundeck when using the runnable WAR distribution. It includes stopping the service, backing up custom plugins, removing old core files, ensuring proper installation, running the new WAR in install-only mode, and finally starting the service. ```Shell $RDECK_BASE/server/sbin/rundeckd stop ``` ```Shell mv $RDECK_BASE/libext $RDECK_BASE/libext.3 ``` ```Shell rm -rf $RDECK_BASE/server/lib/rundeck-core*jar $RDECK_BASE/server/sbin/ $RDECK_BASE/tools/ $RDECK_BASE/var/.install_complete-missing-ver ``` ```Shell rm var/.install_complete-missing-ver ``` ```Shell java -jar rundeck-5.13.0-20250625.war --installonly ``` ```Shell $RDECK_BASE/server/sbin/rundeckd start ``` -------------------------------- ### Example Bash Script for Rundeck Plugin Source: https://docs.rundeck.com/docs/learning/howto/custom-script-plugin-hello-world A simple bash script intended to be wrapped by a Rundeck plugin. It prints a greeting, the hostname where it executes, and two parameters passed to it, demonstrating basic script functionality within the plugin context. This script will reside in `/contents/exec`. ```Bash #!/bin/bash set -eu echo "Hello world from $(hostname)! I am a $1. Don't tell anyone that the secret is \"$2\" ``` -------------------------------- ### Quick Install Runbook Automation Yum Repository Source: https://docs.rundeck.com/docs/administration/install/linux-rpm This shell command facilitates a quick installation by adding the Runbook Automation yum repository to your system. It uses `curl` to fetch and execute a setup script, preparing your environment for installing Rundeck via `yum`. ```Shell curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/rpm-setup.sh 2> /dev/null | sudo bash -s rundeckpro ``` -------------------------------- ### Example Rundeck Resource Model Source Configuration Source: https://docs.rundeck.com/docs/administration/configuration/plugins/configuring Provides a practical example of configuring resource model sources in Rundeck's project.properties. This includes setting a default file source, an external URL source, and a local directory source, demonstrating how different types of resource providers are integrated. ```Properties project.resources.file=/home/rundeck/projects/example/etc/resources.xml resources.source.1.type=url resources.source.1.url=http://server/nodes.yaml resources.source.2.type=directory resources.source.2.directory=/home/rundeck/projects/example/resources ``` -------------------------------- ### Fully Clean Up Docker Compose Environment and Images Source: https://docs.rundeck.com/docs/learning/howto/welcome-project-starter This command performs a complete cleanup of the Docker Compose environment. It stops and removes all containers, networks, and also removes named volumes (`--volume`) and all images used by any service (`--rmi all`). Use this for a fresh start or to free up significant disk space. ```shell docker-compose down --volume --rmi all ``` -------------------------------- ### Install Rundeck CLI via Yum on RPM-based Systems Source: https://docs.rundeck.com/docs/rd-cli/install Detailed instructions for installing the Rundeck CLI on RPM-based Linux distributions (e.g., CentOS, RHEL, Fedora) using the Yum package manager. This includes adding the official repository, optionally enabling GPG checks for package integrity, and performing the final installation. ```bash curl -s https://packagecloud.io/install/repositories/pagerduty/rundeck/script.rpm.sh?any=true | sudo bash ``` ```bash sed -i.bak s/gpgcheck=0/gpgcheck=1/ /etc/yum.repos.d/rundeck.repo rpm --import https://raw.githubusercontent.com/rundeck/packaging/main/pubring.gpg ``` ```bash yum install rundeck-cli ``` -------------------------------- ### Run Rundeck Executable WAR File Source: https://docs.rundeck.com/docs/administration/install/jar Navigates to the Rundeck base directory and executes the WAR file using Java, allocating 4GB of maximum heap space. This command initiates the Rundeck server process, making it accessible via a web browser. ```shell cd $RDECK_BASE java -Xmx4g -jar rundeck-5.13.0-20250625.war ``` -------------------------------- ### Create Batch Script to Launch Rundeck (Batch) Source: https://docs.rundeck.com/docs/administration/install/windows These batch scripts provide a convenient way to launch either the Rundeck Enterprise or Community edition. They handle setting up necessary environment variables, use the --skipinstall flag for subsequent runs, and redirect all output to a service log file for persistent logging. ```Batch set CURDIR=%~dp0 call %CURDIR%etc\profile.bat java %RDECK_CLI_OPTS% %RDECK_SSL_OPTS% -jar rundeckpro-enterprise-5.13.0-20250625.war --skipinstall -d >> %CURDIR%\var\logs\service.log 2>&1 ``` ```Batch set CURDIR=%~dp0 call %CURDIR%etc\profile.bat java %RDECK_CLI_OPTS% %RDECK_SSL_OPTS% -jar rundeck-5.13.0-20250625.war --skipinstall -d >> %CURDIR%\var\logs\service.log 2>&1 ``` -------------------------------- ### Perform Initial Rundeck WAR Launcher Run Source: https://docs.rundeck.com/docs/administration/security/ssl Execute this command to perform a first-run of the Rundeck WAR launcher. This action creates the base directory and generates necessary configuration files. This step is not required for RPM/DEB installations. ```Shell cd $RDECK_BASE; java -jar rundeck-5.13.0-20250625.war ``` -------------------------------- ### Example Configuration for Standard Azure Storage Log Backend Source: https://docs.rundeck.com/docs/administration/cluster/logstore/azure Illustrates how to configure the standard Azure Storage plugin in `framework.properties`. This example sets the storage account, access key, default endpoint protocol, and a dynamic path for storing logs based on project and execution ID. ```Properties #storage.storageAccount and storage.accessKey framework.plugin.ExecutionFileStorage.azure-storage.storageAccount= framework.plugin.ExecutionFileStorage.azure-storage.accessKey= framework.plugin.ExecutionFileStorage.azure-storage.defaultEndpointProtocol=https #path to store the logs framework.plugin.ExecutionFileStorage.azure-storage.path=logs/${job.project}/${job.execid}.log ``` -------------------------------- ### Update Rundeck Executable WAR (Install Only Mode) Source: https://docs.rundeck.com/docs/administration/install/jar Executes the Rundeck WAR file with the `--installonly` option, which performs necessary installation or update steps without starting the Rundeck server. This mode is useful for preparing an update or performing maintenance before a full server restart. ```shell java -jar rundeck-5.13.0-20250625.war --installonly ``` -------------------------------- ### Enable and Start Rundeck Runner systemd Service Source: https://docs.rundeck.com/docs/administration/runner/runner-installation/runner-install These shell commands manage the systemd service for the Rundeck Runner. 'daemon-reload' reloads the systemd manager configuration, 'enable runner' configures the service to start automatically on system boot, and 'start runner' immediately initiates the service. ```bash # sudo systemctl daemon-reload # sudo systemctl enable runner # sudo service runner start ``` -------------------------------- ### Install Rundeck CLI on Debian/Ubuntu Source: https://docs.rundeck.com/docs/learning/howto/learn-rd-cli This snippet outlines the steps to add the Rundeck repository to a Debian or Ubuntu system, install the Rundeck CLI package using apt-get, and verify the installation by running the 'rd' command. ```bash curl -s https://packagecloud.io/install/repositories/pagerduty/rundeck/script.deb.sh | os=any dist=any bash ``` ```bash apt-get install rundeck-cli ``` ```bash rd ``` -------------------------------- ### Install and Upgrade RundeckPro Enterprise via YUM Source: https://docs.rundeck.com/docs/administration/install/linux-rpm Commands to install the RundeckPro Enterprise package along with its Java dependency, and to upgrade it to the latest version available in the configured YUM repositories. These commands are used for initial setup and routine software updates. ```Linux Shell sudo yum install java rundeckpro-enterprise ``` ```Linux Shell sudo yum update rundeckpro-enterprise ``` -------------------------------- ### Rundeck General Application Log Entry Example Source: https://docs.rundeck.com/docs/learning/howto/workinglogs Example of entries in the `rundeck.log` file, which contains general application messages. It includes various log levels (WARN, ERROR) and messages related to filesystem project imports, project existence checks, and job execution errors. ```Text [[2m2022-03-28T12:48:01,282[m] [33mWARN [m [36mframework.RundeckFilesystemProjectImporter[m [main] - importing existing filesystem projects [[2m2022-03-28T13:03:18,735[m] [1;31mERROR[m [36mcontrollers.FrameworkController[m [qtp1835671799-69] - Project already exists: ProjectEXAMPLE [[2m2022-03-28T21:35:01,360[m] [33mWARN [m [36mframework.RundeckFilesystemProjectImporter[m [main] - importing existing filesystem projects [[2m2022-03-28T22:06:30,025[m] [1;31mERROR[m [36mquartzjobs.ExecutionJob[m [quartzScheduler_Worker-4] - Unable to start Job execution: Job "HelloWorld" {{Job bbddae57-0b20-4fe2-9118-74d124f63943}}: Limit of running executions has been reached. ``` -------------------------------- ### Dockerfile to Extend Runner with Ansible Source: https://docs.rundeck.com/docs/administration/runner/runner-installation/runner-install A Dockerfile example demonstrating how to create a custom Runner image that includes Ansible. It installs Python, pip, and Ansible on top of the base Rundeck Runner image. ```Dockerfile ARG RUNNER_VERSION=5.13.0 FROM rundeckpro/runner:${RUNNER_VERSION} USER root ## Install python, pip and ansible RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ python3-pip && \ pip3 install --upgrade pip && \ pip3 install ansible # include any other necessary packages #RUN apt-get -y install sshpass USER runner ``` -------------------------------- ### Example: Rundeck Job Notifications Configuration Source: https://docs.rundeck.com/docs/manual/document-format-reference/job-yaml-v12 Provides a comprehensive example of configuring multiple notification types for a Rundeck job, including average duration, failure, retryable failure, start, and success. It demonstrates email, webhook, and custom plugin notifications. ```YAML notifyAvgDurationThreshold: '+30' notification: onavgduration: - email: recipients: test@example.com subject: Job Exceeded average duration - plugin: - type: my-plugin configuration: somekey: somevalue onfailure: - email: recipients: 'tom@example.com,shirley@example.com' - email: attachLog: 'true' attachLogInline: true recipients: manager@example.com subject: JOB-FAILURE onretryablefailure: - plugin: - type: my-plugin configuration: somekey: somevalue - type: my-plugin configuration: somekey: somevalue onstart: email: attachLog: true attachLogInFile: true recipients: tom@example.com subject: JOB-STARTED onsuccess: - format: xml httpMethod: post urls: http://server/callback?id=${execution.id}&status=${execution.status}&trigger=${notification.trigger} - plugin: - type: my-plugin configuration: somekey: somevalue ``` -------------------------------- ### Initialize a Rundeck Script Plugin Project Source: https://docs.rundeck.com/docs/learning/howto/custom-script-plugin-hello-world This command sequence initializes a new Rundeck plugin project using the `rundeck-plugin-bootstrap` tool, specifying the plugin type as a WorkflowNodeStep script. The subsequent `gradle build` command compiles the newly generated project structure. ```Bash rundeck-plugin-bootstrap -d -n HelloBash -s WorkflowNodeStep -t script gradle build ``` -------------------------------- ### Configure Local Filesystem Storage for Installed Plugins (Root Path) Source: https://docs.rundeck.com/docs/administration/configuration/repository Configures Rundeck to save installed plugins to a specified local filesystem path. This example uses the root path '/' for the provider and sets the base directory for plugins to `/opt/repository/installedPlugins`. ```properties rundeck.repository.plugins.provider.1.type=file rundeck.repository.plugins.provider.1.path=/ rundeck.repository.plugins.provider.1.config.baseDir=/opt/repository/installedPlugins ``` -------------------------------- ### Create and Build a Simple Rundeck Java Workflow Step Plugin Source: https://docs.rundeck.com/docs/learning/howto/java-plugin This snippet demonstrates how to use the `rundeck-plugin-bootstrap` tool to generate a new Java workflow step plugin project, followed by the `gradle build` command to compile and package the plugin. Replace `` with your desired directory for plugin creation. ```Shell rundeck-plugin-bootstrap -d -n hellojava -t java -s WorkflowStep gradle build ``` -------------------------------- ### Rundeck Core Components and Configuration Areas Source: https://docs.rundeck.com/docs/manual/jobs/job-plugins/node-steps/sensu References to fundamental Rundeck components and key configuration areas, including plugin management, node definitions, secure key storage, command execution, activity monitoring, webhooks, and various system and user settings. ```APIDOC Plugins - Manages and extends Rundeck functionality through various plugin types. Nodes - Defines and manages target nodes where job commands and scripts are executed. Key Storage - Securely stores sensitive credentials, keys, and other secrets for use in jobs. Commands - Defines and executes ad-hoc commands on target nodes. Activity - Monitors and logs system-wide and job-specific activity. Webhooks - Configures webhooks for external integrations and notifications based on Rundeck events. Project Settings - Manages settings specific to an individual Rundeck project. System Menu - Accesses system-wide configurations and administrative settings. Profile Menu - Manages user-specific settings and profiles within Rundeck. Integrations - Overview of various integration points and capabilities. Document Formats - Information on supported document formats within Rundeck. ``` -------------------------------- ### Start Runbook Automation Runner Java Process Source: https://docs.rundeck.com/docs/administration/runner/runner-management/upgrading-runners Executes the Runbook Automation Runner JAR file to start the Runner service. This command is used after downloading and placing the new Runner package on the host, ensuring the invocation string matches the previous installation. ```java java -jar your-runner-id.jar ``` -------------------------------- ### Add Rundeck CLI Packagecloud Repository on Debian Source: https://docs.rundeck.com/docs/rd-cli/install This command adds the official Packagecloud APT repository for Rundeck CLI to a Debian-based system. It uses `curl` to fetch and execute a shell script that configures the repository, making the `rundeck-cli` package available for installation. ```bash curl -s https://packagecloud.io/install/repositories/pagerduty/rundeck/script.deb.sh | os=any dist=any bash ``` -------------------------------- ### Configure Minio Object Storage for Installed Plugins Source: https://docs.rundeck.com/docs/administration/configuration/repository Configures Rundeck to save installed plugins to a Minio object storage bucket. This setup requires specifying the object store URL, bucket name, and authentication credentials (access key and secret key). ```properties rundeck.repository.plugins.provider.1.type=object rundeck.repository.plugins.provider.1.path=/ rundeck.repository.plugins.provider.1.config.bucket=repository rundeck.repository.plugins.provider.1.config.objectStoreUrl=http://your-minio-server:9000 rundeck.repository.plugins.provider.1.config.secretKey=YOUR_SECRET_KEY rundeck.repository.plugins.provider.1.config.accessKey=YOUR_ACCESS_KEY ``` -------------------------------- ### Install Node.js and npm on Ubuntu Source: https://docs.rundeck.com/docs/learning/howto/build-rundeck This snippet provides the necessary commands to install npm and Node.js on an Ubuntu Linux system, which are prerequisites for building the Rundeck project. ```bash sudo apt-get install npm curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get -y install nodejs ``` -------------------------------- ### Rundeck Application Scope Plugin Actions Source: https://docs.rundeck.com/docs/administration/security/authorization This section specifies actions for managing plugins within Rundeck. It covers functionalities such as listing installed and available plugins, installing new plugins, uninstalling existing ones, and full administrative control over plugin management. ```APIDOC Resource Kind: plugin read - Description: List installed and available plugins install - Description: Install plugins uninstall - Description: Uninstall plugins admin - Description: Full access to plugin management ``` -------------------------------- ### Check Rundeck Linux Group Membership Source: https://docs.rundeck.com/docs/administration/install/linux-rpm Displays the Linux groups that the 'rundeck' user belongs to. This command is useful for verifying the group setup created during RPM installation, which is relevant for user management and permissions within the operating system. ```Linux Shell $ groups rundeck ```