Skip to content
This repository has been archived by the owner on Jul 13, 2021. It is now read-only.

Ansible files used by the DO team to deploy new servers for production deployment

Notifications You must be signed in to change notification settings

DivinumOfficium/ansible-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Running Divinium Officium

Goal for this page is to document all the different components that are used to run Divinium Officium (DO), to deploy new servers for production deployment of DivinumOfficium. The codebase for this website is DivinumOfficium/divinum-officium.

Overall

The flow for getting code commit updates running onto the actual

  1. Code committed to DivinumOfficium/divinum-officium
  2. Github sends webhook to Docker Hub, which builds and stores the image
  3. Webserver is configured, with ouroboros running in a container, to check every few minutes for a new image from Docker Hub. When it finds a new image, it pulls and runs the new image.

Initial tests showed that the automated commit to deploy pipeline was under 10 minutes.

Components

Divinium Officium

Divinium Officium's technical information defines how the data files are defined, how to run the program and nuances of file contents and exceptions. The download files page defines the different ways the DO files can be used, including running DO in a Docker container.

Ansible

Ansible is used to define, create and manages the servers which run DO.

The Ansible playbook.yml file is the definition file that Ansible runs to set up a new server running Divinium Officium. Some highlights:

  • Using canonical repo for Ubuntu
  • Image configured to use Ubuntu's "unattended-upgrades" package, which will apply the latest stable packages from Ubuntu
  • If a reboot is needed for security patches, Ubuntu will reboot in the middle of the night

Note that Ansible operates on servers over your existing SSH credentials, so Ansible should be installed on your local workstation, and then use it to SSH into the remote instances and configure them. For more information on this, consult the Ansible documentation.

Docker

The application is built by Docker Hub, and the build image is stored there, publicly accessible for anyone to pull. The docker hub account is connected to the github repo, to rebuild in real time on new commits. Additionally, PR branches are tested against the build before merging.

Hosting

Divinium Officium is hosted on Google Cloud Platform (GCP). Please contact canon.missae@gmail.com for any issues or questions.

Monitoring

There is no monitoring yet, but this is a desired thing we would like to add.

About

Ansible files used by the DO team to deploy new servers for production deployment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published