Evgeni Golov
Debian Developer, Red Hat Engineer, ♥ automation
Sessions
The Foreman community maintains a collection of over 80 Ansible modules for interaction with the Foreman API and the various plugin APIs. At cfgmgmtcamp 2020 we talked about the first four years of that journey, at cfgmgmtcamp 2023 we talked about the next three years and we fully intend to make this talk a regular thing at every camp!
Today we want to talk what happened in that one year, which promises we did (not) deliver and what challenges we had.
Including:
- ~No~ 1 major release - stable APIs are great 🥳
- 7 minor releases with great features and bugfixes
- Over 1.8 million downloads on Galaxy (thats 0.6M more than last year)
- 1 new role (22 in total)
- 6 new modules (81 in total)
- using personal access tokens
- integrating with Event Driven Ansible
And of course we will also talk about what we think is next!
Writing Ansible modules is a tedious job.
Especially if all you do is to copy over the models from your app.
Especially if you want to have a module for each model, and you have hundreds of them.
Assuming the API has an API definition with OpenAPI/Swagger or Apipie, we can use the data provided by those tools to generate Ansible modules without much effort.
We'll be looking at tools like ansible.content_builder and apinsible for generating the modules, but also at general best practices how to organize a collection of modules to ensure new modules are easy to add and maintain.