wcm_io_devops.conga_ansible_controlhost

wcm_io_devops.conga_ansible_controlhost

此角色将主机设置为控制主机,用于 wcm.io DevOps Ansible AEM 自动化

此角色安装以下工具:

  • JDK
  • Maven
  • Ansible(包括所需的 pip 包,如 cffi、jmespath、boto 等)
  • Terraform

提供凭据后,此角色将部署您的 AWS credentials 以及 .vault_pass 文件。

如果需要,此角色还允许您在 .bashrc 中配置环境。

  • EDITOR
  • ANSIBLE_VAULT_PASSWORD_FILE

对于 Maven,支持 settings.ymlsettings-security.xml(可选)的配置。

除了工具所需的操作系统软件包外,还将安装以下软件包,以便于快速监控和调试:

  • nano
  • iftop
  • htop
  • iotop

要求

此角色要求 Ansible 2.7 或更高版本。

角色变量

以下是可用变量及其默认值。

controlhost_dependency_maven: true

启用/禁用 Maven 角色依赖。

controlhost_dependency_java: true

启用/禁用 Java 角色依赖。

controlhost_dependency_epel: true

启用/禁用 EPEL 角色依赖。

controlhost_dependency_terraform: true

启用/禁用 Terraform 角色依赖。

controlhost_user: "{{ ansible_env.SUDO_USER | default(ansible_env.USER) }}"

控制主机上的用户。

controlhost_group: "{{ controlhost_user }}"

控制主机上的用户组。

controlhost_user_home: "/home/{{ controlhost_user }}"

用户的主目录。

controlhost_maven_path: "{{ controlhost_user_home }}/.m2"

Maven 目录路径。

controlhost_maven_settings_path: "{{ controlhost_maven_path }}/settings.xml"

Maven settings.xml 文件的路径。

controlhost_maven_settings_security_path: "{{ controlhost_maven_path }}/settings-security.xml"

Maven settings-security.xml 文件的路径。

controlhost_maven_artifact_threads: 5

Maven 在下载工件时使用的线程数。增加线程数可以提高下载速度。

#controlhost_maven_master_password:

设置时,将创建一个带有加密主密码的 Maven settings-security.xml 文件,控制主机的 Maven 仓库凭据将使用 Maven 主密码加密。

controlhost_nodejs_npmrc_path: "{{ controlhost_user_home }}/.npmrc"

.npmrc 文件的路径。

controlhost_nodejs_npmrc_always_auth: true

控制 .npmrc 中的 "always-auth" 参数。

# controlhost_nodejs_npmrc_registries:
  #- registry:
  #  username:
  #  password:

配置注册表时,将生成 .npmrc 文件。请注意,目前只能定义一个注册表。需要提供用户名和密码,角色将负责创建身份验证令牌。

#controlhost_vault_pass_path: "{{ controlhost_user_home }}/.ansible/.vault_pass"

设置时,.bashrc 中的 ANSIBLE_VAULT_PASSWORD_FILE 环境变量将被设置。

#controlhost_vault_pass_src:

设置时,指定的文件将被复制到控制主机的 controlhost_vault_pass_path

controlhost_aws_credentials_path: "{{ controlhost_user_home }}/.aws/credentials"

AWS 凭证文件的路径。与 controlhost_aws_credentials_src 一起使用。

#controlhost_aws_credentials_src:

设置时,指定的文件将被复制到控制主机的 controlhost_aws_credential_path

#controlhost_default_editor: "nano"

设置时,bashrc 将以此值导出 EDITOR。

controlhost_bashrc: "{{ controlhost_user_home }}/.bashrc"

用于配置 ANSIBLE_VAULT_PASSWORD_FILEEDITOR 的 bash/shell 运行命令文件的路径。

controlhost_maven_repositories:
  - id: central
    url: https://repo.maven.apache.org/maven2/
  - id: adobe-public-releases
    url: https://repo.adobe.com/nexus/content/groups/public
    releases:
      enabled: "true"
      updatePolicy: "never"
    snapshots:
      enabled: "false"

要在 Maven settings.xml 中配置的 Maven 仓库列表。默认情况下,配置了 Maven 中央仓库和 Adobe 的公共发布仓库。

- id: [REPO-ID]
  url: [REPO-URL]
  username: [USERNAME] # 可选
  password: [PASSWORD] # 可选
  releases:  # (可选)
    [KEY]:[VALUE] # 将转换为 <key>value</key>
  snapshots: # (可选)
    [KEY]:[VALUE] # 将转换为 <key>value</key>

Maven 仓库的配置选项列表。

controlhost_maven_mirrors: []

镜像配置列表。有关配置详细信息,请参阅 https://maven.apache.org/guides/mini/guide-mirror-settings.html。

# 镜像配置
#  - id: [REPO-ID]
#    url: [REPO-URL]
#    mirrorOf: *

镜像配置示例。

# controlhost_maven_settings_custom:

设置时,此部分将原样呈现为 Maven settings 的 块。

#controlhost_ansible_version: 2.5.6

设置时,将在控制主机上安装指定版本的 Ansible。

controlhost_python_version: 3

控制是否安装 Python3 或 Python2。确切版本取决于主机的操作系统。

controlhost_packages_pip_upgrade: true

控制 pip 是否将使用 --upgrade 选项执行。

controlhost_packages_pip_enabled: true

启用/禁用 pip 包安装。

controlhost_packages_pip:
  - markupsafe
  - jmespath
  - cffi
  - cryptography
  - boto
  - lxml
  - boto3
  - rsa
  - colorama
  - botocore
  - s3transfer
  - awscli

要安装的 pip 包。使用 Ansible 2.7+ 时,您还可以指定版本,详细信息可参见: https://docs.ansible.com/ansible/latest/modules/pip_module.html。

# controlhost_packages_os: []    

要在控制主机上安装的操作系统软件包列表。操作系统特定,请查看 vars 文件夹中的变量定义。

controlhost_packages_os_enabled: true

启用/禁用操作系统软件包安装。

依赖

此角色依赖于以下角色:

示例

将本地主机设置为控制主机,默认编辑器为 NANOANSIBLE_VAULT_PASSWORD_FILE 位于 .ansible/.vault_pass 中,以及将 'masterpassword' 设置为 Maven 主密码。

- hosts: localhost
  vars:
    controlhost_default_editor: nano
    controlhost_vault_pass_path: "{{ controlhost_user_home }}/.ansible/.vault_pass"
    controlhost_maven_master_password: masterpassword
  roles:
    - wcm_io_devops.conga_ansible_controlhost

许可

Apache 2.0

关于项目

Setups tooling for conga ansible aem automation

安装
ansible-galaxy install wcm_io_devops.conga_ansible_controlhost
许可证
apache-2.0
下载
42.5k
拥有者
Tools for Configuration Management and Deployment