wcm_io_devops.conga_ansible_controlhost

wcm_io_devops.conga_ansible_controlhost

Ta rola konfiguruje hosta jako kontrolera dla wcm.io DevOps Ansible Automation for AEM.

Rola instaluje następujące narzędzia:

  • JDK
  • Maven
  • Ansible (w tym wymagane pakiety pip takie jak cffi, jmespath, boto itp.)
  • Terraform

Jeśli zostanie podany, rola wdroży Twoje credentials AWS oraz plik .vault_pass.

Rola umożliwia także konfigurację środowiska w pliku .bashrc, jeśli jest to wymagane.

  • EDITOR
  • ANSIBLE_VAULT_PASSWORD_FILE

Dla Mavena wspierane jest dostarczanie plików settings.yml oraz settings-security.xml (opcjonalnie).

Oprócz wymaganych pakietów systemowych dla narzędzi zainstalowane zostaną następujące pakiety, które umożliwiają szybkie monitorowanie i debugowanie:

  • nano
  • iftop
  • htop
  • iotop

Wymagania

Ta rola wymaga Ansible w wersji 2.7 lub wyższej.

Zmienne roli

Dostępne zmienne są wymienione poniżej, razem z wartościami domyślnymi.

controlhost_dependency_maven: true

Włącza / wyłącza zależność od roli maven.

controlhost_dependency_java: true

Włącza / wyłącza zależność od roli java.

controlhost_dependency_epel: true

Włącza / wyłącza zależność od roli epel.

controlhost_dependency_terraform: true

Włącza / wyłącza zależność od roli terraform.

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

Użytkownik na kontrolerze.

controlhost_group: "{{ controlhost_user }}"

Grupa użytkowników na kontrolerze.

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

Katalog domowy użytkownika.

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

Ścieżka do katalogu Maven.

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

Ścieżka do pliku settings.xml dla Mavena.

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

Ścieżka do pliku settings-security.xml dla Mavena.

controlhost_maven_artifact_threads: 5

Wątki używane przez Maven przy pobieraniu artefaktów. Zwiększenie liczby wątków poprawia szybkość pobierania.

#controlhost_maven_master_password:

Jeśli ustalone, zostanie utworzone settings-security.xml dla Mavena z zaszyfrowanym hasłem głównym, a dane logowania dla controlhost_maven_repositories zostaną zaszyfrowane z użyciem hasła głównego Maven.

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

Ścieżka do .npmrc.

controlhost_nodejs_npmrc_always_auth: true

Kontroluje parametr "always-auth" w .npmrc.

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

Gdy rejestry są skonfigurowane, plik .npmrc zostanie przygotowany. Należy pamiętać, że obecnie można zdefiniować tylko jeden rejestr. Nazwa użytkownika i hasło muszą być podane w prostym tekście. Rola zajmie się tworzeniem tokenu uwierzytelniającego.

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

Jeśli ustalone, zmienna środowiskowa ANSIBLE_VAULT_PASSWORD_FILE w .bashrc jest ustawiana.

#controlhost_vault_pass_src:

Jeśli ustalone, określony plik zostanie skopiowany na kontroler do controlhost_vault_pass_path.

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

Ścieżka do pliku z danymi logowania AWS. Działa razem z: controlhost_aws_credentials_src.

#controlhost_aws_credentials_src:

Jeśli ustalone, określony plik zostanie skopiowany na kontroler do controlhost_aws_credential_path.

#controlhost_default_editor: "nano"

Jeśli ustalone, plik bashrc ustawi EDITOR na tę wartość.

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

Ścieżka do pliku poleceń powłoki do przygotowania ANSIBLE_VAULT_PASSWORD_FILE i 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 repozytoriów Mavena do skonfigurowania w pliku settings.xml Mavena. Domyślnie skonfigurowane zostały repozytorium Maven central oraz publiczne repozytorium od Adobe.

- id: [REPO-ID]
  url: [REPO-URL]
  username: [USERNAME] # opcjonalne
  password: [USERNAME] # opcjonalne
  releases:  # (opcjonalnie)
    [KLUCZ]:[WARTOŚĆ] # zostanie zamienione na <key>value</key>
  snapshots: # (opcjonalnie)
    [KLUCZ]:[WARTOŚĆ] # zostanie zamienione na <key>value</key>

Lista opcji konfiguracyjnych dla repozytorium Maven.

controlhost_maven_mirrors: []

Lista konfiguracji lustrzanych. Zobacz https://maven.apache.org/guides/mini/guide-mirror-settings.html dla szczegółów konfiguracji.

# Konfiguracja lustra
#  - id: [REPO-ID]
#    url: [REPO-URL]
#    mirrorOf: *

Przykład konfiguracji lustra.

# controlhost_maven_settings_custom:

Jeśli ustawione, ta część jest renderowana tak, jak jest, w bloku ustawień Mavena.

#controlhost_ansible_version: 2.5.6

Jeśli ustalone, podana wersja Ansible zostanie zainstalowana na kontrolerze.

controlhost_python_version: 3

Kontroluje, czy zostanie zainstalowany Python3 czy Python2. Dokładna wersja zależy od systemu operacyjnego hosta.

controlhost_packages_pip_upgrade: true

Kontroluje, czy pip będzie wykonywany z opcją --upgrade.

controlhost_packages_pip_enabled: true

Włącza / wyłącza instalację pakietów pip.

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

Pakiety pip do zainstalowania. Definicja pakietów pip, od wersji Ansible 2.7+ można również określać wersje, co udokumentowano tutaj: https://docs.ansible.com/ansible/latest/modules/pip_module.html.

# controlhost_packages_os: []    

Lista pakietów systemowych do zainstalowania na kontrolerze. Specyficzne dla systemu operacyjnego, zobacz definicję zmiennej w folderze vars.

controlhost_packages_os_enabled: true

Włącza / wyłącza instalację pakietów systemowych.

Zależności

Ta rola zależy od następujących ról:

Przykład

Skonfiguruj localhost jako kontrolera z domyślnym edytorem NANO, plikiem ANSIBLE_VAULT_PASSWORD_FILE w .ansible/.vault_pass oraz hasłem głównym masterpassword dla Mavena.

- 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

Licencja

Apache 2.0

O projekcie

Setups tooling for conga ansible aem automation

Zainstaluj
ansible-galaxy install wcm_io_devops.conga_ansible_controlhost
Licencja
apache-2.0
Pobrania
42.5k
Właściciel
Tools for Configuration Management and Deployment