My blog repo
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
appengine-image-updater
dockerfiles
pelican
terraform
.gitignore
README.md

README.md

maciej.lasyk.info

This repo contains all content files used to generate and deploy my blog.

Requirements

My blog uses Pelican backend as engine. Pelican is a static - file generator.

Blog is deployed on Google Cloud Platform using Terraform.

Installation & Development

Simply install Pelican and generate static files. Use Pelican's development server in order to run a local development version.

I strongly suggest using virtualenv & virtualenvwrapper in order to keep Pelican's libraries isolated from your OS ones.

mkvirtualenv maciej.lasyk.info
pip install -r requirements.txt

Running

Whole deployment model is described in Terraform files. Simply read those and run in order to deploy:

1. `cd terraform`
1. `terraform apply`

AppEngine Image updater

So the ideas is about fully automated process of updating Compute Engine cloud images used on this blog. As blog uses stock centos images all we need to do is replacing instances with new ones as new instances have updates libraries.

GCP Instance managers has ability to rolling replace instances. We just need a trigger. And for that purposes we use AppEngine which provides a cron-like scheduler. The only application feature is to invoke API request to the instance manager endpoint.