Configuring the PGAI agent
==========================

..  Note::
   TPAは現在、PGAIエージェントを使用してクラスターをEDB Postgres AI Cloud Serviceと統合することのみをサポートしています。 EDB Postgres AI Hybrid Managerと統合するためのエージェントの使用、または使用状況レポートは、TPAの将来のリリースでサポートされる予定です。

.. ::
   TPAは、 `config.yml` のロール`beacon-agent` を持つノードにPGAIエージェント`beacon-agent` としてパッケージ化をインストールおよび構成します。 `--enable-beacon-agent` が`tpaexec configure` に渡される場合、クラスター内のすべてのpostgresノードがこのロールになります。

PGAIエージェントパッケージバージョン
------------------------------------

デフォルトでは、TPAは\ ``beacon-agent``
の利用可能な最新バージョンをインストールします。

``config.yml`` ファイルの\ ``cluster_vars``
セクションの下に\ ``beacon_agent_package_version: xxx``
を含めることにより、インストールされる\ ``beacon-agent``
パッケージのバージョンを指定できます。

.. code:: yaml

   cluster_vars:
       …
       beacon_agent_package_version: 1.56.2-1
       …

aptまたはyumが受け入れるバージョン指定子を使用できます。

バージョンが一致しない場合は、 ``*``
ワイルドカードを追加してみてください。これは、パッケージバージョンに\ ``2:...``
のようなエポック修飾子がある場合に必要になることがよくあります。

PGAIエージェント構成
--------------------

PGAIエージェント構成には、クラスターごとに設定する必要がある2つのパラメーター、アクセスキーとプロジェクトIDが含まれています。

アクセスキーはクラスターディレクトリで暗号化されたままで、
tpaの\ ``store-password`` および\ ``show-password``
コマンドを使用して設定または読み取ることができます。

.. code:: shell

   tpaexec store-password . beacon_agent_access_key

.. code:: output

   Password:

.. code:: shell

   tpaexec show-password . beacon_agent_access_key

``tpaexec provision``
の実行時に環境変数BEACON_AGENT_ACCESS_KEYが設定されている場合、アクセスキーはその値から設定されます。

プロジェクトIDは、\ ``cluster_vars`` の\ ``beacon_agent_project_id``
キーの下の\ ``config.yml`` に保存されます。
``--beacon_agent_project_id`` 引数が\ ``tpaexec configure``
に渡される場合、その値は\ ``config.yml`` に適切に書き込まれます。

PGAIエージェントのインストール
------------------------------

TPAはEDBのリポジトリからPGAIエージェントをインストールし、\ ``beacon``
というオペレーティングシステムユーザーと\ ``beacon``
というデータベースユーザーを作成します。エージェントの構成ファイルは、ビーコンユーザーのホームディレクトリの\ ``.beacon/beacon_agent.yaml``
に書き込まれます。

PGAIエージェントの実行
----------------------

TPAは、
systemdサービスユニットファイルをインストールして、ブート時にエージェントを起動し、ビーコンユーザーとして実行します。
