Installation and configuration of HashiCorp applications, based on documentation below:
- https://www.consul.io/docs/install
- https://www.vaultproject.io/docs/install
- https://www.nomadproject.io/docs/install
Requirements
- Supported Linux OS
- AMD64 CPU
Role Variables
The role uses variables defined in these 3 places:
defaults/main.yml
(default parameters for role)vars/*.yml
(primarily OS/distributions specific variables)
- Description: Install from official HashiCorp repository
- Default value: true
- Description: Override default configuration-files with role-variables
- Default value: true
- Description: Consul configuration settings, in yaml-format. Will create .json configuration file
- Default value: {}
- Description: Vault configuration settings, in yaml-format. Will create .json configuration file
- Default value: {}
- Description: Nomad configuration settings, in yaml-format. Will create .json configuration file
- Default value: {}
- Description: Package to install. TODO: Make versioning work for multiple version-formats
- Default value: consul
- Description:
- Default value: true
- Description:
- Default value: true
- Description:
- Default value: true
- Description:
- Default value: vault
- Description:
- Default value: true
- Description:
- Default value: true
- Description:
- Default value: true
- Description:
- Default value: nomad
- Description:
- Default value: true
- Description:
- Default value: true
- Description:
- Default value: true
Dependencies
Testing
Molecule & github pipeline is used for testing. Local Initialization:
molecule init scenario -r <EXISTING ROLE>
Example Playbook
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
MIT
Author Information
Rune Rønneseth (rune.ronneseth@kred.no)