D.3. テンプレートのインポートおよびエクスポート
タスクのインポートおよびエクスポートは、一連の API コールを通じて利用できます。API 呼び出しは、ロールベースのアクセス制御システムを使用します。これにより、任意のユーザーでタスクの実行が可能になります。TemplateSync プラグインを使用すると、Git リポジトリーまたはローカルディレクトリーと同期できます。
前提条件
インポートされたテンプレートを Satellite Web UI に表示するには、各テンプレートに、テンプレートが属するロケーションおよび組織が含まれている必要があります。これは、すべてのタイプのテンプレートタイプに適用されます。テンプレートをインポートする前に、以下のセクションをテンプレートに追加します。
Hammer を使用してテンプレートをインポートおよびエクスポートすることもできます。詳細は、Hammer Cli Guide の Provisioning Templates を参照してください。
D.3.1. Git リポジトリーでテンプレートの同期 リンクのコピーリンクがクリップボードにコピーされました!
- SSH 認証 (gitosis、gitolite、git デーモンなど) を使用する Git サーバーを設定します。
TemplateSync タブで TemplateSync プラグイン設定を設定します。
- Branch 設定を変更して、Git サーバーへのターゲットブランチに一致します。
-
Git リポジトリーに一致するように、Repo 設定を変更します。たとえば、
git@git.example.com/templates.git
に置いたリポジトリーに対して、設定をssh://git@git.example.com/templates.git
に設定します。
Foreman ユーザーとして Git SSH ホストキーを許可します。
sudo -u foreman ssh git.example.com
# sudo -u foreman ssh git.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH 接続が成功していないため、出力に
Permission denied, please try again.
メッセージが表示されることが想定されます。SSH 鍵ペアがない場合は作成します。パスフレーズは指定しないでください。
sudo -u foreman ssh-keygen
# sudo -u foreman ssh-keygen
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Satellite の公開鍵を使用して Git サーバーを設定します。公開鍵は、
/usr/share/foreman/.ssh/id_rsa.pub
にあります。 Satellite Server から、TemplateSync メニューに指定した Git リポジトリーにテンプレートをエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテンツを変更したら、テンプレートを Satellite Server にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite が提供するテンプレートがロックされ、デフォルトではインポートできない点にご留意ください。この動作を上書きするには、TemplateSync メニューの
Force import
設定をyes
に変更するか、force
パラメーター-d '{ "force": "true" }'
を import コマンドに追加します。
D.3.2. ローカルディレクトリー リンクのコピーリンクがクリップボードにコピーされました!
ローカルディレクトリーにリビジョン管理システムリポジトリーを設定している場合は、テンプレートをローカルディレクトリーと同期すると便利です。これにより、テンプレートを編集し、ディレクトリーで編集履歴を追跡できます。テンプレートの編集後に変更を Satellite Server に同期することも可能です。
テンプレートを保存するディレクトリーを作成し、適切なパーミッションおよび SELinux コンテキストを適用します。
mkdir -p /usr/share/templates_dir/ chown foreman /usr/share/templates_dir/ chcon -t httpd_sys_rw_content_t /usr/share/templates_dir/ -R
# mkdir -p /usr/share/templates_dir/ # chown foreman /usr/share/templates_dir/ # chcon -t httpd_sys_rw_content_t /usr/share/templates_dir/ -R
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
TemplateSync タブで Repo 設定を変更し、エクスポートディレクトリー
/usr/share/templates_dir/
に一致させます。 Satellite Server からローカルディレクトリーにテンプレートをエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテンツを変更したら、テンプレートを Satellite Server にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite が提供するテンプレートがロックされ、デフォルトではインポートできない点にご留意ください。この動作を上書きするには、TemplateSync メニューの
Force import
設定をyes
に変更するか、force
パラメーター-d '{ "force": "true" }'
を import コマンドに追加します。
-d
パラメーターを使用して、リクエストでデフォルトの API 設定を上書きします。以下の例では、git.example.com/templates
リポジトリーにテンプレートをエクスポートします。