A single-purpose, single-tenant CDN for changelog.com. Runs Varnish Cache (open source) on Fly.io. This repository exists for a single reason: build the simplest CDN on Fly.io. You are welcome to fork it and make it your own. OSS FTW 💚
I like the idea of having like this 20-line Varnish config that we deploy around the world, and it’s like “Look at our CDN, guys.”
It’s so simple, and it can do exactly what we want it to do, and nothing more.
But I understand that that’s a pipe dream, because that Varnish config will be slightly longer than 20 lines, and we’d run into all sorts of issues that we end up sinking all kinds of time into.
🧢 Jerod Santo - March 29, 2024 - Changelog & Friends #38
- Static backend, 1 day stale, stale on error, x-headers -
46
lines of VCL - Initial commit - Dynamic backend, cache-status header -
60
lines of VCL - PR #1 - Add tests -
60
lines of VCL - PR #3 - Add feeds backend: /feed -> http://feeds.changelog.place/feed.xml
- Send logs to Honeycomb.io (same structure as Fastly logs)
- Send logs to S3 (for stats)
- Implement purge across all app instances (Fly.io machines)
- Add edge redirects from Fastly service
If you have any ideas on how to improve this, please open an issue or go straight for a pull request. We make this as easy as possible:
- All commits emphasize good commit messages (more text for humans)
- This repository is kept small & simple (single purpose: build the simplest CDN on Fly.io)
- Slow & thoughtful approach - join our journey via audio with transcripts or written
See you in our Slack 👋 join from https://changelog.com/~ (requires signing up).
- James A Rosen, Staff Engineer
- Matt Johnson, Senior Site Reliability Engineer