ipr-cnrs.glpi_agent
glpi-agent
概要
この役割は、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 も)を気軽に共有してください 😀
ライセンス
著者情報
Jérémy Gardais
ansible-galaxy install ipr-cnrs.glpi_agent