Is there a way to push plugins from master to agents?
for example there is check mem template in ITL but no plugin installed by default
so when I installed plugin files in MASTER it would be great to push them or use them
on satellites/agents
Am I missing something? or there is no such option and I install plugins via puppet or custom .deb package?
As far as I know, there is no way to let icinga sync plugins. Because of the permission of Linux, you will also notice that configs, which are synced from the master to an agent, are not stored at /etc/icinga2, but /usr/share/icinga2/…
I have built myself a CI/CD process for the plugins via GitLab where a push to the GitLab master branch triggers a checkout on the icinga2 master and a sync to the slaves via ansible
I use rsync, rsync over ssh, or ansible. Depends on the sort of access I have to the endpoints. That’s just for *nix hosts that usually have the same distro and versions of libraries. For oddballs I have my own repo and use ansible to install things.
We use GlusterFS to share the plugins dir. between master and satellite. Then we only make changes in the master dir… For same-named plugins that have to react differently on master & satellite, we adapt the internal logic of the script (“am I a master?” - then do this - else this) using an extra “identifying” file under /etc somewhere for the master.