🏷Tags: meta, ci-cd

This site has no server, no database and no admin panel. It's a folder of Markdown in a Git repo, and a git push publishes it in about 30 seconds.

How marso.ar is built and deployed A git push to the GitHub repo triggers two GitHub Actions workflows. site.yml builds static HTML with Nicolino and deploys it to GitHub Pages. dns.yml applies DNS records to Cloudflare with DNSControl. Cloudflare points marso.ar to GitHub Pages. A daily schedule also rebuilds the site. BUILD & DEPLOY DNS AS CODE git pushMarkdown + config GitHub repo3ll34ndr0/yosingle source of truth daily rebuild ⏱ site.ymlnicolino build → static HTMLonly when site files change dns.ymlDNSControl preview → pushreviewed + approved GitHub PagesCDN + free HTTPShttps://marso.ar CloudflareDNS zone marso.arrecords live in Git deploy API A / AAAA

The pieces

Why do it this way

The whole setup is in the 3ll34ndr0/yo repository, including the README with every decision and why it was made.