rundeck
Роль Ansible для Rundeck
Это роль для Ansible, предназначенная для установки, настройки и обеспечения работы Rundeck. Ваши отзывы, сообщения об ошибках и запросы приветствуются и могут быть оставлены в github issues.
Требования к выполнению
- Тестировалось на Mac OS X с Ansible 2.0.
Переменные роли
Следующие переменные можно переопределить:
rundeck_protocol
: По умолчанию http, но следует установить протокол, по которому будет доступно веб-приложение.rundeck_domain
: По умолчанию localhost:4440, но следует установить имя хоста, по которому будет доступно веб-приложение.rundeck_database_type
: По умолчанию hsqldb, но можно установить на postgresql или mysql для использования этих баз данных. Пользователи и базы данных автоматически не создаются.rundeck_database_host
: По умолчанию localhost, и следует задать только если используется внешняя база данных.rundeck_database_port
: По умолчанию None, необходимо установить, если используется другая база данных, отличная от стандартной hsqldb.rundeck_database_name
: По умолчанию rundeck, но позволяет использовать другое имя базы данных для rundeck.rundeck_database_user
: По умолчанию rundeck, но позволяет использовать другое имя пользователя для доступа к базе данных rundeck.rundeck_database_pass
: По умолчанию rundeck, но позволяет использовать другой пароль для доступа пользователя к базе данных rundeck.rundeck_users
: Список словарей с именем, паролем (в хэшированном виде) и списком ролей (одна из ролей должна быть администраторской). Если список пуст, стандартный администратор не удаляется.rundeck_plugins
: Список URL плагинов, которые будут загружены и установлены в libext rundeck, по умолчанию - отсутствует.rundeck_extra_bootstrap
: Список дополнительных URL jar-файлов, которые будут загружены и установлены в bootstrap rundeck, по умолчанию - отсутствует.rundeck_generate_ssh
: Автоматическое создание ssh-ключа, по умолчаниюTrue
, установите наFalse
, чтобы остановить это действие.rundeck_ldap
: Определяет, следует ли использовать аутентификацию через LDAP, переопределяет rundeck_users. По умолчанию False. Сервер LDAP должен иметь группуuser
для предоставления доступа к веб-интерфейсу rundeck.rundeck_ldap_url
: Адрес сервера LDAP, т.е. ldap://localhost:389rundeck_ldap_bind_user
: DN для доступа к серверу LDAP, т.е. cn=Manager,dc=example,dc=comrundeck_ldap_bind_pass
: Пароль пользователя DN для доступа к серверу LDAP.rundeck_ldap_user_dn
: DN пользователей, т.е. ou=People,dc=test1,dc=example,dc=comrundeck_ldap_user_rdn_attr
: Атрибут, идентифицирующий имя пользователя, т.е. uidrundeck_ldap_user_id_attr
: Атрибут, идентифицирующий имя пользователя, т.е. uidrundeck_ldap_bindinglogin
: По умолчанию: false. Если true, выполняется привязка как пользователь, проходящий аутентификацию, иначе выполняется привязка как администратор с поиском для проверки пароля пользователя.rundeck_ldap_user_pass_attr
: Атрибут, идентифицирующий пароль пользователя, т.е. userPasswordrundeck_ldap_user_filter
: objectClass, используемый для поиска пользователя, т.е. accountrundeck_ldap_role_dn
: DN ролей, т.е. ou=Groups,dc=test1,dc=example,dc=comrundeck_ldap_role_name_attr
: Имя атрибута роли, т.е. cnrundeck_ldap_role_username_attr
: Переопределяетrundeck_ldap_role_member_attr
, определяющий членство пользователя в ролях, т.е. uidrundeck_ldap_role_member_attr
: Используется для определения членства пользователя в ролях, т.е. memberrundeck_ldap_role_filter
: objectClass, используемый для поиска роли, т.е. groupOfNamesrundeck_ldap_netsted_groups
: По умолчанию: false. Если true, будут разрешены все вложенные группы для аутентифицированных пользователей.rundeck_ldap_debug
: По умолчанию: false. Включить/выключить отладку ldap.rundeck_crowd
: По умолчанию: False. Определяет, следует ли использовать аутентификацию Atlassian Crowd, переопределяет rundeck_users.rundeck_crowd_jaas_jars
: Список URL для загрузки jar-файлов Crowd JAAS.rundeck_crowd_name
: По умолчанию: 'RunDeck'. Имя приложения для доступа к Crowd.rundeck_crowd_pass
: По умолчанию: 'secret'. Пароль приложения для доступа к Crowd.rundeck_crowd_url
: По умолчанию: 'http://localhost/crowd/'.rundeck_crowd_maxconn
: По умолчанию: 20. httpMaxConnections.rundeck_crowd_timeout
: По умолчанию: 5000. httpTimeout.rundeck_crowd_proxy_host
: По умолчанию: Неопределено.rundeck_crowd_proxy_port
: По умолчанию: Неопределено.rundeck_crowd_proxy_username
: По умолчанию: Неопределено.rundeck_crowd_proxy_password
: По умолчанию: Неопределено.rundeck_crowd_debug
: По умолчанию: False. Включить/выключить отладку аутентификации Crowd.
Зависимости
Эта роль не зависит от других ролей для развертывания, но для работы Rundeck требуется установленный Java (по запросу со стороны сообщества). Хорошим выбором будет ansible-java-role с следующей конфигурацией:
- Debian: Убедитесь, что java_packages содержит дебианский пакет java, т.е. openjdk-7-jre-headless.
- RedHat: Убедитесь, что java_packages содержит дебианский пакет java, т.е. java-1.7.0-openjdk, нужно отредактировать роль, чтобы включить RedHat.yml в main.yml, чтобы она работала.
Если вы решили использовать базу данных, убедитесь, что она установлена перед выполнением этой роли. Для создания баз данных были использованы следующие роли:
- Ubuntu 12.04 & 14.04/PostgreSQL: postgresql.
- Centos 6.5 & 7.0/PostgreSQL: postgresql-on-el6 (с доработками, следите за обновлениями).
Тестирование
Пожалуйста, проверьте изменения, используя предоставленные vagrant-браузеры, т.е.:
cd tests/vagrant-centos65
vagrant up
Чтобы использовать базу данных PostgreSQL, сначала экспортируйте плейбук, т.е.:
export PLAYBOOK=postgresql_redhat_test.yml
Лицензия
Лицензия MIT. Смотрите файл LICENSE для деталей.
installation and configuration of rundeck
ansible-galaxy install New-Edge-Engineering/ansible-rundeck