This is an initial attempt to develop a CheckMK "Special Agent" to query a Faxback NSX Server using supplied credentials and returns data from the 'stats' endpoint of the API for Connection, Net Satisfaction and Port Server endpoints.
For the best development experience use VSCode with the Remote Containers extension. This maps your workspace into a checkmk docker container giving you access to the python environment and libraries the installed extension has.
The current configuration is modified slightly to use podman instead of docker desktop.
I can't take credit for this setup as I used this template by jiuka to start learning to develop locally using the opensource build of CheckMK.
Also a word of appreciation to Yogibaer75 for his publicly available plugins for 2.3.0pXX releases to help fill in gaps in the documentation (which is good but for a novice like me, still somewhat confusing).
The following directories in this repo are getting mapped into the Checkmk site.
agents,checkman,checks,doc,inventory,notifications,pnp-templates,webare mapped intolocal/share/check_mk/agent_basedis mapped tolocal/lib/check_mk/base/plugins/agent_basednagios_pluginsis mapped tolocal/lib/nagios/plugins
To build the package hit Crtl+Shift+B to execute the build task in VSCode.
pytest can be executed from the terminal or the test ui.
The provided Github Workflows run pytest and flake8 in the same checkmk docker conatiner as vscode.