Icinga Go library and the Terraform provider

Hello everyone,

First of all, I would like to thank the Icinga community for maintaining this wonderful product my team and I use every day to monitor thousands of servers.

With this huge amount of servers, we automate their provisioning into Icinga. We started by developing a Python script listing servers from Consul. Then we switched to the official Terraform provider. Unfortunately, this provider doesn’t support zones, so we used a fork from openHPI.

While this fork has been really useful for us, the maintainers haven’t contributed to upstream to support the zone. And for a good reason, the underlying go-icinga2-api library seems to be abandoned. The last commit was almost 6 years ago while there are open pull requests. The library is vendored and modified in the openHPI fork, and used by the official provider.

What are the alternatives?

  • A new REST API client written in Go (in this forum): dead link
  • Fork from dakota-marshall on GitHub: single maintainer with open pull requests

So I decided to fork the official Terraform provider, then added the zone support based on the openHPI fork, then added downtime management. But I’m a random person on GitHub too.

With that context in mind, that would be great if the Icinga organization on GitHub could fork the go-icinga2-api library so we could all contribute to a single project, then use this library in the official terraform provider.

I would be happy to contribute to this project and it seems that I’m not alone.

Would that be possible?

Thanks for your attention :folded_hands: