feat: December 2022 monthly update
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
7c175be594
commit
1f28ae124b
1 changed files with 89 additions and 0 deletions
89
content/blog/2022-12-31-december-2022-monthly-report.md
Normal file
89
content/blog/2022-12-31-december-2022-monthly-report.md
Normal file
|
@ -0,0 +1,89 @@
|
|||
+++
|
||||
title = "December 2022 Monthly Report"
|
||||
date = "2022-12-31"
|
||||
description = "Towards MVP: deploy sites with forms with Forgejo and Gitea integration. Infrastructure-as-Code to deploy full system is WIP"
|
||||
draft=false
|
||||
|
||||
[taxonomies]
|
||||
tags = ['monthly-report', 'JAMStack', 'self-hosting']
|
||||
|
||||
[extra]
|
||||
author = 'realaravinth'
|
||||
+++
|
||||
|
||||
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](https://git.batsense.net/LibrePages/forms) 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](https://docs.librepages.org/forms/add/) 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](https://prometheus.io) and provides distributed tracing via
|
||||
OpenTelemetry-based based utilities like [Jagger](https://www.jaegertracing.io/).
|
||||
|
||||
## 5. Nginx, bind and Let's Encrypt
|
||||
|
||||
LibrePages is modular, it can be integrated into any existing system,
|
||||
like [Gna!](https://gna.org) and [Enough
|
||||
Community](https://enough.community/) to provide static site hosting. We
|
||||
do this using
|
||||
[Conductor](https://git.batsense.net/LibrePages/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](https://git.batsense.net/LibrePages/Infrastructure-as-Code) 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](https://www.easter-eggs.com/)
|
||||
for funding team for funding [my work on
|
||||
LibrePages](https://forum.gna.org/t/5-000-contract-aravinth-manivannan-easter-eggs/58) <3
|
Loading…
Reference in a new issue