- isis_adjacency discovers and checks the status of IS-IS adjacency for ISIS-MIB
- service discovery can be limited to IS-IS neighbors within specific subnets
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 file .devcontainer/devcontainer.json defines the Remote Container, and within it there are some options that can be commented or uncommented to change the user which is used in the Remote Container as well as if the checkmk service and web gui are setup for testing your plugin. Temporary credentials for the dev container web gui can also be set within the json file.
Below are a few cmk cli examples that can be useful when developing a cmk plugin
# Service scan for exmaple.host
cmk --verbose --perfdata --debug example.host
# Clear prevous then detect plugins for isis_adjacency
cmk --verbose --perfdata --debug -II --detect-plugins=isis_adjacency example.host
# Check discovery for emaple.host
cmk --verbose --perfdata --check-discovery example.host
# Run isis_adjacency plugin on example.host
cmk --verbose --perfdata --plugins=isis_adjacency example.host
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.