Skip to content

copyleft/python-mkp

This branch is 13 commits ahead of tom-mi/python-mkp:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Lars Falk-Petersen
Apr 26, 2022
e58a3a5 · Apr 26, 2022

History

49 Commits
May 11, 2021
Apr 26, 2022
Apr 26, 2022
Nov 14, 2020
Nov 15, 2015
Nov 14, 2020
Nov 15, 2015
Nov 15, 2015
Nov 14, 2020
Nov 14, 2020
Apr 26, 2022
Nov 15, 2015
Nov 14, 2020
Nov 14, 2020
Nov 15, 2015

Repository files navigation

python-mkp

ci release

Pack or unpack Check_MK mkp files.

The purpose of this library is to generate mkp files from source without having to set up a complete Check_MK instance. It is not intended for installing mkp files to a Check_MK site.

Fork

This was forked from tom-mi/python-mkp as the project seems abandoned. Merged two open pull requests.

Installation

python -m pip install git+https://github.com/copyleft/python-mkp

Usage

Automatically pack mkp package

Create a executable script in the the top directory, e.g. dist.py

#!/usr/bin/env python

from mkp import dist

dist({
    'author': 'John Doe',
    'description': 'Test the automatic creation of packages',
    'download_url': 'http://example.com/',
    'name': 'test',
    'title': 'Test',
    'version': '1.0',
    'version.min_required': '1.2.3',
})

Optionally these can also be set:

dist(info, blacklist=[], filename='mypackage.mkp')

Create a directory structure as follows:

├── agents/
├── agent_based/
├── checkman/
├── checks/
├── doc/
├── inventory/
├── lib/
├── notifications/
├── pnp-templates/
├── web/
└── dist.py

Empty directories can be omitted. Running dist.py will pack all files in the directories listed above to a mkp package with the canonical name and the specified metadata. The mkp file will be written to the dist directory.

Extract mkp package

import mkp

package = mkp.load_file('foo-1.0.mkp')
print(package.info)
package.extract_files('path/to/somewhere')

Pack files to mkp package

In contrast to dist, this provides the possibility to manually select the files by replacing find_files. It is also possible to choose a different output filename.

import mkp

info = {
  'author': 'tom-mi',
  'description': 'Test the system',
  'download_url': 'http://example.com/',
  'files': mkp.find_files('path/to/files'),
  'name': 'test',
  'title': 'Test',
  'version': '1.0',
  'version.min_required': '1.2.3',
}
mkp.pack_to_file(info, 'path/to/files', 'test-1.0.mkp')

License

This software is licensed under GPLv2.

About

Pack and unpack Check_MK mkp files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%