Announcement: community.openwrt

Community OpenWRT

It is with great joy that I announce to you the first ever release of the collection, community.openwrt 0.1.0.

To install it, you can run the usual:

ansible-galaxy collection install community.openwrt

This collection is largely adapted from the Ansible role gekmihesg.openwrt, and its main feature is that is not a Python-based collection, but rather based on plain shell-scripts, as many OpenWrt devices do not have enough memory hold a Python install. We want to acknowledge the work performed by Markus Weippert and contributors maintaining that Ansible role for many years.

The collection is far from being production-ready but so far it has been performing just like (or similar enough) to the Ansible role, but we would like to invite the community to take a look, add tests, improve the documentation, to contribute by and large. Those who are used to gekmihesg.openwrt, there are adjustments to be made, but there is no documentation yet on how to use it. It is in our radar to produce that.

Until we are ready to release a 1.0.0 version the collection is not considered to be stable yet and is subject to breaking changes, sometimes without notices. Again, we appreciate collaborations, but keep in mind this is not stable just yet. Watch this space.

6 Likes

Hi everyone,

community.openwrt 0.2.0 was released last evening (Middle-Earth timezone).

One of the major issues with this code is that, being shell-based rather Python, it is trickier to “import” the supporting machinery, needed for example to parse and produce JSON content. The gekmihesg.openwrt role was performing dark magic overloading internal methods of Ansible’s action plugin code, whilst version 0.1.0 of this collection was brute-forcibly templating the modules’ code into the wrapper.sh file. This release brings a much more elegant solution: the wrapper code became a module in itself, and all the regular modules use a standard action plugin that redirects their execution to the wrapper, passing the target (shell) module as parameter.

Other than that, the modules’ docs have received a good dose of attention, and are starting to look fairly good. Still some room for improvement, of course, but we’re getting there.

Anyone interested in collaborating, by all means take a look at the collection’s repo:

Reviews, issues and PRs are more than welcome!

1 Like

community.openwrt 0.3.0 has just been released!

This version adds more documentation and .devcontainer setup, amongst other things. Check the Changelog for more details.

Yay! More people are starting to use community.openwrt!! :smile:

I posted a message in the OpenWrt Forum and some days later we already have people making their own projects using community.openwrt! I very excited with this!! The New Year is going to bring more good news and fantastic automations for us :slight_smile:

:partying_face: :doughnut: :rocket:

1 Like

community.openwrt 0.4.0 has just been released!

This version comes with integration tests (currently only for one module, we will soon expand to others), improved lifecycle functions for the shell-based modules, and a brand new module community.openwrt.apk, supporting the upcoming release of OpenWrt 25.12.

Check the Changelog for more details.

1 Like

For the record, there was a snafu in the release of 0.3.0 - yours truly did not wait for the Zuul publishing to complete, and there was an error: galaxy-importer flagged missing README files in the collection’s roles, so that version was NOT published to Ansible Galaxy.

Please use the newly released version 0.4.0 instead.

1 Like

That’s amazing.

1 Like