How to create and upload a new package?

Many of the components in Checkmk can be extended by those with knowledge from Checkmk and Python programming experience. These extension can be packed in to a in to a MKP (Checkmk's own package format) and installed by other users or in distributed environments.


Every MKP has a name, a version, an author and can be installed and uninstalled with a few simple actions using the Checkmk GUI or the command line.


You can read all about creating packages in The Official Guide


When you have created a package for Checkmk you can share it here on the Checkmk Exchange with other users.


Create an account

Before you can upload a new package you need to create an account. Click in the top right corner on register. Pick a username, fill in your email address and choose a password and press the “Register” button on the bottom of the form. After you have registered you will be asked to verify your email address. We will send you an email, to the email address you just filled in, with a link. After visiting this link your account will be activated and you will be able to create new packages.


Create a new package

When you are logged in to your account you can create a new package by clicking “upload new package” in the main menu. On this page you can have to fill in the following information:


  • A description: This will be shown on the package page with along with all the other information about the package. This description can contain use cases and other relevant information specific to the package.
    You can use Markdown to format the description. To access the Markdown editor, click the </> icon in the upper right corner of the description text area. Following Markdown elements are not allowed:

    ![]() <!-- image -->


    Html tags can also be used. Following are the allowed html tags:

    b, strong, i, em, u, s, del, small, mark, sub, sup, br, h1, h2, h3, h4, h5, h6, p, div, span, hr, ul, ol, li, dl, dt, dd, a, table, tr, td, th, thead, tbody, tfoot, blockquote, cite, code, pre, samp

    You can always edit the description later.

    Note: Be careful when you use html and markdown together. Leave an empty line between the html and markdown. Otherwise it won't work as expected.

  • MKP: Upload the MKP containing the first version of the new package.
  • Icon: You can choose on of the per-defined icons. This icon will be shown while searching for packages and on the package page. You can always change the icon later.

When you are done, click the "Upload" button and that's it.


Versioning standards

Regarding versioning of the MKP, you need to follow semantic versioning standards. These are the basic rules for this versioning scheme.


  • A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes.
  • X is the major version, Y is the minor version, and Z is the patch version.
  • Each element MUST increase numerically. For instance: 1.9.0 → 1.10.0 → 1.11.0

It is recommended to go through further detail regarding semantic versioning standards.


Moderation process

Once you have created a new package it won’t be published until it is moderated by one of the Checkmk developers. We do this to ensure that all the packages that are being created are working and safe to use by other users. As soon as the developer has downloaded and tested the package he or she will publish the package so it is visible to anyone on the Exchange.


New version

Sometimes it is needed to make an adjustment to an existing package. For example when you make an improvement to the package or added a new feature. When you have created the MKP containing the new version you can add it to the existing package.


You do this by logging in to your account, visiting the package page and clicking the “Add Version” button on the left side of the screen. On the next page you will be able to upload the new version of the package.


Note: While adding new version of an existing package, please don't forget to increment the version number following semantic versioning standards.


Once uploaded a Checkmk developer will once again check if everything is working before publishing it on the exchange.


If you have any additional questions, feel free to ask them on the Checkmk Forum.


By publishing this package on Checkmk Exchange you agree to our Terms of Use.