pandafy@dev-logs:~$

  • Docker OpenWISP: Overcoming Management Tunnel Challenges

    When OpenWISP is deployed over public infrastructure to manage devices geographically distributed over the internet, a management tunnel is required to perform essential network operations and monitoring checks. The Docker OpenWISP project is an ongoing effort to support deploying OpenWISP using Docker. It creates separate services to handle different aspects...

  • From Modules to Manuals: Unifying OpenWISP Docs

    OpenWISP draws inspiration from the Unix philosophy: Do one thing and do it well. This modular approach has shaped OpenWISP’s architecture, where separate modules handle specific functionalities such as the controller, monitoring, firmware upgrades, etc. While this modularity offers flexibility, it also presents a challenge — fragmented documentation. “Let’s have...

  • Adding WireGuard to Docker OpenWISP

    Last summer, I worked on adding WireGuard support to OpenWISP. And after a year of testing, improvements and production deployments, I am containerizing that work for docker-openwisp. The Ansible solution we developed to deploy this feature in ansible-wireguard-openwisp bundles an updater application with the WireGuard server. Each WireGuard VPN server...

  • Fixing notification storm of OpenWISP Notification

    OpenWISP Notifications brought the notification functionality to OpenWISP. It provided a handy abstraction to create notifications for different events triggered in OpenWISP. Hence allowing users to stay updated on their networks. But there existed a major shortcoming of OpenWISP Notifications, the notification storm. Whenever there is an event that affects...

  • Request using bearer authentication in PHP

    Making a GET request in PHP is not as simple as doing it in Python using the request module. After looking over multiple resources over the internet I found the following code to work well. try { $curl = curl_init($); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $headers = array( "Accept:...