Table of Contents
Infrastructure Overview
Introduction
The infrastructure deployed is relatively basic in that it includes manually deployed services, configuration management and monitoring
We have defined most of our infrastructure in software to allow for ease of redeployment either on new remote hosting, or development locally.
The key pieces of infrastructure are
- Deployment
- libvirt / kvm
- kickstart
- docker
- Configuration Management
- puppet
- gitea (git)
- Monitoring
- nagios
Each of these have their own dedicated pages covering our use of the technologies. The projects themselves are well documented so you should be able to find example so of how to do most things.
Probably the biggest working change to what has been done before is to no longer test things in production, instead you
- create a local working copy of the infrastructure
- develop and test your change in a 1:1 replica of production
- push your changes to the live (master) branch of the revision control system
- The server then pulls changes from the revision control systems and/or docker registry
There is still some manual work to do to pull the changes down on the server side which is intended to be automated at a later date.
Deployment
Accurate as of as of 2020-06-28
NB: Xavier and Albert are both considered black boxes; as of 2020-06-27 there has been no commitment to deploy via the configuration management infrastructure instead favouring manual configuration