summaryrefslogtreecommitdiffstats
path: root/content/blog/static-pages.md
blob: 47febd401254fea6dfe047388f1d62217558b9bf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
title: Static page(s)
date: 2024-03-04
draft: false
---

# Short History

Since the start of the World Wide Web over the internet almost 4 decades ago,
[Static web pages][1] 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][2])

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][8], which gave birth to an explosion of different
frameworks, paradigms, methodologies, and template languages.

Nowadays, there are so many [Static Site Generator (SSG)][6] frameworks;
almost all of them support remote data sources (AKA [Headless CMS][9]), 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][3], [IaaS][4], and [PaaS][5] providers
have offered it for free (or [charged just network traffic fees][15]).<br/>
**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.<br/>
Microsoft acquired GitHub, [shortly before they started blocking developers
residing in sanctioned countries][10].<br/>
AWS was already gobbling up a massive chunk of the internet infrastructure.<br/>
And I don't like Google, plus their APIs and tools have always been quite bad.

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][11]. 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][12].

## The problem

Because during this time 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][13] 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 [(wrangler) CLI][14]
- 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.

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 it is working using
webhooks.

## The solution

I don't know if there is a solution, but I hope to see more projects like
[SourceHut][11], open-source projects that challenge the ongoing monopolies,
and provide alternatives that could at some point dethrone these giants.

Maybe that's a solution.<br/>
Maybe supporting these projects is also a solution.<br/>
Maybe not.

<br/>

*PS: This site is built using [Hugo][7], YAML, and Markdown<br/>*
*Source: https://git.sr.ht/~a14m/a14m.srht.site*

[1]: https://en.wikipedia.org/wiki/Static_web_page
[2]: https://en.wikipedia.org/wiki/Pain
[3]: https://en.wikipedia.org/wiki/Software_as_a_service
[4]: https://en.wikipedia.org/wiki/Infrastructure_as_a_service
[5]: https://en.wikipedia.org/wiki/Platform_as_a_service
[6]: https://en.wikipedia.org/wiki/Static_site_generator
[7]: https://gohugo.io/
[8]: https://en.wikipedia.org/wiki/Dot-com_bubble
[9]: https://en.wikipedia.org/wiki/Headless_content_management_system
[10]: https://medium.com/@hamed/github-blocked-my-account-and-they-think-im-developing-nuclear-weapons-e7e1fe62cb74
[11]: https://sr.ht/
[12]: https://sourcehut.org/blog/2024-01-19-outage-post-mortem/
[13]: https://srht.site/custom-domains
[14]: https://developers.cloudflare.com/workers/wrangler/
[15]: https://www.reddit.com/r/webdev/comments/1b14bty/netlify_just_sent_me_a_104k_bill_for_a_simple/