
Discussing the Cloud with Chris GitHub Architecture and GitHub setup
Karl Cooke (Implementation Specialist at Action Point Technology Group, blogger at irishtechie.com) turns the tables on Chris Reddington, interviewing him about the architecture and GitHub workflow behind CloudWithChris.com.
Platform Architecture
The site is a three-layer stack:
- Azure DNS — public DNS zone with an apex domain redirect to
www, plus separate subdomains for preview, staging, and the podcast feed (podcasts.cloudwithchris.com) - Azure CDN — global edge caching with a rules engine for HTTP→HTTPS redirects and security header injection
- Azure Storage — static website hosting for all HTML, CSS, JS, and media assets; chosen for its low cost, simplicity, and natural fit with static content
Security Hardening
A significant portion of the session covers hardening the CDN rules engine to score an A / A+ on securityheaders.com and Mozilla Observatory:
- HSTS (Strict-Transport-Security) to enforce HTTPS
- Content Security Policy (CSP) — an allowlist of trusted sources for scripts, media, and embeds; too long for the CDN’s 128-character header limit, so embedded directly in the Hugo HTML layout instead
- Permissions Policy — explicitly denying camera, microphone, geolocation, and accelerometer access
- X-Frame-Options and X-Content-Type-Options for clickjacking and MIME-sniffing protection
Hugo & GitHub Actions Deployment Workflow
Chris demos the end-to-end content publishing flow using GitHub Codespaces (browser-based dev environment) and Git branching:
- Create a feature branch from
devin Codespaces - Edit the Markdown front matter (e.g. removing the
upcoming: trueflag to publish content) - Push the branch → GitHub Actions triggers a preview build on pull request
- Merge to
dev→ staging build deploys and previews on the staging CDN endpoint - Merge to
master→ production build deploys to the live site
The CDN cache purge timing trade-off (Microsoft CDN: ~10 minutes vs. Verizon/Akamai faster options) is also discussed, with Chris explaining why the rules engine flexibility outweighs the purge speed difference for his workload.
Related Content

V013 - Weekly Technology Vlog #13 (Lots of Azure, DevOps & GitHub) Blogs, Quick-fire Azure Updates
Weekly Vlog #13 covers an action-packed Azure week: enterprise landing zones with modular designs, zonal disaster recovery via Azure Site Recovery, Security Center compliance enhancements, and Mark Russinovich's standout Ignite session on Azure innovation. The GitHub roundup highlights the GitHub Actions capture-the-flag security writeup and a multi-stage exploit chain from the GitHub Security Lab — essential reading for any DevSecOps practitioner. Cloud with Chris updates include the channel's most-viewed video to date on Git internals, a Fuse.js-powered site search, series navigation, and a packed April talk schedule featuring the Northern Azure User Group (alongside Scott Hanselman) and Global Azure Bootcamp.

V012 - Weekly Technology Vlog #12 (Busy week, and quite a few blog posts to cover!)
Three months and 350+ subscribers in, with content shipping every day of the past week: a GitHub Codespaces Cloud Drop, the final GPG commit-signing instalment covering YubiKey hardware key storage, a Welsh Azure User Group lightning talk on GitHub Actions, and a Terraform Cloud deep-dive on Azure state management. Azure news centres on Microsoft's commitment to bring Availability Zones to every region by end of 2021, new forecasted cost alerts for Azure Budgets, and the Start Small & Expand landing zone guidance from Sarah Lean and Thomas Maurer. GitHub updates include Dependabot gaining private registry support, CodeQL scanning for Solarigate traces, and a detailed post-mortem on the recent GitHub.com security incident.
22 - Static Content Hosting Pattern (Save cost and gain performance for static websites!)
Serving static HTML, CSS, images, and JavaScript from a general-purpose web server wastes compute and money. The Static Content Hosting pattern offloads these assets to cloud storage—Azure Blob Storage, AWS S3, or GCP Storage—optionally fronted by a CDN for global performance and storage-tier scalability. This episode walks through the pattern, a real-world implementation with Hugo and Azure CDN, and the trade-offs to consider.