Hi @mmetc, @sabban
I just saw that the required go version for the firewall bouncer has been updated to 1.22. This prevents the update of the bouncer for OpenWrt 23.05 (the current stable release). OpenWrt 23.05 has go 1.21.12 and will most likely not upgrade to 1.22.
Is there a chance to revert this version upgrade or is go 1.22 required?
It would be a bit disapointing for a few users if the OpenWrt Crowdsec bouncer can’t be upgraded to 0.0.29 only because of the golang version.
The Go version already prevented to update the Crowdsec package for OpenWrt 23.05. Not a big issue as not very much users use it but for the bouncer there is a reasonable number of user.
Hi, thank you for reporting the issue to us so quickly!
The reason fw-bouncer now depends on 1.22 is that when we update the dependency from crowdsec 1.6.1 to 1.6.3 in a few days (to use the apiclient package) it will be a hard build requirement. We planned to do it for 0.0.29 but we can
revert the requirement to 1.21
do a stable 0.0.29 release
go on with the merges and require 1.22
release 0.0.30
Version 0.0.29 brings stability improvements, while 0.0.30 would have metrics on processed/blocked traffic reported to lapi and the console, you can live without them.
Is this clear/good enough? We do make use of new go features (will definitely use the range funcs in 1.23 for example) so we could slow the pace but not by much, at least for the main crowdsec package.
It is most unlikely that OpenWrt will update go to a version higher than 1.21 for their stable branch 23.05.
Thus, to being able to update the firewall bouncer package for OpenWrt a version based on go < 1.22 is required at least until a new OpenWrt is available (but this will take some time, I’m afraid).
For me your plan is ok. I would also love to have metrics inprovements (please see issue 347) on the current OpenWrt bouncer but the stability definitely is more important.
How about branching for a go 1.21 based version? So there is a path for bug fixes and maybe even feature backports while going on with development on a newer go version?