wcm_io_devops.conga_ansible_controlhost

wcm_io_devops.conga_ansible_controlhost

Este rol configura un host como un controlhost para la Automatización de Ansible DevOps de wcm.io para AEM.

El rol instala las siguientes herramientas:

  • JDK
  • Maven
  • Ansible (incluyendo los paquetes pip necesarios como cffi, jmespath, boto, etc.)
  • Terraform

Cuando se proporciona, el rol desplegará tus credenciales de AWS y el archivo .vault_pass.

El rol también te permite configurar el entorno en tu .bashrc si es necesario:

  • EDITOR
  • ANSIBLE_VAULT_PASSWORD_FILE

Para Maven, se soporta la provisión de settings.yml y el settings-security.xml (opcional).

Además de los paquetes del sistema requeridos para las herramientas, se instalarán los siguientes paquetes para permitir un monitoreo y depuración rápidos:

  • nano
  • iftop
  • htop
  • iotop

Requisitos

Este rol requiere Ansible 2.7 o superior.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados.

controlhost_dependency_maven: true

Habilita / deshabilita la dependencia del rol de Maven.

controlhost_dependency_java: true

Habilita / deshabilita la dependencia del rol de Java.

controlhost_dependency_epel: true

Habilita / deshabilita la dependencia del rol de EPEL.

controlhost_dependency_terraform: true

Habilita / deshabilita la dependencia del rol de Terraform.

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

El usuario en el controlhost.

controlhost_group: "{{ controlhost_user }}"

El grupo del usuario en el controlhost.

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

El directorio principal del usuario.

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

Ruta al directorio de Maven.

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

Ruta al settings.xml de Maven.

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

Ruta al settings-security.xml de Maven.

controlhost_maven_artifact_threads: 5

Hilos usados por Maven al descargar artefactos. Aumentar esto mejora la velocidad de descarga.

#controlhost_maven_master_password:

Cuando se establece, se creará un settings-security.xml de Maven con la contraseña maestra encriptada, y las credenciales para los controlhost_maven_repositories se encriptarán usando la contraseña maestra de Maven.

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

Ruta al .npmrc.

controlhost_nodejs_npmrc_always_auth: true

Controla el parámetro "always-auth" en .npmrc.

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

Cuando se configuran registros, se aprovisionará el .npmrc. Ten en cuenta que en este momento solo se puede definir un registro. Se deben proporcionar el nombre de usuario y la contraseña en texto plano. El rol se encargará de crear el token de autenticación.

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

Cuando se establece, se configurará la variable de entorno ANSIBLE_VAULT_PASSWORD_FILE en .bashrc.

#controlhost_vault_pass_src:

Cuando se establece, el archivo especificado se copiará al controlhost en controlhost_vault_pass_path.

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

La ruta del archivo de credenciales de AWS. Funciona junto con: controlhost_aws_credentials_src.

#controlhost_aws_credentials_src:

Cuando se establece, el archivo especificado se copiará al control en controlhost_aws_credentials_path.

#controlhost_default_editor: "nano"

Cuando se establece, el bashrc exportará EDITOR con este valor.

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

Ruta al archivo de comandos de shell/bash para aprovisionar ANSIBLE_VAULT_PASSWORD_FILE y EDITOR.

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"

Lista de repositorios de Maven que se configurarán en settings.xml de Maven. Por defecto, aquí se configura el repositorio central de Maven y el repositorio de lanzamiento público de Adobe.

- id: [REPO-ID]
  url: [REPO-URL]
  username: [USERNAME] # opcional
  password: [USERNAME] # opcional
  releases:  # (opcional)
    [KEY]:[VALUE] # se convertirá a <key>value</key>
  snapshots: # (opcional)
    [KEY]:[VALUE] # se convertirá a <key>value</key>

Lista de opciones de configuración para un repositorio de Maven.

controlhost_maven_mirrors: []

Lista de configuraciones de espejos. Consulta https://maven.apache.org/guides/mini/guide-mirror-settings.html para detalles de configuración.

# Configuración del espejo
#  - id: [REPO-ID]
#    url: [REPO-URL]
#    mirrorOf: *

Ejemplo de configuración de un espejo.

# controlhost_maven_settings_custom:

Cuando se establece, esta parte se renderiza tal cual en el bloque de la configuración de Maven.

#controlhost_ansible_version: 2.5.6

Cuando se establece, se instalará la versión de Ansible dada en el controlhost.

controlhost_python_version: 3

Controla si se instalará Python3 o Python2. La versión exacta depende del sistema operativo del host.

controlhost_packages_pip_upgrade: true

Controla si pip se ejecutará utilizando la opción --upgrade.

controlhost_packages_pip_enabled: true

Habilita / deshabilita la instalación de paquetes pip.

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

Paquetes pip a instalar. Definición del paquete pip según el uso de Ansible 2.7+, también puedes especificar versiones como se documenta aquí: https://docs.ansible.com/ansible/latest/modules/pip_module.html.

# controlhost_packages_os: []    

Lista de paquetes del sistema a instalar en el controlhost. Específicos del sistema operativo, consulta la definición de variables en la carpeta vars.

controlhost_packages_os_enabled: true

Habilita / deshabilita la instalación de paquetes del sistema.

Dependencias

Este rol depende de los siguientes roles:

Ejemplo

Configura el localhost como un controlhost con el editor predeterminado NANO, un ANSIBLE_VAULT_PASSWORD_FILE ubicado en .ansible/.vault_pass y 'masterpassword' como la contraseña maestra de 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

Licencia

Apache 2.0

Acerca del proyecto

Setups tooling for conga ansible aem automation

Instalar
ansible-galaxy install wcm_io_devops.conga_ansible_controlhost
Licencia
apache-2.0
Descargas
42.5k
Propietario
Tools for Configuration Management and Deployment