D.3. テンプレートのインポートおよびエクスポート


タスクのインポートおよびエクスポートは、一連の API コールを通じて利用できます。API 呼び出しは、ロールベースのアクセス制御システムを使用します。これにより、任意のユーザーでタスクの実行が可能になります。TemplateSync プラグインを使用すると、Git リポジトリーまたはローカルディレクトリーと同期できます。

前提条件

インポートされたテンプレートを Satellite Web UI に表示するには、各テンプレートに、テンプレートが属するロケーションおよび組織が含まれている必要があります。これは、すべてのタイプのテンプレートタイプに適用されます。テンプレートをインポートする前に、以下のセクションをテンプレートに追加します。

<%#
kind: provision
name: My Kickstart File
oses:
- RedHat 7
- RedHat 6
locations:
- First Location
- Second Location
organizations:
- Default Organization
- Extra Organization
%>
Copy to Clipboard Toggle word wrap

Hammer を使用してテンプレートをインポートおよびエクスポートすることもできます。詳細は、Hammer Cli GuideProvisioning Templates を参照してください。

D.3.1. Git リポジトリーでテンプレートの同期

  1. SSH 認証 (gitosis、gitolite、git デーモンなど) を使用する Git サーバーを設定します。
  2. TemplateSync タブで TemplateSync プラグイン設定を設定します。

    1. Branch 設定を変更して、Git サーバーへのターゲットブランチに一致します。
    2. Git リポジトリーに一致するように、Repo 設定を変更します。たとえば、git@git.example.com/templates.git に置いたリポジトリーに対して、設定を ssh://git@git.example.com/templates.git に設定します。
  3. Foreman ユーザーとして Git SSH ホストキーを許可します。

    # sudo -u foreman ssh git.example.com
    Copy to Clipboard Toggle word wrap

    SSH 接続が成功していないため、出力に Permission denied, please try again. メッセージが表示されることが想定されます。

  4. SSH 鍵ペアがない場合は作成します。パスフレーズは指定しないでください。

    # sudo -u foreman ssh-keygen
    Copy to Clipboard Toggle word wrap
  5. Satellite の公開鍵を使用して Git サーバーを設定します。公開鍵は、/usr/share/foreman/.ssh/id_rsa.pub にあります。
  6. Satellite Server から、TemplateSync メニューに指定した Git リポジトリーにテンプレートをエクスポートします。

    $ curl -H "Accept:application/json,version=2" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/export \
    -X POST
    
    {"message":"Success"}
    Copy to Clipboard Toggle word wrap
  7. コンテンツを変更したら、テンプレートを Satellite Server にインポートします。

    $ curl -H "Accept:application/json,version=2" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/import \
    -X POST
    
    {“message”:”Success”}
    Copy to Clipboard Toggle word wrap

    Satellite が提供するテンプレートがロックされ、デフォルトではインポートできない点にご留意ください。この動作を上書きするには、TemplateSync メニューの Force import 設定を yes に変更するか、force パラメーター -d '{ "force": "true" }' を import コマンドに追加します。

D.3.2. ローカルディレクトリー

ローカルディレクトリーにリビジョン管理システムリポジトリーを設定している場合は、テンプレートをローカルディレクトリーと同期すると便利です。これにより、テンプレートを編集し、ディレクトリーで編集履歴を追跡できます。テンプレートの編集後に変更を Satellite Server に同期することも可能です。

  1. テンプレートを保存するディレクトリーを作成し、適切なパーミッションおよび 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
    Copy to Clipboard Toggle word wrap
  2. TemplateSync タブで Repo 設定を変更し、エクスポートディレクトリー /usr/share/templates_dir/ に一致させます。
  3. Satellite Server からローカルディレクトリーにテンプレートをエクスポートします。

    $ curl -H "Accept:application/json,version=2" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/export \
    -X POST \
    
    {"message":"Success"}
    Copy to Clipboard Toggle word wrap
  4. コンテンツを変更したら、テンプレートを Satellite Server にインポートします。

    $ curl -H "Accept:application/json,version=2" \
    -H "Content-Type:application/json" \
    -u login:password \
    -k https://satellite.example.com/api/v2/templates/import \
    -X POST
    
    {“message”:”Success”}
    Copy to Clipboard Toggle word wrap

    Satellite が提供するテンプレートがロックされ、デフォルトではインポートできない点にご留意ください。この動作を上書きするには、TemplateSync メニューの Force import 設定を yes に変更するか、force パラメーター -d '{ "force": "true" }' を import コマンドに追加します。

注記

-d パラメーターを使用して、リクエストでデフォルトの API 設定を上書きします。以下の例では、git.example.com/templates リポジトリーにテンプレートをエクスポートします。

$ curl -H "Accept:application/json,version=2" \
-H "Content-Type:application/json" \
-u login:password \
-k https://satellite.example.com/api/v2/templates/export \
-X POST \
-d "{\"repo\":\"git.example.com/templates\"}"
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat