{"id":3628,"date":"2019-02-15T13:27:12","date_gmt":"2019-02-15T07:57:12","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=3628"},"modified":"2026-10-08T14:31:15","modified_gmt":"2026-10-08T09:01:15","slug":"how-to-set-up-rundeck-in-a-centos-7-server","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/how-to-set-up-rundeck-in-a-centos-7-server\/","title":{"rendered":"How to set up rundeck in a centos-7 server"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong><strong>Post Dat<\/strong>e:<\/strong> February 15, 2018<br><strong>Last Updated:<\/strong> October 07, 2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck is an open-source runbook automation platform that helps system administrators and DevOps teams automate routine operational tasks across multiple servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of manually logging in to individual servers and executing the same commands repeatedly, you can create <strong>jobs and workflows in Rundeck<\/strong> and run them from a centralized web interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck can be used for tasks such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Server maintenance<\/li>\n\n\n\n<li>Application deployment<\/li>\n\n\n\n<li>Log collection<\/li>\n\n\n\n<li>Service restart<\/li>\n\n\n\n<li>Backup operations<\/li>\n\n\n\n<li>Scheduled administration tasks<\/li>\n\n\n\n<li>Running Ansible playbooks<\/li>\n\n\n\n<li>Auditing and operational automation<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">It also provides useful features such as <strong>access control, job scheduling, workflow management, execution logs, node management, and integration with automation tools such as Ansible<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this guide, we will install Rundeck on a <strong>CentOS 7 server<\/strong> and then configure it to work with Ansible.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> CentOS 7 is an end-of-life operating system. This guide is intended primarily for existing or legacy CentOS 7 environments. For a new deployment, use a currently supported operating system and the current Rundeck requirements. Current Rundeck documentation requires Java 17.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before installing Rundeck, make sure you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CentOS 7 server<\/li>\n\n\n\n<li>Root or sudo access<\/li>\n\n\n\n<li>Minimum 2 CPU cores<\/li>\n\n\n\n<li>At least 4 GB RAM for a small installation<\/li>\n\n\n\n<li>At least 20 GB disk space<\/li>\n\n\n\n<li>Java 17<\/li>\n\n\n\n<li>Network access to the Rundeck repository<\/li>\n\n\n\n<li>Port <strong>4440<\/strong> available for HTTP access<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For production environments, use a supported operating system and size the server according to the current Rundeck system requirements.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Update the Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, update the existing packages.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum update -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check the operating system:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cat \/etc\/centos-release<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CentOS Linux release 7.x<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Install Java<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck is a Java-based application. Current Rundeck documentation requires <strong>Java 17<\/strong> for supported current releases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Install Java 17:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install java-17-openjdk -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verify the installation:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">java -version<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">openjdk version \"17.x.x\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can also check the Java path:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">which java<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If multiple Java versions exist, make sure Java 17 is the active version.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">alternatives --config java<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Add the Rundeck Repository<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The official Rundeck CentOS installation procedure uses the Rundeck RPM repository.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl https:\/\/raw.githubusercontent.com\/rundeck\/packaging\/main\/scripts\/rpm-setup.sh 2> \/dev\/null | bash -s rundeck<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that the repository is available:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum repolist | grep rundeck<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Install Rundeck<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Install the Rundeck package:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install rundeck -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verify the package:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">rpm -qa | grep rundeck<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Configure Rundeck Server URL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">By default, Rundeck may use <code>localhost<\/code> as its server URL. When users access Rundeck from another machine, configure the server URL with the server IP address or domain name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Edit:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/rundeck\/rundeck-config.properties<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Set:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grails.serverURL=http:\/\/YOUR_SERVER_IP:4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grails.serverURL=http:\/\/192.168.1.100:4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For a production setup behind DNS and HTTPS, use your actual domain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">grails.serverURL=https:\/\/rundeck.example.com<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Start Rundeck<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start the service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl start rundeckd<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enable it at boot:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl enable rundeckd<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check the service status:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl status rundeckd<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can also monitor the Rundeck log:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tail -f \/var\/log\/rundeck\/service.log<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck is ready when the application starts successfully and listens on port 4440.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7: Check Port 4440<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that Rundeck is listening:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">netstat -nltp | grep 4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected output will look similar to:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tcp  0  0 0.0.0.0:4440  0.0.0.0:*  LISTEN<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>netstat<\/code> is unavailable:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ss -nltp | grep 4440<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 8: Allow the Firewall Port<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>firewalld<\/code> is enabled, allow port 4440:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">firewall-cmd --permanent --add-port=4440\/tcp\nfirewall-cmd --reload<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verify:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">firewall-cmd --list-ports<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For production environments, it is better to expose Rundeck through a reverse proxy with HTTPS rather than directly exposing port 4440 to the internet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Step 9: Access the Rundeck Web Interface<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open a browser and visit:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/SERVER_IP:4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/192.168.1.100:4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The default login is:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Username: admin\nPassword: admin<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Change the default password immediately after the first login.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck&#8217;s installation documentation also documents the default administrative login for a fresh installation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Rundeck Working Flow<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The basic Rundeck automation workflow looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram.png\"><img fetchpriority=\"high\" decoding=\"async\" width=\"972\" height=\"1024\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram-972x1024.png\" alt=\"\" class=\"wp-image-12178\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram-972x1024.png 972w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram-285x300.png 285w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram-768x809.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Diagram.png 1222w\" sizes=\"(max-width: 972px) 100vw, 972px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Example<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose you need to restart Nginx on 20 servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Without Rundeck:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Login Server 1\nRun command\nLogin Server 2\nRun command\nLogin Server 3\nRun command\n...<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With Rundeck:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers.png\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers-1024x683.png\" alt=\"\" class=\"wp-image-12179\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers-1024x683.png 1024w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers-300x200.png 300w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers-768x512.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers-272x182.png 272w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automation-Workflow_-Rundeck-to-Ansible-Servers.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is where Rundeck becomes useful: operational tasks become <strong>repeatable, controlled, scheduled, and auditable<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Configure Rundeck with Ansible<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck can integrate with Ansible so that Rundeck becomes the web-based automation layer while Ansible handles configuration and server execution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The current Rundeck Ansible plugin provides support for importing Ansible inventory, running Ansible modules and playbooks, and using Ansible as a node executor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 10: Install Ansible<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On your automation server, install Ansible using the package source appropriate for your environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ansible --version<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ansible [core ...]<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Step 11: Install the Rundeck Ansible Plugin<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">The Ansible plugin is maintained in the official <code>rundeck-plugins<\/code> GitHub organization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin files are placed under:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/var\/lib\/rundeck\/libext\/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For the exact plugin version you deploy, use the corresponding release artifact from the plugin&#8217;s official repository rather than an old 2019 download URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After installing the plugin, restart Rundeck:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl restart rundeckd<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl status rundeckd<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Step 12: Configure the Ansible Inventory<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Create or use an Ansible inventory file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[webservers]\nweb01 ansible_host=192.168.1.101\nweb02 ansible_host=192.168.1.102<\/pre>\n\n\n<p>[dbservers]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">db01 ansible_host=192.168.1.110<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Test connectivity:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ansible all -i inventory -m ping<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">web01 | SUCCESS => {\n    \"changed\": false,\n    \"ping\": \"pong\"\n}<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Step 13: Create a Rundeck Project<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Log in to Rundeck and create a new project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Project Name: Infrastructure<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add your target nodes to the project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the nodes are available, you can create jobs such as:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Restart Nginx\nDisk Usage Check\nClear Application Cache\nBackup Database\nDeploy Application\nRestart Docker\nRun Ansible Playbook<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Step 14: Create a Job<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Create a Rundeck job with:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Job Name:\nRestart Nginx\n\nWorkflow:\n1. Select target nodes\n2. Execute command\n3. systemctl restart nginx\n4. Verify service status\n5. Store execution result<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can also add:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schedules<\/li>\n\n\n\n<li>Multiple workflow steps<\/li>\n\n\n\n<li>Failure handling<\/li>\n\n\n\n<li>Notifications<\/li>\n\n\n\n<li>Access permissions<\/li>\n\n\n\n<li>Execution logging<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Example Automation Flow<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">A practical DevOps flow could look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram.png\"><img decoding=\"async\" width=\"683\" height=\"1024\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram-683x1024.png\" alt=\"\" class=\"wp-image-12180\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram-683x1024.png 683w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram-200x300.png 200w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram-768x1152.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/DevOps-Automation-Workflow-Diagram.png 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Common Rundeck Use Cases<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck can be used for many recurring infrastructure operations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Application Deployment<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"936\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart-1024x936.png\" alt=\"\" class=\"wp-image-12181\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart-1024x936.png 1024w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart-300x274.png 300w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart-768x702.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/CI_CD-Automation-Pipeline-Flowchart.png 1312w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Server Maintenance<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram.png\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"1024\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram-853x1024.png\" alt=\"\" class=\"wp-image-12182\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram-853x1024.png 853w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram-250x300.png 250w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram-768x922.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Maintenance-Workflow-Diagram.png 1145w\" sizes=\"(max-width: 853px) 100vw, 853px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Backup Automation<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"936\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic-1024x936.png\" alt=\"\" class=\"wp-image-12183\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic-1024x936.png 1024w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic-300x274.png 300w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic-768x702.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Automated-Backup-Workflow-Infographic.png 1312w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Security Recommendations<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">For production environments, do not leave the default credentials unchanged.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended practices include:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow.png\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"1024\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow-683x1024.png\" alt=\"\" class=\"wp-image-12184\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow-683x1024.png 683w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow-200x300.png 200w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow-768x1152.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Security-Best-Practices-Flow.png 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Also consider:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restricting Rundeck access to trusted networks<\/li>\n\n\n\n<li>Using HTTPS<\/li>\n\n\n\n<li>Using role-based access control<\/li>\n\n\n\n<li>Limiting administrative permissions<\/li>\n\n\n\n<li>Using SSH keys instead of passwords where appropriate<\/li>\n\n\n\n<li>Protecting Ansible inventory and credentials<\/li>\n\n\n\n<li>Auditing job execution logs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck also supports authentication and authorization controls that are useful for shared operational environments.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck provides a simple way to centralize infrastructure operations and automate repetitive tasks across multiple servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By combining <strong>Rundeck + Ansible<\/strong>, teams can build a controlled automation workflow where administrators trigger jobs from a web interface, while Ansible performs the actual configuration and server operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A typical environment can be summarized as:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic.png\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"1024\" src=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic-683x1024.png\" alt=\"\" class=\"wp-image-12185\" srcset=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic-683x1024.png 683w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic-200x300.png 200w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic-768x1152.png 768w, https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/Rundeck-Automation-Workflow-Infographic.png 1024w\" sizes=\"(max-width: 683px) 100vw, 683px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For legacy CentOS 7 environments, this setup can still be useful, but new deployments should use a currently supported operating system and the current Rundeck release requirements. Java 17 is required by current Rundeck releases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With Rundeck in place, repetitive infrastructure tasks can become <strong>standardized, scheduled, repeatable, and easier to audit<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">1. What is Rundeck used for?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck is used to automate and schedule operational tasks across multiple servers. It provides a central interface for executing commands, scripts, workflows, and automation jobs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Can Rundeck work with Ansible?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rundeck is used to automate and schedule operational tasks across multiple servers. It provides a central interface for executing commands, scripts, workflows, and automation jobs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Rundeck can integrate with Ansible for inventory management and execution of Ansible modules and playbooks. This allows teams to use Rundeck as the operational interface and Ansible as the automation engine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Which port does Rundeck use?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The default HTTP port is:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">4440<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Current Rundeck installations also support HTTPS on port:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">4443<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The exact port configuration can be changed according to your deployment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Articles<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/pheonixsolutions.com\/blog\/exportingimporting-a-job-on-rundeck\/\">Exporting\/Importing a job on Rundeck<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/pheonixsolutions.com\/blog\/rundeck-acl-policy-creation\/\">Rundeck ACL Policy Creation<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Talk to our experts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Have a technology challenge or looking for the right solution for your business? Our team can help you with <strong>cloud, DevOps, development, infrastructure, design, and more<\/strong>. Feel free to reach out to our experts <a href=\"https:\/\/pheonixsolutions.com\/contact\">here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Post Date: February 15, 2018Last Updated: October 07, 2026 Introduction Rundeck is an open-source runbook automation platform that helps system [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1020],"tags":[393,305,293],"class_list":["post-3628","post","type-post","status-publish","format-standard","hentry","category-containers-kubernetes","tag-ansible","tag-devops","tag-rundeck","psol-cat-containers-kubernetes"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-Ww","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=3628"}],"version-history":[{"count":1,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3628\/revisions"}],"predecessor-version":[{"id":12186,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3628\/revisions\/12186"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=3628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=3628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=3628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}