
Blocking Access to Deployment Previews and app.pages.dev Domains in Cloudflare Pages
After creating my first Cloudflare Pages application, I wanted to ensure that access to the app.pages.dev URL and all deployment preview URLs was restricted. Unfortunately, these options don't currently exist on the Pages applications themselves so a few workarounds are necessary.
Read Article
Setting a variable to the contents of a file in GitLab CI/CD
I have recently been spending some time overhauling my projects' deployment processes, and wanted to simplify how images are determined without having to set versions in multiple locations. Keep it DRY, right!
Read Article
Configuring a Cloudflare R2 Bucket and Worker for Public Access
I recently published a plugin to integrate Cloudflare R2 with Craft CMS. After having a chance to utilize this on a few more projects after its release, I wanted to put together a guide to streamline this process for future use cases. Hopefully this will help out any others out there looking to setup R2 on their Cloudflare accounts, as most of this won't be specific to Craft CMS.
Read Article
Securing a Site With a Cloudflare Client Certificate and mTLS
When a website required limited access, I needed a way to lock it down to specific physical devices. I couldn't rely on IP addresses which might change regularly, and while a strong password requirement might be sufficient I wanted something a little more secure. Not to mention that it shouldn't be crawled by any search engines either. The solution was a Cloudflare client certificate and mTLS firewall rule.
Read Article
The Gameboy Pi Project, Part 1
Coming across old electronics is always a nice surprise, until you find out that they may no longer work quite right. Such was the case a few weeks ago when I yet again came across my old original Gameboy DMG-01 and plugged in Super Mario Land with some fresh batteries for my youngest to play. Unfortunately, no dice. After a few minutes of trying I was able to get it to turn on once for a short while before it turned itself and refused to come to life again.
Read Article