riponbanik.foreman
Ansibleロール:Foremanのインストールと設定
TravisCIのUbuntu VMに問題があります。hyperv vagrantマシンとAmazon EC2を使ってkitchen-ansibleでテストしました。
要件
Foremanはホスト名をFQDN(完全修飾ドメイン名)にする必要があります。Ansibleのホスト名モジュールを使ってホスト名をFQDNに変更するか、以下のロール変数を使用してホスト名を変更します。例: foreman_hostname: foreman.vagrantup.com
インストールが成功すると、https://foreman_fqdnを使ってForemanにアクセスできます。デフォルトの資格情報は以下です。
ユーザー: admin パスワード: password
ロール変数
利用可能な変数は以下にリストされています。デフォルト値も含まれています(defaults/main.yml
を参照)。
disable_puppet: true
デフォルトでは、all-in-one
のForemanインストールにはPuppetマスターが含まれていますが、上記のパラメータで無効にできます。
依存関係
インストールにはVM(オンプレミスまたはクラウド)が必要です。以下のOSでテストされています -
- Redhat Enterprise Linux 7、CentOS 7
- Ubuntu 16.04(Xenial)、18.04(Bionic)
- Debian 9
PostgreSQLとMySQLは上記のすべてでサポートされていますが、DebianではPostgreSQLのみがサポートされています。
例プレイブック
- name: Puppetマスターをインストール
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
- name: Chefサーバーをインストール
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_plugins:
- chef
- tasks
- name: Chefプロキシをインストール
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_proxy_plugins:
- chef
foreman_proxy_plugin_options:
chef-server-url: 'https://chef.example.com/organizations/default'
chef-client-name: 'foreman'
chef-private-key: '/etc/opscode/foreman.pem'
chef-ssl-verify: 'false'
- name: Ansibleをインストール
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_plugins:
- ansible
- remote-execution
foreman_proxy_plugins:
- ansible
- remote-execution-ssh
- name: Ansibleをインストール
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_compute:
- ec2
インストール方法
ansible galaxyからansibleのデフォルトの検索パスにロールをインストール
sudo ansible-galaxy install riponbanik.foreman -p /etc/ansible/roles
マシン上でローカルにインストールを実行
sudo ansible-playbook -c local -i "localhost," playbook.yml
ライセンス
MIT / BSD
参考文献
詳細なドキュメントはForemanのウェブサイトで利用可能です [https://www.theforeman.org/]
作者情報
このロールは2018年にRipon Banikによって作成されました。2019年にChris Scheibleによって修正とテストが行われました。