私はリポジトリの中にいくつかのアプリケーションがあるとしましょう。データベースのユーザー名+パスワードのような機密データは、リポジトリ内には格納されず、暗号化された別のパスワードデータベースに格納されます。ソースコード内には、次のようなプレースホルダがあります:%%mysqlpassword%%
。機密データを貼り付ける方法
私は、コードをチェックアウトし、ユーザーの資格情報を置き換えるために、プレイ可能なプレイブックを作成したいと考えています。
テンプレートと- または交換するモジュールと
- :
は、私はそうするには、2つのアイデアを持っています。
このタスクを実行するためのベストプラクティス方法はありますか?
---
- hosts: test
vars_prompt:
- name: "mysqlpassword"
prompt: "Enter mysql password for app"
private: yes
tasks:
- name: copy code from repo
subversion: repo=https://repo.url.local/app dest=/srv/www/app
- name: Replacement of sensitive data by templating
template: src=mysqlconnect.php.j2 dest=/srv/www/app/inc/mysqlconnect.php
- name: Replacement of sensitive data by replacement function
replace: dest=/srv/www/app/inc/mysqlconnect.php regexp='%%mysqlpassword%%' replace='{{ mysqlpassword }}'
しかし、このソリューションでは、mysqlconnect.php.j2は、自分のアプリケーションにリポジトリで接続されていません。 – derhelge
@derhelgeすみません。私はあなたに正しい方向を教えてくれるので少し説明してください。 –
申し訳ありませんが、私のせいです。あなたは正しいです:) – derhelge