En la entrada anterior vimos como configurar Rundeck con MySQL, hoy es el turno del elefante. Empecemos.

Primero, como usuario root, detenemos el servicio Rundeck:
# systemctl stop rundeckd
Instalamos PostgreSQL desde los repositorios de YUM:
# yum -y install postgresql-server postgresql-contrib
Iniciamos la configuración inicial de PostgreSQL con:
# postgresql-setup initdb
Editamos el archivo y en las líneas:/var/lib/pgsql/data/pg_hba.conf
local all all peer
host all all 127.0.0.1/32 md5
Las reemplazamos por:
local all all trust
host all all 0.0.0.0/0 trust
Ahora editamos el archivo /var/lib/pgsql/data/postgresql.conf y agregamos las siguientes lineas para que pueda recibir conexiones externas e indicarle que puerto TCP escuchará:
listen_addresses = '*'
port=5432
Es hora de indicarle al sistema operativo que PostgreSQL debe iniciar automáticamente tras cada inicio/reinicio:
# systemctl enable postgresql
Y arrancamos el servicio para empezar a trabajar sobre él:
# systemctl start postgresql
Entramos a PostgreSQL:
# su postgres -c 'psql postgres'
Una vez dentro creamos el usuario rundeckuser con contraseña password:
CREATE ROLE rundeckuser WITH LOGIN PASSWORD 'password';
Y creamos la base de datos de Rundeck:
create database rundeck;
Ahora asociamos el usuario con la base de datos recién creada:
grant ALL privileges on database rundeck to rundeckuser
Salimos de PostgreSQL con la combinación Ctrl+D. Finalmente tenemos que decirle a Rundeck que nuestro origen de datos es PostgreSQL, para ello vamos al /etc/rundeck/rundeck-config.properties y comentamos estas líneas:
dataSource.dbCreate = update
dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true
Y agregamos estas:
dataSource.driverClassName = org.postgresql.Driver
dataSource.url = jdbc:postgresql://direccion-de-tu-base-de-datos:5432/rundeck
dataSource.username=rundeckuser
dataSource.password=password
Y le decimos que almacene los proyectos en la base de datos, agregando igualmente a /etc/rundeck/rundeck-config.properties lo siguiente:
rundeck.projectsStorageType=db
Finalmente iniciamos Rundeck:
# systemctl start rundeckd
Y listo, como siempre puedes conseguir en la documentación oficial de cómo hacerlo.