Linode says Tokyo1(previously this blog’s reverse proxy frontend) will be retired.
I don’t like its Tokyo2 DC, so migrated this blog to Netlify.
- Repo build requirements: add Gemfile to repo, set build command
jekyll build, publish dir
- Netlify Dashboard: add domain, upload wildcard certs(cert.pem, chain.pem, privkey.pem from certbot), enable all assets optimization except
- CloudFlare: delete A record of root domain, CNAME it to Netlify-generated domain
- Global Ping: verify previous record was populated
This blog now gets global CDN and loses access log – which I haven’t spare any time to audit yet.
Dirty log solution(suspended)
Came up with a dirty log solution using Google Cloud Stackdriver and Netlify Function(AWS lambda backed):
- add build env: project url as
GO_IMPORT_PATH, 32 byte key as
KEYto decode Google Cloud credentials json in main.go
- extend build command:
go get ./... && sed -i "s/todo-32-byte-key-here/$KEY/g" main.go && mkdir -p logger && go build -o logger/logger ./... && jekyll build
- make client access logger lambda url
Stackdriver provides exuberant quota for free: “First 50 GiB per project/per month”.
AWS Amplify(NOT USED)
CloudFront should be faster than DigitalOcean(I guess).
Transition is quite smooth:
- link github and add project, it generates build and deploy
- verify domain in Amplify console(including change CNAME to a CloudFront domain)
- wait for DNS propagation
But AWS requires full access to all my git repositories..