Transaction Internals: Recovery

A transaction must be always consistent and durable. This is straightforward when everything is normal, whereas maintaining such properties despite of failures becomes nontrivial. Failures like system crashes can leave a system in an inconsistent state. Today we are treating failures as the norm. It’s critical to possess the capability of fault tolerance. One important remedy is to recover transactions after crashes.

Read More

Blogging with Hugo and GitLab (5): Let's Encrypt Renewal Automation

Manually renewing certificates every three months is not going to be sustainable. Fortunately, there is the experience shared for automating the certificate renewal under GitLab. The basic idea is to apply the same operation of the manual certificate generation described in the previous article, but via the automation strategy with the GitLab pipeline schedule. Here I recompiled the scripts from the original article to not include any domain specific content, which allows them to be directly applied to any repositories (with domain specific variables defined in the pipeline setting).

Read More