mesaguy / ansible-prometheus

Ansible role for the management of Prometheus software and Prometheus exporters

Home Page:https://galaxy.ansible.com/mesaguy/prometheus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Publishing the role as ansible collection

dbolotin opened this issue · comments

Dear Mesaguy,

Thank you for the fantastic ansible role!

Have you thought about publishing the role as a collection?

We are thinking about developing a thin abstraction level over your role, which would generate prometheus configs from ansible inventories, and thinking about distribution options. The new "collection" feature of ansible/galaxy looks like a better option than raw roles. It for example allows to share several separate roles as a package, and also allows to share playbooks. Both features look useful in our case. Unfortunately, collections can only use other collections but not roles as dependencies.

Looking at the structure of your role, it seems that you can also benefit from using collections, by being able to split all the software specific roles into separate entities. Your abstraction model with _install.yaml etc, as I understand, can also be transparently translated to a separate roles model.

We will definitely go with your current role, and it is in no way a blocker for us, so this is rather a feature request for the future. Thanks again for your work!

Just read about tgroups, and now understand that this is approximately what we were implementing. 😄

Thank you for the kind feedback. I like the idea of eventually migrating this role to a collection containing simplified roles and will likely start moving in that direction later this year. Great idea!

commented

Is this still planned? Splitting this huge role in smaller roles would be great.

It might be worth to even drop prometheus, alertmanager and pushgateway to focus on exporters only. There are very good roles for the prometheus stack on https://github.com/cloudalchemy

I plan to begin splitting this role into purpose specific roles and a collection later this year.

This role has capabilities that https://github.com/cloudalchemy doesn't have (building from source, tgroup management, etc) and I have no plans to drop the Prometheus stack.