robertdebock.rundeck

Rol de Ansible rundeck

Instalar y configurar rundeck en tu sistema.

GitHub GitLab Descargas Versión
github gitlab descargas Versión

Ejemplo de Playbook

Este ejemplo está tomado de molecule/default/converge.yml y se prueba en cada push, pull request y liberación.

---
- name: Convergencia
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rundeck

La máquina necesita ser preparada. En CI esto se hace utilizando molecule/default/prepare.yml:

---
- name: Preparar
  hosts: all
  become: true
  gather_facts: false

  vars:
    _java_version:
      default: 11
      Debian-12: 17
      Ubuntu-22: 17
    java_version: "{{ _java_version[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_java_version['default']) }}"

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.java
    - role: robertdebock.common

También puedes ver una explicación y ejemplo completos sobre cómo usar estos roles.

Variables de Rol

Los valores predeterminados para las variables están configurados en defaults/main.yml:

---
# archivo de predeterminados para rundeck

# Versión de Rundeck a instalar
rundeck_version: "4.17.3"
rundeck_release_date: 20231113

# Dónde instalar rundeck.
rundeck_rdeckbase: /opt/rundeck

# El tamaño de memoria Xmx en mb. (Almacenado en: "{{ rundeck_rdeckbase }}/etc/profile".)
rundeck_xmx: 4096
rundeck_xms: 256
rundeck_maxmetaspacesize: 128

# La URL donde se servirá Rundeck:
rundeck_port: 4440
rundeck_address: "{{ ansible_all_ipv4_addresses[0] | default('127.0.0.1') }}"

# Puedes cambiar el contexto a por ejemplo: "/rundeck". Un valor vacío significa
# que no se agrega un contexto específico.
rundeck_server_web_context: ""

rundeck_config:
  - parameter: server.address
    value: "{{ rundeck_address }}"
  - parameter: grails.serverURL
    value: "{{ rundeck_url }}"
  - parameter: dataSource.url
    value: "jdbc:h2:file:/opt/rundeck/server/data/grailsdb"
#   Para conectarse a MySQL, usa estas configuraciones. (La base de datos debe estar preparada.)
#   - parameter: dataSource.url
#     value: "jdbc:mysql://myserver/rundeck?autoReconnect=true&useSSL=false"
#   - parameter: dataSource.username
#     value: rundeck
#   - parameter: dataSource.password
#     value: rundeck
#   - parameter: dataSource.driverClassName
#     value: org.mariadb.jdbc.Driver

# La configuración para Rundeck. (Almacenada en: "{{ rundeck_rdeckbase }}/etc/framework.properties".)
rundeck_framework:
  - parameter: framework.server.hostname
    value: "{{ ansible_fqdn }}"
  - parameter: framework.server.name
    value: "{{ ansible_hostname }}"
  - parameter: framework.projects.dir
    value: "{{ rundeck_rdeckbase }}/projects"
  - parameter: framework.var.dir
    value: "{{ rundeck_rdeckbase }}/var"
  - parameter: framework.logs.dir
    value: "{{ rundeck_rdeckbase }}/var/logs"
  # - parameter: "framework.server.username"
  #   value: unset
  # - parameter: "framework.server.password"
  #   value: unset
  - parameter: framework.ssh-connect-timeout
    value: 0
  - parameter: framework.ssh-command-timeout
    value: 0
  # - parameter: "framework.log.dispatch.console.format"
  #   value: unset
  - parameter: framework.rundeck.execution.script.tokenexpansion.enabled
    value: true

# usuarios predeterminados almacenados en {{ rundeck_rdeckbase }}/server/config/realm.properties
rundeck_users:
  - username: "admin"
    password: "admin"
    roles: "user,admin"
  - username: "user"
    password: "user"
    roles: "user"

# Plugins de Rundeck a instalar
rundeck_plugins: []
# - "https://github.com/Batix/rundeck-ansible-plugin/releases/download/3.1.1/ansible-plugin-3.1.1.jar"

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub GitLab
robertdebock.bootstrap Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.common Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.core_dependencies Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.java Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.service Estado de Construcción GitHub Estado de Construcción GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí hay un resumen de los roles relacionados: dependencias

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedor:

contenedor etiquetas
EL 9
Debian todas
Fedora todas
Ubuntu todas

La versión mínima de Ansible requerida es 2.12, las pruebas se han realizado en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor regístralos en GitHub.

Licencia

Apache-2.0.

Información del Autor

robertdebock

Por favor considera patrocinarme.

Acerca del proyecto

Install and configure rundeck on your system.

Instalar
ansible-galaxy install robertdebock.rundeck
Licencia
apache-2.0
Descargas
2.8k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.