ipr-cnrs.glpi_agent

glpi-agent

  1. 概要
  2. デフォルトの変数
  3. Debian 専用変数
  4. 開発
  5. ライセンス
  6. 著者情報

概要

この役割は、Linux システム(最初は Debian 系のみ)に glpi-agent をインストールして管理しようとします。

以前の fusioninventory-agent に基づいています。

自分の APT/Yum などのリポジトリから glpi-agent をインストールする (展開するにはクリック)
- hosts: serverXYZ
  vars:
      glpi_agent__conf_raw: |
        # glpi-agent はサービスを開始するためのサーバーを必要とします
        server = http://server.domain.com/front/inventory.php

  roles:
    - role: ipr-cnrs.glpi_agent
  • glpi-agent パッケージは、公式のリポジトリ(Debian, Ubuntu など)ではまだ利用できません。
GLPI Agent Github プロジェクトから事前構築されたパッケージをインストールする (展開するにはクリック)
- hosts: serverXYZ
  vars:
      glpi_agent__install_from_url: true
      glpi_agent__conf_raw: |
        # glpi-agent はサービスを開始するためのサーバーを必要とします
        server = http://server.domain.com/front/inventory.php

  roles:
    - role: ipr-cnrs.glpi_agent
  • glpi_agent__install_from_url はまず依存関係をインストールし、 GLPI Agent Github リポジトリから事前構築された glpi-agent パッケージを使用します。
  • すべてのバージョンと公式の事前構築パッケージは、 GLPI Agent Github リポジトリで見つけることができます。

デフォルトの変数

パッケージとインストール

glpi_agent__enabled

真偽値。glpi-agent のインストールと構成を有効または無効にします。

glpi_agent__enabled: true

glpi_agent__install_from_url

真偽値。GLPI Agent パッケージが GLIP プロジェクトによってビルドされたパッケージからインストールされるべきか。

glpi_agent__install_from_url: false

glpi_agent__version

文字列。インストールする GLPI Agent のバージョン。

glpi_agent__version: '1.5-1'

glpi_agent__major_version

文字列。glpi_agent__package_url 変数を構築するためにメジャーバージョンを抽出します。

  • 例として、最新のバージョン (1.5-1) の場合、1.5 になります。
glpi_agent__major_version: '{{ glpi_agent__version.split("-")[0] }}'

glpi_agent__package_name

リスト。インストールする GLPI Agent パッケージ名。

glpi_agent__package_name:
  - glpi-agent

Debian の glpi_agent__package_url

GLPI Agent の .deb パッケージをダウンロードするために使用される URL。 例として、バージョン 1.5 の場合: https://github.com/glpi-project/glpi-agent/releases/download/1.5/glpi-agent_1.5-1_all.deb

glpi_agent__package_url: '{{ "https://github.com/glpi-project/glpi-agent/releases/download/"
                           + glpi_agent__major_version
                           + "/glpi-agent_"
                           + glpi_agent__version
                           + "_all.deb" if (ansible_os_family in ["Debian"])
                                        else "" }}'

glpi_agent__depends

真偽値。GLPI Agent の依存関係をインストールする必要があるか。 URL からのインストールに必要であり、いくつかの依存関係がリストに欠けている可能性があります… OS の変数ファイルの依存関係リストを参照してください (Debian)以下。

glpi_agent__depends: '{{ True if ansible_os_family in ["Debian"]
                                   else False }}'

glpi_agent__recommends

真偽値。GLPI Agent パッケージの推奨がインストールされるべきか。 OS の変数ファイルの推奨リストを参照してください (Debian)以下。

glpi_agent__recommends: false

glpi_agent__suggests

真偽値。GLPI Agent パッケージの提案がインストールされるべきか。 OS の変数ファイルの提案リストを参照してください (Debian)以下。

glpi_agent__suggests: false

Fusioninventory エージェント

公式ドキュメントでは、GLPI Agent をインストールする前に fusioninventory エージェントをアンインストールすることを推奨しています。 この役割によってパッケージおよび関連する設定ファイルは削除されません。

glpi_agent__fusioninventory_agent_state

以前の Fusioninventory エージェントの状態。

glpi_agent__fusioninventory_agent_state: 'absent'

glpi_agent__fusioninventory_agent_packages

削除する Fusioninventory エージェントパッケージのリスト。

glpi_agent__fusioninventory_agent_packages:
  - fusioninventory-agent

設定

すべてのパラメーター構文については、公式ドキュメントを参照してください。

glpi_agent__conf_file_dest

文字列。ホスト上の GLPI Agent 構成ファイルへのパス。

glpi_agent__conf_file_dest: '/etc/glpi-agent/conf.d/00-ansible.cfg'

glpi_agent__conf_file_src

文字列。GLPI Agent 構成ファイルを提供するために使用されるテンプレート。

