OpenWrt support
World domination by running syslog-ng on SOHO wireless routers with OpenWrt/DD-WRT
Our fridges or microwave ovens may not be running syslog-ng TODAY, but our home routers sure could!
To this day, these embedded systems have constituted an rsyslog-free niche. Built-in logging is done via the minimalistic busybox which isn't exactly full-featured, though it does offer basic TCP logging without the bells and whistles, however it is also said to be buggy at times.
Why not show the world how things are done properly? We could also show off some of our neat tricks at the same time.
Few years ago, we did have a bloated syslog-ng package on OpenWrt, but it went unmaintained and our architecture also changed. We need to get back on track and improve modularity to reach a greater audience.
You can vote on implementing this as soon as possible by subscribing to the GitHub issue, joining the discussion or offer help. We could definitely find good puzzles for 2-6 people, so don't be shy.
For more information, you can also refer to the wiki on OpenWrt support for syslog-ng.
TODO: choose and compose one (two?) of these and put syslog-ng logo on their body, connect via lines
- https://openclipart.org/detail/129067/wireless-router
- https://openclipart.org/detail/167055/wireless-router
- https://openclipart.org/detail/16490/wireless-router
- https://openclipart.org/detail/191831/wifi-icon
- https://openclipart.org/detail/195048/wifi-available-coffee-shop
- http://www.pdclipart.org/displayimage.php?album=search&cat=0&pos=1
- http://www.publicdomainpictures.net/view-image.php?image=29417&picture=router
- ...
- Assist syslog-ng & open source firmware in creeping into homes
- Make syslog-ng friendlier to embedded systems
Note that if you have at least one or two of those mentioned below, you are already good to go - there's no need to know everything.
- syslog-ng package building for Linux
- Package building for OpenWrt
- CI setup (Travis? Jenkins? drone.io?)
- Syslog-ng development/maintenance
- Refactoring non-trivial C code bases with (inter-)dependencies
- C programming for glib factoring
- C programming for SSL factoring/replacement
- Autotools, Autoconf, Automake, Makefiles
- Robert C. Martin's principles on Clean Code
- Proper, secure use of crypto libraries
- C size optimization/profiling/analysis
- OpenWrt on extroot or tweaking NFS
- OpenWrt's internal build system
- How to get into the blood flow of the OpenWrt developers/community and how to stay there
- User community building around OpenWrt or syslog-ng
- OpenWrt solution deployment, designing and setting up networking and other configurations, monitoring
- Setting up and configuring applications to demo cool use cases
- Setting up a repository mirror
- Manual testing at home on your hardware
- All the above said but just for dd-wrt
- Editing promotional video, making animation, editing images
- Tech writing for wikis, blog and promo material
- ... (your suggestions here)
Of course, depending on the final team size and the affinity of the exact volunteers, a different path could be followed.
- Building a fresh VM for OpenWrt 15.05
- Set up an OpenWrt build environment
- Examine old version of package
- Set up old dependencies
- Build the old version of the package
- Set up or adjust dependencies for current version
- Try to get the current version to build with the minimal feature set
- Solve compilation and other environmental issues: probably takes some time and perhaps code adjustments will be needed
- Set up a deployment recipe for extroot
- Set up a reasonably meaningful test network using a wireless mesh and connect some plausible services
- Size profile at a high level to see where we are currently and what needs to be done to fit 4MB flash
- Size optimization by dependency refactoring (glib, SSL)
- Size optimization by increased modularization (#defines, multiple choices of libraries, slice larger modules)
- Adjust Linux CI to test various new configurations
- Set up CI packaging & testing for *WRT
- Mirror full point&click OpenWrt/DD-WRT images preconfigured for syslog-ng.
- ... (your suggestions here)
- Discussion on the first initiative https://github.com/balabit/syslog-ng/issues/759
- Official OpenWrt docs http://wiki.openwrt.org/doc/howto/log.syslog-ng
- Official DD-WRT docs https://www.dd-wrt.com/wiki/index.php/Logging_with_DD-WRT