Incuvers / automation

Incuvers server automation and management

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incuvers Automation

ci

img

Modified: 2021-04

Preface

This repository hosts all the automation and management services for Incuvers servers. This repository hosts the ansible automation for managing the continous deployment and continous integration pipelines for the Incuvers/monitor repository. In the future it will also be expanded to include virtual incubator servers and running R&D cluster computing applications.

TuringPi Configuration

Follow the TuringPi configuration guide here

Deployments Setup

This section contains the instructions for deploying and destroying servers across any number of machines.

Tools

Install ansible using preferred package manager:

brew install ansible
python3 -m pip install ansible
sudo apt update -y
sudo apt install ansible

Environment and Inventory

Create a copy of the example.inventory.yaml files and remove the example. prefix from it. This file describes your host configuration for your deployment.

Before executing a playbook, verify what its variables are set as in in inventory/group_vars/<group>.yaml. For exmaple, the file inventory/group_vars/stage.yaml defines teardown for the staging server.

Once done, fire off the playbook using its path. For example, the iris-stage playbook:

ansible-playbook playbooks/iris-stage.yaml

Ansible Vault

Some of the automation deployments, such as github actions servers require secrets. These secrets are encrypted with AES using ansible vault and are version controlled. Ansible vault will decrypt the neccessary secrets for a given action at playbook runtime provided you have the ansible vault password file. This means that instead of syncing serveral different key files with everyone only the ansible vault password file is required to get access to all the key files. Contact christian@incuvers.com for the vault key file.

Server Specific Configuration

Follow the server specific instructions for automating server deployment and teardown:

Build Server

Quickstart

Recommended Hardware

Staging Client

Quickstart

Recommended Hardware

Deployment Server

Quickstart

Recommended Hardware

About

Incuvers server automation and management


Languages

Language:Shell 96.2%Language:Makefile 3.8%