Skip to content

ISU-Ansible/sensu-go-ansible

 
 

Repository files navigation

sensu-go-ansible

Build Status GitHub release License

This role allows for the deployment and management of Sensu Go.

Modules are a work in progress

While the initial role completely handles installing and running Sensu Go's sensu-agent, sensu-backend, and sensuctl there is still a lot of work left to do.

  • Adding/Deleting/Modifying Checks

  • Adding/Deleting/Modifying organizations/environments

  • Adding/Deleting/Modifying roles

  • Adding/Deleting/Modifying filters

  • Adding/Deleting/Modifying mutators

  • Adding/Deleting/Modifying handlers

  • Adding/Deleting/Modifying silences

  • Adding/Deleting/Modifying hooks

The current focus is adding/deleting/modifying checks. Currently, there's a work in progress Ansible module included in library/ for this. Until the Sensu Go API is versioned/documented/stable, we are wrapping sensuctl for our interactions with Sensu Go.

If you'd like to contribute, please review CONTRIBUTING.md and open an issue to discuss your idea.

Requirements

  • Ansible 2.7 or higher

Role Variables

See defaults/main.yml for everything that's configurable. Please note that unless you've configured hash_behaviour to merge configuring any of the hash variables will override the entire default variable.

Most variables expose an _overrides: {} variable that is merged automatically in this role for selectively updating each variable. It's strongly recommended that the overrides variable be used.

Dependencies

None

Example Playbook

    - hosts: sensu-backend-servers
      roles:
         - role: jaredledvina.sensu_go_ansible

    - hosts: sensu-agent-severs:
      roles:
        - role: jaredledvina.sensu_go_ansible
          sensu_go_components:
            - agent
          sensu_go_configs_override:
            agent:
              config:
                backend-url:
                  - ws://sensu-backend-server:8081

Testing

This Ansible role is automatically tested via TravisCI on every commit. We specifically test using the version of Ansible and python declared in the Pipefile

The following Operating Systems are automatically tested:

The following Operating Systems are currently unsupported until Sensu Go packages are officially published for them:

Caveats

If you are using this role with Amazon Linux or Amazon Linux 2, you must override the following variables on those host(s):

Amazon Linux:

sensu_go_repos_overrides:
  yum:
    rpm: https://packagecloud.io/sensu/stable/el/6/x86_64
    rpm-src: https://packagecloud.io/sensu/stable/el/6/SRPMS

Amazon Linux 2:

sensu_go_repos_overrides:
  yum:
    rpm: https://packagecloud.io/sensu/stable/el/7/x86_64
    rpm-src: https://packagecloud.io/sensu/stable/el/7/SRPMS

License

MIT

About

Ansible role to deploy and manage Sensu Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 65.6%
  • Ruby 34.4%