wcm_io_devops.conga_ansible_controlhost

wcm_io_devops.conga_ansible_controlhost

このロールは、wcm.io DevOps Ansible Automation for AEM のためにホストを制御ホストとして設定します。

このロールは以下のツールをインストールします。

  • JDK
  • Maven
  • Ansible(cffi、jmespath、botoなどの必要なpipパッケージを含む)
  • Terraform

提供された場合、ロールはAWSのcredentialsファイルと.vault_passファイルをデプロイします。

ロールにより、必要に応じて.bashrcで環境を設定することができます。

  • EDITOR
  • ANSIBLE_VAULT_PASSWORD_FILE

Mavenに対しては、settings.ymlと(オプションの)settings-security.xmlの設定がサポートされています。

必要なOSパッケージに加えて、迅速な監視とデバッグを可能にするために以下のパッケージがインストールされます。

  • 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

アーティファクトのダウンロードに使用されるスレッド数。増やすことでダウンロード速度が向上します。

#controlhost_maven_master_password:

設定すると、暗号化されたマスターパスワードと制御ホスト用のMavenリポジトリの認証情報が含まれるMavenのsettings-security.xmlが作成されます。

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が準備されます。現時点では1つのレジストリしか定義できません。ユーザー名とパスワードは平文で提供する必要があります。ロールが認証トークンの作成を管理します。

#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_credentials_pathにコピーされます。

#controlhost_default_editor: "nano"

設定すると、bashrcでEDITORがこの値でエクスポートされます。

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

ANSIBLE_VAULT_PASSWORD_FILEおよびEDITORのプロビジョニング用の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がインストールされるかどうかを制御します。正確なバージョンはホストのOSによります。

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: []    

制御ホストにインストールするOSパッケージのリスト。OSに依存し、varsフォルダに変数定義があります。

controlhost_packages_os_enabled: true

OSパッケージのインストールを有効/無効にします。

依存関係

このロールは以下のロールに依存しています。

localhostをデフォルトエディタNANOとして制御ホストとしてセットアップし、.ansible/.vault_passANSIBLE_VAULT_PASSWORD_FILEを配置し、マスターパスワードを'masterpassword'として設定します。

- 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