Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- CentOS,OracleLinux,RedHat,Scientific,Debian,Ubuntu
Start using this module
Documentation
hashicorp_install
Welcome to the hashicorp_install. This module can install the Hashicorp tools binaries.
Table of Contents
- Description
- Setup - The basics of getting started with hashicorp_install
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
This module can install the tools developed by Hashicorp, hosted on https://releases.hashicorp.com.
The tools you can install using it are consul
, nomad
, packer
, terraform
, vagrant
and vault
.
Read more to learn how to use it.
Setup
What hashicorp_install affects
- This module will install the unzip package.
- It will also create a dummy file having the name on the pattern
/usr/bin/<package_name>_<version>_installed
to keep it idempotent.
Beginning with hashicorp_install
The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.
Usage
-
Quick run (not recommended):
puppet apply -e "include hashicorp_install"
-
Installing the packages you want (see more on Reference):
class { 'hashicorp_install':
packages => {
'consul' => '1.8.2',
'terraform' => '0.13.0',
# ...
}
}
Limitations
- This module does not validate which packages are available for an specific OS architecture.
- This module does not uninstall any installed binary.
- This module does not configure anything, it only installs the binaries.
Development
Contributing
- Create a topic branch from where you want to base your work. This is usually the master branch.
- Push your changes to a topic branch in your fork of the repository.
- Add yourself as a contributor in the Contributors sections of this file.
- Update the module version on
metadata.json
. - Make sure your commits messages are well-written and describe clearly what has been changed.
- Make sure you have tested your changes and nothing breaks.
- Validate your module using
pdk validate
. - Submit a pull request to this repository.
Release Notes/Contributors/Etc.
- Author: Igor Oliveira (igor.bezerra96@gmail.com)
Reference
Public classes
hashicorp_install
Interface class to manage the binaries installation.
Parameters
packages
Binaries to be installed. This parameter expects a Hash on the following format:
{
'consul' => '1.8.2',
'terraform' => '0.13.1',
# ...
}
Or using Hiera to override the default value:
hashicorp_install::packages:
consul: 1.8.3
terraform: 0.13.1
- The allowed strings for the hash keys (which are the packages names) are: 'consul', 'nomad', 'packer', 'terraform', 'vagrant' and 'vault'.
- The hash values (which are the binaries versions) must be a string. Please, be careful and make sure that the version exists (you can find it on Hashicorp releases page).
Default: All the packages on the latest version at the time this module is being published.
Note: It is highly recommended that you override the default value in order to prevent undesired installations.
Private classes
hashicorp_install::install
Class responsible to install the packages.
Dependencies
- puppet/archive (>= 4.6.0 < 5.0.0)