glpi_agent__conf_file_src: '{{ "../templates" + glpi_agent__conf_file_dest + ".j2" }}'

glpi_agent__conf_raw

文字列。GLPI Agent 構成ファイルを提供するために使用されるテンプレート。

glpi_agent__conf_raw: ''

使用例:

glpi_agent__conf_raw: |
  tag = my_new_tag

サービス

glpi_agent__service_state

文字列。対象サービスの状態。

glpi_agent__service_state: '{{ "started" if (glpi_agent__enabled | bool)
                          else "stopped" }}'

glpi_agent__service_enabled

文字列。対象サービスの状態。

glpi_agent__service_enabled: '{{ glpi_agent__enabled | bool }}'

Cron 設定

glpi-agent は systemd サービスの代わりに cron ジョブとして実行できます。

Cron 関連の変数のリスト (展開するにはクリック)

glpi_agent__cron

文字列。cron ジョブをインストールすべきか。 "absent" または "present" のいずれか。

glpi_agent__cron: 'absent'

glpi_agent__cron_day

エージェントを実行する日。

glpi_agent__cron_day: '*'

glpi_agent__cron_hour

エージェントを実行する時間。

glpi_agent__cron_hour: '23'

glpi_agent__cron_minute

エージェントを実行する分。

glpi_agent__cron_minute: '0'

glpi_agent__cron_month

エージェントを実行する月。

glpi_agent__cron_month: '*'

glpi_agent__cron_weekday

エージェントを実行する曜日。

glpi_agent__cron_weekday: '*'

glpi_agent__cron_user

エージェントを実行するユーザー。

glpi_agent__cron_user: 'root'

glpi_agent__cron_command

cron が実行するコマンド。

glpi_agent__cron_command: 'sleep $(( RANDOM \\% 3600 )); /bin/glpi-agent'

Debian 専用変数

これらの変数は、ユーザーによってオーバーライドすることはできません。

Debian のパッケージとインストール

Debian glpi_agent__depends_packages

リスト。GLPI Agent パッケージの依存関係。

  • 1.5-1 の .deb パッケージバージョンに基づく dpkg --info 出力。
  • これらのパッケージのインストールをスキップするには、 上記の glpi_agent__depends を参照してください。
glpi_agent__depends_packages:
  - perl
  - ucf
  - lsb-base
  - libnet-cups-perl
  - libnet-ip-perl
  - libnet-ssh2-perl
  - libwww-perl
  - libparse-edid-perl
  - libproc-daemon-perl
  - libparallel-forkmanager-perl
  - libuniversal-require-perl
  - libfile-which-perl
  - libxml-libxml-perl
  - libyaml-perl
  - libtext-template-perl
  - libcpanel-json-xs-perl
  - libjson-pp-perl
  - pciutils
  - usbutils
  - libhttp-daemon-perl
  - libyaml-tiny-perl
  - libossp-uuid-perl
  - libdatetime-perl
  - libsocket-getaddrinfo-perl
  ## `dpkg --info` から欠落しているが glpi-agent のワークフローで使用される
  - libxml-treepp-perl
  - libxml-xpath-perl

Debian glpi_agent__recommends_packages

リスト。GLPI Agent パッケージの推奨。

  • 1.5-1 の .deb パッケージバージョンに基づく dpkg --info 出力。
  • これらのパッケージのインストールをスキップするには、 上記の glpi_agent__recommends を参照してください。
glpi_agent__recommends_packages:
  - libio-socket-ssl-perl
  - dmidecode
  - hdparm
  - fdisk
  - net-tools

Debian glpi_agent__suggests_packages

リスト。GLPI Agent パッケージの提案。

  • 1.5-1 の .deb パッケージバージョンに基づく dpkg --info 出力。
  • これらのパッケージのインストールをスキップするには、 上記の glpi_agent__suggests を参照してください。
glpi_agent__suggests_packages:
  - smartmontools
  - read-edid

開発

すべての PR は歓迎します :)

defaults/main.yml と変数ファイルについて:

  • ヘッダーに記載された構文を適用しようとしてください。既存のブロックをコピー/ペーストすればうまくいくはず 👍。
  • 新しい変数については、glpi_agent__ でプレフィックスを付けると、 Ansible の host_vars 内で簡単に管理できます。

Debian/CentOS に関する良いプラクティスやリクエスト(PR も)を気軽に共有してください 😀

ライセンス

WTFPL

著者情報

Jérémy Gardais

プロジェクトについて

Install and manage glpi-agent

インストール
ansible-galaxy install ipr-cnrs.glpi_agent
ライセンス
Unknown
ダウンロード
220.2k
所有者
Institut de Physique de Rennes https://ipr.univ-rennes1.fr/ Tutelles CNRS et Université Rennes 1