14.3. リポジトリーソースの使用
既存のリポジトリーまたはローカルディレクトリーを使用して、テンプレートを Satellite Server と同期できます。
14.3.1. テンプレートを既存のリポジトリーと同期する
この手順を使用して、Satellite Server と既存のリポジトリーの間でテンプレートを同期します。
手順
HTTPS を使用してリポジトリーに接続する必要があり、Git サーバーで自己署名証明書認証を使用する場合は、証明書を検証します。
# sudo -u foreman git config --global http.sslCAPath Path_To_My_Certificate
SSH を使用してリポジトリーに接続する場合は、次の手順を実行します。
SSH 鍵ペアがない場合は作成します。パスフレーズは指定しないでください。
# sudo -u foreman ssh-keygen
-
Satellite の公開鍵を使用してバージョン管理サーバーを設定します。公開鍵は、
/usr/share/foreman/.ssh/id_rsa.pub
にあります。 Git SSH ホストキーを
foreman
ユーザーとして受け取ります。# sudo -u foreman ssh git.example.com
TemplateSync タブで TemplateSync プラグイン設定を設定します。
- Branch 設定を変更して、Git サーバーへのターゲットブランチに一致します。
-
Git リポジトリーに一致するように、Repo 設定を変更します。たとえば、
git@git.example.com/templates.git
に置いたリポジトリーに対しては、git@git.example.com/templates.git
に設定します。
14.3.2. ローカルディレクトリーを使用したテンプレートの同期
ローカルディレクトリーで、バージョン管理リポジトリーを設定した場合は、テンプレートをローカルディレクトリーと同期すると便利です。これにより、テンプレートを編集し、ディレクトリーで編集履歴を追跡できます。テンプレートの編集後に変更を Satellite Server に同期することも可能です。
前提条件
各テンプレートに、テンプレートが属するロケーションおよび組織が含まれている必要がある。これは、すべてのタイプのテンプレートタイプに適用されます。テンプレートをインポートする前に、以下のセクションをテンプレートに追加します。
<%# kind: provision name: My_Provisioning_Template oses: - My_first_OS - My_second_OS locations: - My_first_Location - My_second_Location organizations: - My_first_Organization - My_second_Organization %>
手順
/var/lib/foreman
に、テンプレートを保存するためのディレクトリーを作成します。# mkdir /var/lib/foreman/My_Templates_Dir
注記テンプレートを
/var/lib/foreman
の外部のカスタムディレクトリーに配置できますが、Foreman
サービスがその内容を読み取れるようにする必要があります。ディレクトリーには正しいファイルパーミッションとforeman_lib_t
SELinux ラベルが必要です。新しいテンプレートディレクトリーの所有者を
foreman
ユーザーに変更します。# chown foreman /var/lib/foreman/My_Templates_Dir
-
TemplateSync タブの Repo 設定を
/var/lib/foreman/My_Templates_Dir/
ディレクトリーと一致するように変更します。