Configuring the beacon agent
============================

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

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

デフォルトでは、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:...``
のようなエポック修飾子がある場合に必要になることがよくあります。

ビーコンエージェントの構成
--------------------------

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

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

.. code:: bash

   $ tpaexec store-password . beacon_agent_access_key
   Password:

.. code:: bash

   $ 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`` に適切に書き込まれます。

ビーコンエージェントのインストール
----------------------------------

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

ビーコンエージェントの実行
--------------------------

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