wcm_io_devops.conga_ansible_controlhost
wcm_io_devops.conga_ansible_controlhost
Diese Rolle richtet einen Host als Steuerhost für die wcm.io DevOps Ansible Automation für AEM ein.
Die Rolle installiert folgende Tools:
- JDK
- Maven
- Ansible (einschließlich benötigter Pip-Pakete wie cffi, jmespath, boto usw.)
- Terraform
Wenn der entsprechende Parameter angegeben wird, werden Ihre AWS credentials
und die
.vault_pass
-Datei bereitgestellt.
Die Rolle ermöglicht es Ihnen auch, die Umgebung in Ihrer .bashrc zu konfigurieren, wenn nötig.
- EDITOR
- ANSIBLE_VAULT_PASSWORD_FILE
Für Maven wird die Bereitstellung von settings.yml
und settings-security.xml
(optional) unterstützt.
Neben den erforderlichen OS-Paketen für die Tools werden die folgenden Pakete installiert, um schnelles Monitoring und Debugging zu ermöglichen:
- nano
- iftop
- htop
- iotop
Anforderungen
Diese Rolle erfordert Ansible 2.7 oder höher.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten.
controlhost_dependency_maven: true
Aktiviert / deaktiviert die Maven Rollenabhängigkeit.
controlhost_dependency_java: true
Aktiviert / deaktiviert die Java Rollenabhängigkeit.
controlhost_dependency_epel: true
Aktiviert / deaktiviert die EPEL Rollenabhängigkeit.
controlhost_dependency_terraform: true
Aktiviert / deaktiviert die Terraform Rollenabhängigkeit.
controlhost_user: "{{ ansible_env.SUDO_USER | default(ansible_env.USER) }}"
Der Benutzer auf dem Steuerhost.
controlhost_group: "{{ controlhost_user }}"
Die Benutzergruppe auf dem Steuerhost.
controlhost_user_home: "/home/{{ controlhost_user }}"
Das Home-Verzeichnis des Benutzers.
controlhost_maven_path: "{{ controlhost_user_home }}/.m2"
Pfad zum Maven-Verzeichnis.
controlhost_maven_settings_path: "{{ controlhost_maven_path }}/settings.xml"
Pfad zu Maven settings.xml.
controlhost_maven_settings_security_path: "{{ controlhost_maven_path }}/settings-security.xml"
Pfad zu Maven settings-security.xml.
controlhost_maven_artifact_threads: 5
Threads, die von Maven beim Herunterladen von Artefakten verwendet werden. Eine Erhöhung verbessert die Downloadgeschwindigkeit.
#controlhost_maven_master_password:
Wenn gesetzt, wird eine Maven settings-security.xml mit dem verschlüsselten Masterpasswort erstellt, und die Anmeldeinformationen für die controlhost_maven_repositories werden mit dem Maven-Masterpasswort verschlüsselt.
controlhost_nodejs_npmrc_path: "{{ controlhost_user_home }}/.npmrc"
Pfad zur .npmrc.
controlhost_nodejs_npmrc_always_auth: true
Steuert den "always-auth"-Parameter in .npmrc.
# controlhost_nodejs_npmrc_registries:
#- registry:
# username:
# password:
Wenn Registrierungen konfiguriert sind, wird die .npmrc bereitgestellt. Bitte beachten Sie, dass derzeit nur eine Registrierung definiert werden kann. Der Benutzername und das Passwort müssen im Klartext angegeben werden. Die Rolle kümmert sich um die Erstellung des Authentifizierungstokens.
#controlhost_vault_pass_path: "{{ controlhost_user_home }}/.ansible/.vault_pass"
Wenn gesetzt, wird die Umgebungsvariable ANSIBLE_VAULT_PASSWORD_FILE
in der
.bashrc gesetzt.
#controlhost_vault_pass_src:
Wenn gesetzt, wird die angegebene Datei in den Steuerhost unter
controlhost_vault_pass_path
kopiert.
controlhost_aws_credentials_path: "{{ controlhost_user_home }}/.aws/credentials"
Der Pfad zur AWS-Anmeldeinformationsdatei. Funktioniert zusammen mit: controlhost_aws_credentials_src
.
#controlhost_aws_credentials_src:
Wenn gesetzt, wird die angegebene Datei zum Steuerhost unter
controlhost_aws_credentials_path
kopiert.
#controlhost_default_editor: "nano"
Wenn gesetzt, wird die bashrc EDITOR mit diesem Wert exportieren.
controlhost_bashrc: "{{ controlhost_user_home }}/.bashrc"
Pfad zur Datei für Shell-Befehle zur Bereitstellung von
ANSIBLE_VAULT_PASSWORD_FILE
und 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 der Maven-Repositories, die in der Maven settings.xml konfiguriert werden sollen. Standardmäßig sind hier Maven central und das öffentliche Release-Repository von Adobe konfiguriert.
- id: [REPO-ID]
url: [REPO-URL]
username: [USERNAME] # optional
password: [USERNAME] # optional
releases: # (optional)
[KEY]:[VALUE] # wird in <key>value</key> umgewandelt
snapshots: # (optional)
[KEY]:[VALUE] # wird in <key>value</key> umgewandelt
Liste der Konfigurationsoptionen für ein Maven-Repository.
controlhost_maven_mirrors: []
Liste der Spiegelkonfigurationen. Siehe https://maven.apache.org/guides/mini/guide-mirror-settings.html für Konfigurationsdetails.
# Spiegelkonfiguration
# - id: [REPO-ID]
# url: [REPO-URL]
# mirrorOf: *
Beispiel für eine Spiegelkonfiguration.
# controlhost_maven_settings_custom:
Wenn gesetzt, wird dieser Teil so wie er ist in den
#controlhost_ansible_version: 2.5.6
Wenn gesetzt, wird die angegebene Version von Ansible auf dem Steuerhost installiert.
controlhost_python_version: 3
Steuert, ob Python3 oder Python2 installiert wird. Die genaue Version hängt vom Betriebssystem des Hosts ab.
controlhost_packages_pip_upgrade: true
Steuert, ob Pip mit der --upgrade-Option ausgeführt wird.
controlhost_packages_pip_enabled: true
Aktiviert / deaktiviert die Installation von Pip-Paketen.
controlhost_packages_pip:
- markupsafe
- jmespath
- cffi
- cryptography
- boto
- lxml
- boto3
- rsa
- colorama
- botocore
- s3transfer
- awscli
Pip-Pakete zur Installation. Bei der Verwendung von Ansible 2.7+ können auch Versionen angegeben werden, wie hier dokumentiert: https://docs.ansible.com/ansible/latest/modules/pip_module.html.
# controlhost_packages_os: []
Liste von OS-Paketen, die auf dem Steuerhost installiert werden sollen. OS-spezifisch, siehe Variablendefinition im vars-Ordner.
controlhost_packages_os_enabled: true
Aktiviert / deaktiviert die Installation von OS-Paketen.
Abhängigkeiten
Diese Rolle ist von den folgenden Rollen abhängig:
- geerlingguy.repo-epel (nur RedHat OS)
- srsp.oracle-java
- gantsign.maven
- andrewrothstein.terraform
Beispiel
Richten Sie den lokalen Host als Steuerhost mit dem Standard-Editor NANO
, einer ANSIBLE_VAULT_PASSWORD_FILE
, die sich in .ansible/.vault_pass
befindet, und 'masterpassword' als Maven-Masterpasswort ein.
- 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
Lizenz
Apache 2.0
ansible-galaxy install wcm_io_devops.conga_ansible_controlhost