Short History
Since the start of the World Wide Web over the internet almost 4 decades ago, Static web pages were the default, at least for a few years, before the introduction of “an unpleasant sensory and emotional experience associated with, or resembling that associated with, actual or potential tissue damage.” (pronounced as JavaScript)
And for a few years, professionals and hobbyists alike, used to craft these static websites manually using raw HTML and CSS.
Then came the dot-com boom, which gave birth to an explosion of different frameworks, paradigms, methodologies, and template languages.
Nowadays, there are so many Static Site Generator (SSG) frameworks1; almost all of them support remote data sources (AKA Headless CMS), making it quite inclusive for professionals, hobbyists, small, and big businesses to build a blog, photo portfolio, news reporting outlet, or a communication channel with their audience.
In Short, Static pages are simple, versatile, fast, secure, and cheap.
So cheap that over the years, many SaaS, IaaS, and PaaS providers
have offered it for free (or charged just network traffic fees).
But… Most of these providers are trying to lock you into their ecosystem,
which is understandable from financial incentives,
but quite harmful to providers’ diversity.
Let me explain
A few years ago, Oracle acquired Wercker before starting to throttle free-tier
offerings and delivering fewer and fewer updates to the platform, finally,
rendering it completely useless.
Microsoft acquired GitHub, shortly before they started blocking developers
residing in sanctioned countries.
AWS was already gobbling up a massive chunk of the internet infrastructure.
Google APIs and tools have always felt like it has been patched together.
So, I started looking for a new open-source home for my code, preferably with an open-source CI service.
Naturally, I started looking at GitLab. I have already been using GitLab for a while, mainly as a backup for the most important projects, but I wasn’t quite satisfied with its performance or with its CI system.
After some searching, I stumbled upon SourceHut. Long story short, a few months in, I migrated everything to SourceHut, with GitHub used as a backup for a few projects. I have been quite satisfied with the service, even with the recent DDoS attack.
The problem
During the time of the DDoS attack, I was already in the process of moving this
website’s domain registrar to Cloudflare, I needed to test that the website
was working. I couldn’t just add a CNAME
record pointing to the a14m.srht.site
domain and the A
or AAAA
IPs were also down.
I needed to deploy the website manually, and that’s when I found that almost all the static page hosting providers only support integrations with GitHub or GitLab, or you can manually upload the generated website using UI
- Netlify also supports Bitbucket, and probably the manual upload can be
automated via
cURL
but it’s not officially documented. - Cloudflare supports both GitHub/GitLab integration, and either deploying manually or using their CLI (which require OAuth2 and failing most of the time).
- AWS S3 static hosting is either manual or using the AWS CLI.
This is quite alarming. There are no open-source-based solutions,
like using cURL
, or git
remote to deploy without relying on a proprietary
code, or service provider APIs.
The only exception I found, was SourceHut using acurl
(a custom cURL helper)
for deploying the static pages, before changing it to their hut
CLI.
And the same patterns can be seen also with independent CI providers, and although it’s at least much better on the integration side, GitHub, GitLab and Bitbucket are the standard supported services (because they are missing on $$$ otherwise), and although it is a much more complex case with CI, it should be theoretically possible to standardize how deploying static pages would work using webhooks or API requests.
The solution
I don’t know if there is a solution, but I hope to see more projects like SourceHut, open-source projects that challenge the ongoing monopolies, and provide alternatives that could at some point dethrone these giants.
Maybe that’s a solution.
Maybe supporting these projects is also a solution.
Maybe not.
-
This static website is built using Hugo, YAML, and Markdown.
Source code ↩︎