rundeck

Ansible роль rundeck

Установите и настройте Rundeck на своей системе.

GitHub GitLab Загрузки Версия
github gitlab downloads Version

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на слияние и выпуске.

---
- имя: Converge
  хосты: all
  стать: true
  собирать_факты: true

  роли:
    - роль: robertdebock.rundeck

Машину необходимо подготовить. В CI это делается с помощью molecule/default/prepare.yml:

---
- имя: Prepare
  хосты: all
  стать: true
  собирать_факты: false

  переменные:
    _java_version:
      по умолчанию: 11
      Debian-12: 17
      Ubuntu-22: 17
    java_version: "{{ _java_version[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_java_version['по умолчанию']) }}"

  роли:
    - роль: robertdebock.bootstrap
    - роль: robertdebock.java
    - роль: robertdebock.common

Смотрите также полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Установленные значения по умолчанию для переменных находятся в defaults/main.yml:

---
# файл по умолчанию для rundeck

# Версия Rundeck для установки
rundeck_version: "4.17.3"
rundeck_release_date: 20231113

# Куда установить Rundeck.
rundeck_rdeckbase: /opt/rundeck

# Xmx размер памяти в мб. (Хранится в: "{{ rundeck_rdeckbase }}/etc/profile".)
rundeck_xmx: 4096
rundeck_xms: 256
rundeck_maxmetaspacesize: 128

# URL, где будет доступен Rundeck:
rundeck_port: 4440
rundeck_address: "{{ ansible_all_ipv4_addresses[0] | default('127.0.0.1') }}"

# Вы можете изменить контекст, например: "/rundeck". Пустое значение означает
# что нет конкретного контекста.
rundeck_server_web_context: ""

rundeck_config:
  - параметр: server.address
    значение: "{{ rundeck_address }}"
  - параметр: grails.serverURL
    значение: "{{ rundeck_url }}"
  - параметр: dataSource.url
    значение: "jdbc:h2:file:/opt/rundeck/server/data/grailsdb"
#   Чтобы подключиться к MySQL, используйте эти настройки. (База данных должна быть подготовлена.)
#   - параметр: dataSource.url
#     значение: "jdbc:mysql://myserver/rundeck?autoReconnect=true&useSSL=false"
#   - параметр: dataSource.username
#     значение: rundeck
#   - параметр: dataSource.password
#     значение: rundeck
#   - параметр: dataSource.driverClassName
#     значение: org.mariadb.jdbc.Driver

# Настройки для Rundeck. (Хранится в: "{{ rundeck_rdeckbase }}/etc/framework.properties".)
rundeck_framework:
  - параметр: framework.server.hostname
    значение: "{{ ansible_fqdn }}"
  - параметр: framework.server.name
    значение: "{{ ansible_hostname }}"
  - параметр: framework.projects.dir
    значение: "{{ rundeck_rdeckbase }}/projects"
  - параметр: framework.var.dir
    значение: "{{ rundeck_rdeckbase }}/var"
  - параметр: framework.logs.dir
    значение: "{{ rundeck_rdeckbase }}/var/logs"
  # - параметр: "framework.server.username"
  #   значение: unset
  # - параметр: "framework.server.password"
  #   значение: unset
  - параметр: framework.rundeck.url
    значение: "{{ rundeck_url }}"
  # - параметр: "framework.ssh.keypath"
  #   значение: unset
  # - параметр: "framework.ssh.user"
  #   значение: unset
  - параметр: framework.ssh-connect-timeout
    значение: 0
  - параметр: framework.ssh-command-timeout
    значение: 0
  # - параметр: "framework.log.dispatch.console.format"
  #   значение: unset
  - параметр: framework.rundeck.execution.script.tokenexpansion.enabled
    значение: true

# стандартные пользователи хранятся в {{ rundeck_rdeckbase }}/server/config/realm.properties
rundeck_users:
  - имя_пользователя: "admin"
    пароль: "admin"
    роли: "user,admin"
  - имя_пользователя: "user"
    пароль: "user"
    роли: "user"

# Плагины Rundeck для установки
rundeck_plugins: []
# - "https://github.com/Batix/rundeck-ansible-plugin/releases/download/3.1.1/ansible-plugin-3.1.1.jar"

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab
robertdebock.common Статус сборки GitHub Статус сборки GitLab
robertdebock.core_dependencies Статус сборки GitHub Статус сборки GitLab
robertdebock.java Статус сборки GitHub Статус сборки GitLab
robertdebock.service Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью множества совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на этих образах контейнеров:

контейнер теги
EL 9
Debian все
Fedora все
Ubuntu все

Минимальная версия Ansible, необходимая для работы, составляет 2.12, тесты проводились на:

  • предыдущей версии.
  • текущей версии.
  • версии разработки.

Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их в GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, подумайте о поддержке меня.

О проекте

Install and configure rundeck on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-rundeck
Лицензия
apache-2.0
Загрузки
2785
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.