New-Edge-Engineering.rundeck

Ansible Rundeck 角色

这是一个 Ansible 角色,用于安装、配置并确保 Rundeck 正在运行。欢迎提供反馈、错误报告和请求,可以通过 GitHub 问题页面 提交。

执行要求

  • 在 Mac OS X 上使用 Ansible 2.0 进行测试。

角色变量

以下变量可以被覆盖:

  • rundeck_protocol:默认为 http,但应设置为用于访问 Web 应用程序的协议。
  • rundeck_domain:默认为 localhost:4440,但应设置为访问 Web 应用程序的主机名。
  • 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 列表,将下载并安装到 Rundeck 的 libext 目录中,默认无。
  • rundeck_extra_bootstrap:一个额外的 jar URL 列表,将下载并安装到 Rundeck 的启动中,默认无。
  • rundeck_generate_ssh:自动生成 SSH 密钥,默认为 True,设置为 False 可停止此操作。
  • rundeck_ldap:确定是否使用 LDAP 认证,覆盖 rundeck_users。默认值为 False。LDAP 服务器必须有一个 user 组来提供对 Rundeck Web 界面的访问。
  • rundeck_ldap_url:LDAP 服务器的地址,例如:ldap://localhost:389。
  • rundeck_ldap_bind_user:访问 LDAP 服务器的 DN,例如:cn=Manager,dc=example,dc=com。
  • rundeck_ldap_bind_pass:访问 LDAP 服务器的 DN 用户密码,secret。
  • rundeck_ldap_user_dn:用户的 DN,例如:ou=People,dc=test1,dc=example,dc=com。
  • rundeck_ldap_user_rdn_attr:用于识别用户名的属性,例如:uid。
  • rundeck_ldap_user_id_attr:用于识别用户名的属性,例如:uid。
  • rundeck_ldap_bindinglogin:默认值:false。如果为 true,则以验证用户的身份进行绑定,否则以管理者身份进行绑定并执行搜索以验证用户密码。
  • rundeck_ldap_user_pass_attr:用于识别用户密码的属性,例如:userPassword。
  • rundeck_ldap_user_filter:用于查找用户的 objectClass,例如:account。
  • rundeck_ldap_role_dn:角色的 DN,例如:ou=Groups,dc=test1,dc=example,dc=com。
  • rundeck_ldap_role_name_attr:角色的属性名称,例如:cn。
  • rundeck_ldap_role_username_attr:覆盖 rundeck_ldap_role_member_attr 来确定用户的角色成员资格,例如:uid。
  • rundeck_ldap_role_member_attr:用于确定用户角色成员资格的属性,例如:member。
  • rundeck_ldap_role_filter:用于查找角色的 objectClass,例如:groupOfNames。
  • rundeck_ldap_netsted_groups:默认值:false。如果为 true,将为经过身份验证的用户解析所有嵌套组。
  • rundeck_ldap_debug:默认值:false。启用/禁用 LDAP 调试。
  • rundeck_crowd:默认值:False。确定是否使用 Atlassian Crowd 认证,覆盖 rundeck_users。
  • rundeck_crowd_jaas_jars:获取 Crowd JAAS jar 的 URL 列表。
  • rundeck_crowd_name:默认值:'RunDeck'。访问 Crowd 的应用名称。
  • rundeck_crowd_pass:默认值:'secret'。访问 Crowd 的应用密码。
  • rundeck_crowd_url:默认值:'http://localhost/crowd/'。
  • rundeck_crowd_maxconn:默认值:20。http最大连接数。
  • rundeck_crowd_timeout:默认值:5000。http超时。
  • rundeck_crowd_proxy_host:默认值:未定义。
  • rundeck_crowd_proxy_port:默认值:未定义。
  • rundeck_crowd_proxy_username:默认值:未定义。
  • rundeck_crowd_proxy_password:默认值:未定义。
  • rundeck_crowd_debug:默认值:False。启用/禁用 Crowd 认证调试。

依赖关系

此角色没有对任何其他角色的硬性依赖,但 Rundeck 需要安装 Java(根据社区的请求进行解耦)。smola 的 ansible-java-role 是一个不错的选择,具体配置如下:

  • Debian: 确保 java_packages 中包含 Debian 的 Java 软件包,例如:openjdk-7-jre-headless。
  • RedHat: 确保 java_packages 中包含 RedHat 的 Java 软件包,例如:java-1.7.0-openjdk,必须调整角色以在 main.yml 中包含 RedHat.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.rundeck
许可证
mit
下载
505
拥有者
We provide software and infrastructure engineering, architecture consulting, process strategy.