/ansible-collection-checkmk.general

The official Checkmk Ansible collection - brought to you by the Checkmk company.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Checkmk Ansible Collection

Checkmk already provides the needed APIs to automate and configure your monitoring. With this project we want to augment the experience and provide easy to use modules and roles for Ansible to both simplify your first steps with automating Checkmk and keep your daily operations smooth and efficient.

Here be dragons!

This collection is provided AS IS and we cannot guarantee proper functionality.

Additionally, there is no commercial support whatsoever!

This is an open source endeavour, on which we want to collaborate with the community.

Ansible Sanity Tests

Dependencies

Although the Ansible project notes, that collections should have no or very little dependencies, we want to make sure the collection works for you out-of-the-box. Currently we only depend on very basic collections, which are most likely already installed in your environment. For version constraints, see galaxy.yml.

Getting help

For documentation on the included modules, head over to the Galaxy, or run the following command substituting the $MODULE_NAME:

ansible-doc checkmk.general.$MODULE_NAME

For any form of support queries or requests refer to SUPPORT.md.

Included content

You can find playbooks, demonstrating the content of this collection in the folder playbooks/demo/.

Inventory plugins

Name Description Tests
checkmk.general.checkmk Dynamic Inventory Source for Checkmk Ansible Unit Test for Inventory Module.

Lookup plugins

Click on the lookup plugin name below, to get detailed documentation about it. For more in-depth documentation, see this README.

Name Description Tests
checkmk.general.bakery Look up the status pf the Checkmk agent bakery. Integration Tests for bakery Lookup Module
checkmk.general.folder Look up folder attributes. Integration Tests for Folder Lookup Module
checkmk.general.folders Look up all folders. Integration Tests for Folders Lookup Module
checkmk.general.host Look up host attributes. Integration Tests for Host Lookup Module
checkmk.general.hosts Look up all hosts. Integration Tests for Hosts Lookup Module
checkmk.general.rule Look up rule attributes. Integration Tests for Rule Lookup Module
checkmk.general.rules Look up all rules. Integration Tests for Rules Lookup Module
checkmk.general.ruleset Look up ruleset attributes. Integration Tests for Ruleset Lookup Module
checkmk.general.rulesets Look up all rulesets. Integration Tests for Rulesets Lookup Module
checkmk.general.site Look up site attributes. Integration Tests for Site Lookup Module
checkmk.general.sites Look up all sites. Integration Tests for Sites Lookup Module
checkmk.general.version Look up version and edition information. Integration Tests for Version Lookup Module

Modules

Click on the module name below, to get detailed documentation about it.

Name Description Tests
checkmk.general.activation Activate changes. Integration Tests for Activation Module
checkmk.general.bakery Bake and sign agents. Integration Tests for Bakery Module
checkmk.general.contact_group Manage contact groups. Integration Tests for Contact Group Module
checkmk.general.discovery Discover services on hosts. Integration Tests for Discovery Module
checkmk.general.downtime Manage downtimes. Integration Tests for Downtime Module
checkmk.general.folder Manage folders. Integration Tests for Folder Module
checkmk.general.host_group Manage host groups. Integration Tests for Host Group Module
checkmk.general.host Manage hosts. Integration Tests for Host Module
checkmk.general.rule Manage rules. Integration Tests for Rule Module
checkmk.general.service_group Manage service groups. Integration Tests for Service Group Module
checkmk.general.site Manage sites. Integration Tests for Site Module
checkmk.general.tag_group Manage tag groups. Integration Tests for Tag Group Module
checkmk.general.user Manage users. Integration Tests for User Module

Roles

Click on the role name below, to get documentation about the role.

Name Description Tests
checkmk.general.agent Installs Checkmk agents. Molecule Tests for Agent Role
checkmk.general.server Installs Checkmk servers and manages Checkmk sites. Molecule Tests for Server Role

Additional content

We love to see the community build things on top of this collection. Check out COMMUNITY.md for a listing of interesting projects that build upon this collection in some way.

Installing this collection

Please refer to the official Ansible documentation on how to install this collection. The most basic way is this:

ansible-galaxy collection install checkmk.general

Using this collection

We encourage you - in accordance with Ansible Best Practices - to always use FQCNs (Fully Qualified Collection Names) as seen below. This ensures, that you always know, which module is at play.

---
- hosts: all

  tasks:
    - name: "Run activation."
      checkmk.general.activation:
        server_url: "http://myserver/"
        site: "mysite"
        automation_user: "myuser"
        automation_secret: "mysecret"
        force_foreign_changes: 'true'
        sites:
          - "mysite"

Getting Involved

See CONTRIBUTING.

Release notes

See CHANGELOG.rst.

Versioning

This collection uses Semantic Versioning for releases. From the official homepage:

Given a version number MAJOR.MINOR.PATCH, increment the:

  MAJOR version when you make incompatible API changes
  MINOR version when you add functionality in a backward compatible manner
  PATCH version when you make backward compatible bug fixes

Roadmap

This is merely a collection of possible additions to the collection. Please do not consider it a concrete planning document!

  • Modules
    • Monitoring
      • Acknowledgement
      • Business Intelligence
      • Event Console
    • Setup
      • Agents
      • Business Intelligence
      • Dynamic host management (DCD)
      • Event Console
      • Notification Rules
  • OMD Module

More information about Ansible

More information about Checkmk

Licensing

See LICENSE.