December 2022 Monthly Report
+ + + +These past couple of months have been very busy interesting, LibrePages
+went from being a simple git pull
webhook to fully-fledged platform
+that can deploy static sites from any Git forge.
This month, the following things were accomplished:
+1. Deploy site from dashboard +
+It is now possible to deploy and manage websites with log inspection +right from the dashboard. LibrePages will automatically assign a +randomly generated, but friendly-sounding subdomain on a domain that the +LibrePages system manages. It is also possible to inspect deployment +events, like site updates, to troubleshoot errors in the deployment +pipelines.
+Custom domain support isn't available at the moment but will be +implemented soon.
+2. Forms support +
+Forms are useful but creating a separate backed or relying on +privacy-invasive tech like Google Forms is very inconvenient. Popular +JAMStack platforms like Netlify provide forms support, so we thought +implementing forms support will be useful.
+LibrePages Forms is a separate
+service that can be
+integrated into the system. It accepts form submissions in both JSON and
+application/x-www-form-urlencode
. Adding it to your
+LibrePages-deployed website is very simple, please see
+here for instructions.
3. Forgejo and Gitea integration +
+LibrePages exposes an endpoint which users can call to update their +deployments. This allows us to support all types of Git-based forges. In +addition to the endpoint, we now expose a webhook that is compatible +with Forgejo and Gitea. This way, the deployment will automatically be +updated when a push event is received at the deployed branch, without the +user (or their CI) requiring to call the endpoint.
+4. Sysadmin: logging and debugging +
+LibrePages is complicated system made of multiple services. It also uses +several third-party applications, like Nginx, to serve websites. +Debugging an issue that affecting multiple services used be complicated +but LibrePages now includes instrumentation to monitor with +Prometheus and provides distributed tracing via +OpenTelemetry-based based utilities like Jagger.
+5. Nginx, bind and Let's Encrypt +
+LibrePages is modular, it can be integrated into any existing system, +like Gna! and Enough +Community to provide static site hosting. We +do this using +Conductor, which allows +LibrePages to integrate with multiple DNS servers/providers, reverse +proxies and other third-party applications that LibrePages would depend +on.
+Currently, we are working on supporting a system based on Nginx, Bind9 and Let's Encrypt.
+6. Infrastructure-as-Code +
+Infrastructure as code to deploy the full +system is +being worked on. So far, we've implemented deploying a Debian server +using Terraform and libvirt. Installing and and configuring LibrePages +is being worked on.
+Thanks +
+I would like to thank the Easter-eggs +for funding team for funding my work on +LibrePages <3
+ ++
+ +