wcm_io_devops.conga_ansible_controlhost

wcm_io_devops.conga_ansible_controlhost

Ce rôle configure un hôte en tant que serveur de contrôle pour l'automatisation Ansible DevOps wcm.io pour AEM.

Le rôle installe les outils suivants :

  • JDK
  • Maven
  • Ansible (y compris les paquets pip requis comme cffi, jmespath, boto, etc.)
  • Terraform

Le rôle déploiera vos credentials AWS et le fichier .vault_pass s'ils sont fournis.

Le rôle vous permet également de configurer l'environnement dans votre fichier .bashrc si nécessaire.

  • EDITOR
  • ANSIBLE_VAULT_PASSWORD_FILE

Pour Maven, la provision de settings.yml et le fichier settings-security.xml (optionnel) est pris en charge.

En plus des paquets OS requis pour les outils, les paquets suivants seront installés pour permettre une surveillance et un débogage rapides :

  • nano
  • iftop
  • htop
  • iotop

Exigences

Ce rôle nécessite Ansible 2.7 ou supérieur.

Variables du rôle

Les variables disponibles sont listées ci-dessous, ainsi que les valeurs par défaut.

controlhost_dependency_maven: true

Active / désactive la dépendance au rôle Maven.

controlhost_dependency_java: true

Active / désactive la dépendance au rôle Java.

controlhost_dependency_epel: true

Active / désactive la dépendance au rôle EPEL.

controlhost_dependency_terraform: true

Active / désactive la dépendance au rôle Terraform.

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

L'utilisateur sur le serveur de contrôle.

controlhost_group: "{{ controlhost_user }}"

Le groupe de l'utilisateur sur le serveur de contrôle.

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

Le répertoire personnel de l'utilisateur.

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

Chemin vers le répertoire Maven.

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

Chemin vers le fichier settings.xml de Maven.

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

Chemin vers le fichier settings-security.xml de Maven.

controlhost_maven_artifact_threads: 5

Threads utilisés par Maven lors du téléchargement des artefacts. Augmenter ce nombre améliore la vitesse de téléchargement.

#controlhost_maven_master_password:

Lorsqu'il est défini, un fichier settings-security.xml sera créé avec le mot de passe maître chiffré et les identifiants pour les dépôts Maven seront chiffrés en utilisant le mot de passe maître Maven.

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

Chemin vers le fichier .npmrc.

controlhost_nodejs_npmrc_always_auth: true

Contrôle le paramètre "always-auth" dans .npmrc.

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

Lorsque des registres sont configurés, le fichier .npmrc sera préparé. Notez qu'à l'heure actuelle, seul un registre peut être défini. Le nom d'utilisateur et le mot de passe doivent être fournis dans le plan. Le rôle se chargera de créer le jeton d'authentification.

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

Lorsqu'il est défini, la variable d'environnement ANSIBLE_VAULT_PASSWORD_FILE dans le fichier .bashrc est définie.

#controlhost_vault_pass_src:

Lorsqu'il est défini, le fichier spécifié sera copié sur le serveur de contrôle à controlhost_vault_pass_path.

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

Le chemin du fichier d'identifiants AWS. Fonctionne avec : controlhost_aws_credentials_src.

#controlhost_aws_credentials_src:

Lorsqu'il est défini, le fichier spécifié sera copié sur le serveur de contrôle à controlhost_aws_credential_path.

#controlhost_default_editor: "nano"

Lorsqu'il est défini, le fichier bashrc exportera EDITOR avec cette valeur.

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

Chemin vers le fichier de commandes bash/shell pour la préparation de ANSIBLE_VAULT_PASSWORD_FILE et 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"

Liste des dépôts Maven à configurer dans le settings.xml de Maven. Par défaut, le dépôt central Maven et le dépôt des versions publiques d'Adobe sont configurés ici.

- id: [REPO-ID]
  url: [REPO-URL]
  username: [USERNAME] # optionnel
  password: [USERNAME] # optionnel
  releases:  # (optionnel)
    [KEY]:[VALUE] # sera converti en <key>value</key>
  snapshots: # (optionnel)
    [KEY]:[VALUE] # sera converti en <key>value</key>

Liste des options de configuration pour un dépôt Maven.

controlhost_maven_mirrors: []

Liste des configurations de miroirs. Voir https://maven.apache.org/guides/mini/guide-mirror-settings.html pour les détails de configuration.

# Configuration du miroir
#  - id: [REPO-ID]
#    url: [REPO-URL]
#    mirrorOf: *

Exemple de configuration de miroir.

# controlhost_maven_settings_custom:

Lorsqu'il est défini, cette partie est rendue telle quelle dans le bloc des paramètres Maven.

#controlhost_ansible_version: 2.5.6

Lorsqu'il est défini, la version spécifiée d'Ansible sera installée sur le serveur de contrôle.

controlhost_python_version: 3

Contrôle si Python3 ou Python2 sera installé. La version exacte dépend de l'OS de l'hôte.

controlhost_packages_pip_upgrade: true

Contrôle si pip sera exécuté avec l'option --upgrade.

controlhost_packages_pip_enabled: true

Active / désactive l'installation de paquets pip.

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

Paquets pip à installer. La définition des paquets pip à partir de la version d'Ansible 2.7+ vous permet également de spécifier des versions comme documenté ici : https://docs.ansible.com/ansible/latest/modules/pip_module.html.

# controlhost_packages_os: []    

Liste des paquets os à installer sur le serveur de contrôle. Spécifique à l'OS, voir la définition des variables dans le dossier vars.

controlhost_packages_os_enabled: true

Active / désactive l'installation de paquets OS.

Dépendances

Ce rôle dépend des rôles suivants :

Exemple

Configurez le localhost en tant que serveur de contrôle avec l'éditeur par défaut NANO, un ANSIBLE_VAULT_PASSWORD_FILE situé dans .ansible/.vault_pass et 'masterpassword' comme mot de passe maître 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

Licence

Apache 2.0

À propos du projet

Setups tooling for conga ansible aem automation

Installer
ansible-galaxy install wcm_io_devops.conga_ansible_controlhost
Licence
apache-2.0
Téléchargements
42.5k
Propriétaire
Tools for Configuration Management and Deployment