How to create and upload a new package on the Checkmk Exchange
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 (Checkmks 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:
- An introduction. This is first thing other users see while searching for packages on the Exchange.
- A description. This will be show 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.
- Pick an icon. You can choose on of the per-defined icons. This icon will be shown while searching for packages and on the package page.
- Upload the MKP containing the first version of the new package.
When you are done, click the “Create Package” button on the bottom of the form.
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.
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.
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.