# Approaches to distributing binary modules?

**URL:** <https://forum.ansible.com/t/approaches-to-distributing-binary-modules/36514>\
**Category:** Ansible Developer\
**Tags:** galaxy-ng\
**Created:** [April 6, 2022, 12:59pm UTC](https://forum.ansible.com/t/approaches-to-distributing-binary-modules/36514 "2022-04-06T12:59:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonas\_Kongslund](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@Jonas\_Kongslund](https://forum.ansible.com/u/Jonas_Kongslund)\
**Post date:** [April 6, 2022, 12:59pm UTC](https://forum.ansible.com/t/approaches-to-distributing-binary-modules/36514/1 "2022-04-06T12:59:09Z")

</div>

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?
