Week 1: Provision and deploy a server

Week 1: Provision and deploy a server

This week you set up the foundation the rest of the module stands on: a real server in the university cloud, created by code rather than by clicking, and a pipeline that puts your site on it when you tag a release. You start with a plain static page on purpose, so that all the attention goes to the tools around it.

A server you can destroy and build again from your repo, and a release that is one git tag.

Issues

Work through the issues in order, in your own repository. Each one builds on the one before.

IssueWhat you do
getting-startedClone the starter repo, run the site locally and meet the CI pipeline that checks it.
provision-serverTerraform creates an OpenStack server and network, and Ansible installs Caddy on it.
deploy-on-tagThe pipeline gets a deploy stage that copies the site to the server when you push a tag.
httpsServe the site over HTTPS with a certificate from LNU's Campus CA.

Write the week report in report/week-1.md after the last issue.

Slide decks

Each deck is a self-study lecture of about 15–20 minutes, except the intro, which takes about five.

  • Week 1 intro: what the week asks of you
  • Cloud basics: virtual machines, networks, floating IPs and security groups in OpenStack
  • Infrastructure as code: Terraform and Ansible, declarative against imperative, idempotence
  • CI/CD: pipelines, stages, variables, and why deploying on a tag is a choice
  • HTTPS: certificates, ACME and TLS termination

Reading material