Approaches to distributing binary modules?

11 views
Skip to first unread message

Jonas Kongslund

unread,
Apr 6, 2022, 8:59:09 AM4/6/22
to Ansible Development
Hi all,

I am playing around with creating an Ansible collection and some modules for managing different aspects of an open-source service. I am writing the modules using Go since the service's admin client SDK is only available in Go. The SDK features a fair chunk of non-trivial logic which I would prefer not to port to Python.

So, assuming that I am stuck with binary modules, what are some good approaches to distributing the binary modules so that it becomes easy for someone else to use the Ansible collection?

I can't directly bundle the modules with the Ansible collection since the current Galaxy maximum tarball size is 2 MB. Also, even if I could, I'd need to include support for multiple operating systems and CPU architectures.

I could bundle the source code and leave the rest to the user of the collection but that's not very user-friendly.

I am currently leaning towards packaging them in Debian/RPM packages, and including a role in the collection that installs them in /usr/share/ansible/plugins/modules.

Is there a more preferred approach?
Reply all
Reply to author
Forward
0 new messages