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
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'igorolivei-hashicorp_install', '1.0.2'
Learn more about managing modules with a PuppetfileDocumentation
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)
- Contributor: Cliffano Subagio (@cliffano)
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.
Changelog
All notable changes to this project will be documented in this file.
Release 1.0.2
Features
Bugfixes
Fix bug on x86_64 OS architecture.
Known Issues
Release 1.0.1
Features
Bugfixes
Fix bug on i386 OS architecture.
Known Issues
Release 1.0.0
Features
First module version. Currently it only installs the Hashicorp tools.
Bugfixes
Known Issues
Dependencies
- puppet/archive (>= 4.6.0 < 5.0.0)