Common

This role installs common packages and performs standard post-provisioning such as:

  • Creation of user
  • Creation of NFS share directories
  • Installation of Hashicorp software
  • Installation of Bitwarden CLI

Note: Security hardening and installation of Docker are performed separately in the common.yml playbook.

Variables

VariableDescriptionTypeDefault
common_userUser to be createdstringdebian
common_timezoneTimezone to setstringAsia/Singapore
common_keyring_dirKeyring directory path for external apt repositoriesstring/etc/apt/keyrings
common_nfs_dirNFS share directory pathstring/mnt/storage
common_packagesList of common packages to be installedlist(string)See defaults.yml for full list
common_nomad_versionNomad version to installstring1.6.1-1
common_consul_versionConsul version to installstring1.15.4-1
common_vault_versionVault version to installstring1.14.0-1
common_consul_template_versionConsul template version to installstring0.32.0-1
common_reset_nomadClear Nomad data directorybooleantrue
common_dotfilesList of dotfiles to be added, and their destinationslist[]

Tags

  • Skip bw to not install the Bitwarden CLI
  • Skip nfs to not create any NFS share directories
  • Skip dotfiles to not copy any remote dotfiles

Notes

  • This role clears any existing /opt/nomad/data directories to a blank slate. To disable this behaviour, set common_reset_nomad: false.
  • This role only supports Ubuntu/Debian amd64 systems with apt.
  • The Hashicorp apt server only supports amd64 packages. For arm64 systems, download the individual zip files instead.
  • common_dotfiles is used to add dotfiles from a Github repository to the host. For example:
common_dotfiles:
  - url: https://raw.githubusercontent.com/foo/repo/master/.vimrc
    dest: /home/foo/.vimrc