Deploy stages#
This stack’s deployment has been designed in successive phases that have to be done in the right order for a platform to become functional. This section describes the different stages that lead to a full deployment.
Preparation#
We believe strongly into a clear separation between automation code and the dataset that dictates its behavior.
That is why every instanciation of an hashistack should be packaged into its own directory with:
inventory
ssh configuration
group and host variables files
We supply a command line for creating the directories and files we rely on in the next deploy phases:
make init_instance
…which calls on the playbook
playbooks/init.yml
Invocating this should give you a directory under inventories/
with everythin in place
ready for the next phases.
Take-away
Every other operations on an hashistack instance should be run from the inside of
the inventories/hs_<NAME>
directory.
Stage 0 - Infrastructure#
This stage is about creating the mandatory infrastructure resources. It is about network, hosts, default accounts, load balancers, and getting them ready for hashistack installation.
At the end of this stage you must have a clean ansible inventory an ssh configuration and the variables files pointing filled with all the necessary.
For our demo case you can rely on:
the command
make stage_0_scaleway
…which calls on the playbook
playbooks/01_infra_scaleway.yml
…which invokes the stage0 role
…to achieve this phase.
Stage 1 - System services#
installation and configuration (NTP, SSH, DNS, …)
Stage 2 - Vault and Consul#
installation and configuration
Stage 3 - Nomad#
installation and configuration
Stage 4 - SRE tooling#
installation and configuration