2017-06-28 10 views
0

私は初心者です。インベントリとモジュール "htpasswd"を使用して環境ごとにユーザーを作成する方法

- name: htpasswd 
    htpasswd: 
    path: /etc/httpd/.htpasswd 
    name: dev 
    password: dev 
    group: apache 
    mode: 0640 
    become: true 

を今、私は、ユーザーとパスワードのプレースホルダ変数ごとに設定することができますか、理解しようとしている:私はそのような「/etc/httpd/.htpasswd」でユーザーとパスワードを作成するためのansible役割を書きましたインベントリ(または他の方法)を使用してこのモデルの環境

- name: htpasswd 
    htpasswd: 
    path: /etc/httpd/.htpasswd 
    name: "{{ inventory.htpasswd.name }}" 
    password: "{{ inventory.htpasswd.password }}" 
    group: apache 
    mode: 0640 
    become: true 

をし、環境ごとに在庫フォルダにそのような名前とパスワードを内容とファイル「のhtpasswd」になります。私はこのモデルの役割になる「ansible脚本-i在庫は/ dev」を実行した場合と同様に、設定することができ:

name: dev 
password: dev 

このようなものがありますか?または、誰かがベストプラクティスを教えてくれますか?

答えて

1

デフォルトでは、各ホストはAnecessによってallグループに割り当てられています。以下の構造では、在庫に基づいてグループ変数を定義することができます。

  • インベントリの/ dev /ホスト
  • インベントリの/ dev/group_vars/all.yml
  • 目録/ステージング/ホスト
  • において棚卸/ステージング/ group_vars/all.yml

inventories/dev/group_vars/all.yml

name: dev 
password: dev 

name: staging 
password: staging 

そして、あなたのタスクでは、自分の名前でVARSを参照:

- name: htpasswd 
    htpasswd: 
    path: /etc/httpd/.htpasswd 
    name: "{{ name }}" 
    password: "{{ password }}" 
    group: apache 
    mode: 0640 
    become: true 
+0

そして、どのように私は仕事でこの変数を呼び出すことができますか? {{group_vars.name}}? – muzafarow

+0

いいえ、 '{{password}}'でvarを参照するだけです –

関連する問題