For many years, the official syslog-ng container and development containers were based on Debian Testing. We are switching to Debian Stable now. Learn about the history and the reasons for the change now.
Why Debian Testing?
For many years, Debian Testing, the “rolling” version of Debian, was the only Linux distribution which both included all of the possible syslog-ng dependencies and was a sufficiently recent version. This is why the official syslog-ng Docker container and various syslog-ng-related development containers were based on Debian Testing. This way, developers did not have to maintain the missing or outdated dependencies themselves.
Another reason for using Debian Testing was that this way developers can learn about breaking changes in Debian early, and fix code and / or packaging before the next stable Debian is released.
Why Debian Stable?
The rolling nature of Debian Testing has caused quite a bit of headache recently. For example, syslog-ng compiling fine the day before release, but failing on the day of release. A removed dependency also caused problems recently, blocking testing and merging new code. Using Debian Testing is good for testing, but not as a main platform for development.
Luckily, while Debian Stable had outdated versions of various syslog-ng dependencies a couple of years ago, there is no such problem anymore. While changing the various containers to Debian Stable required just minimal changes, it will have a major effect: a lot less stressful development.
Changing the development container to Debian Stable does not mean that Debian Testing is not tested anymore. Any pull requests will be tested against Debian Testing, as well. The change means that problems in Debian Testing do not block development completely anymore. When something breaks on Debian Testing, it does not have to be fixed before everything else.
Of course, it does not mean that we leave Debian Testing broken for more than a few days. However, it means a lot more predictable development on Debian Stable.
Using a stable Linux distribution for the base of the syslog-ng container image was also an often-returning request, which Debian Stable can provide.
When?
The development images are already using Debian Stable as a base. The Docker image is generated nightly, therefore it automatically switched to Debian Stable once this change was merged on GitHub. Currently, the syslog-ng release Docker image is generated on release, which means that the next release will already be based on Debian Stable, but the current release stays on Debian Testing.
What else to expect?
I plan to work on RPM-based syslog-ng container images. Once it is well tested and received some community feedback, we can also do regular builds of it. However, not as a replacement for the current balabit/syslog-ng image, but as an addition. Too many people have long-existing processes to use that Debian-based image. If we can believe the Docker hub statistics, there are 50+ million downloads of it. However, do not hold your breath. :-)
-
If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik, on Mastodon as @Pczanik@fosstodon.org.