Skip to content

Commit

Permalink
Pull in some changes from puppet-consul: update download URLs, make a…
Browse files Browse the repository at this point in the history
…rm arch selector more general
  • Loading branch information
Evan Krall committed Apr 10, 2016
1 parent 16abe42 commit efd35ed
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 49 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
spec/fixtures
51 changes: 28 additions & 23 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -40,36 +40,41 @@
# Purge config files no longer generated by Puppet.
#
class vault (
$backend = undef,
$listener = undef,
$manage_user = false,
$user = 'root',
$manage_group = false,
$group = 'root',
$purge_config_dir = true,
$bin_dir = '/usr/local/bin',
$arch = $vault::params::arch,
$version = $vault::params::version,
$install_method = $vault::params::install_method,
$os = $vault::params::os,
$download_url = "https://dl.bintray.com/mitchellh/vault/vault_${version}_${os}_${arch}.zip",
$package_name = $vault::params::package_name,
$package_ensure = $vault::params::package_ensure,
$config_dir = '/etc/vault',
$extra_options = [],
$config_hash = {},
$config_defaults = {},
$service_enable = true,
$service_ensure = 'running',
$manage_service = true,
$init_style = $vault::params::init_style,
$backend = undef,
$listener = undef,
$manage_user = false,
$user = 'root',
$manage_group = false,
$group = 'root',
$purge_config_dir = true,
$bin_dir = '/usr/local/bin',
$arch = $vault::params::arch,
$version = $vault::params::version,
$install_method = $vault::params::install_method,
$os = $vault::params::os,
$download_url = undef,
$download_url_base = $vault::params::download_url_base,
$download_extension = $vault::params::download_extension,
$package_name = $vault::params::package_name,
$package_ensure = $vault::params::package_ensure,
$config_dir = '/etc/vault',
$extra_options = [],
$config_hash = {},
$config_defaults = {},
$service_enable = true,
$service_ensure = 'running',
$manage_service = true,
$init_style = $vault::params::init_style,
) inherits vault::params {

$real_download_url = pick($download_url, "${download_url_base}${version}/${package_name}_${version}_${os}_${arch}.${download_extension}")

# with no arguments, we simply install vault.
anchor {'vault_first': } ->
class { 'vault::install': } ->
anchor {'vault_last': }


# but if $backend is set, assume we want to run the service.
if $backend {
validate_bool($purge_config_dir)
Expand Down
23 changes: 2 additions & 21 deletions manifests/install.pp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# == Class vault::intall
#
# Installs vault based in the parameters from init
# Installs vault based on the parameters from init
#
class vault::install {

Expand All @@ -19,7 +19,7 @@
ensure_packages(['unzip'])
}
staging::file { 'vault.zip':
source => $vault::download_url
source => $vault::real_download_url,
} ->
staging::extract { 'vault.zip':
target => $vault::bin_dir,
Expand All @@ -30,25 +30,6 @@
group => 0, # 0 instead of root because OS X uses "wheel".
mode => '0555',
}

if ($vault::ui_dir and $vault::data_dir) {
file { "${vault::data_dir}/${vault::version}_web_ui":
ensure => 'directory',
owner => 'root',
group => 0, # 0 instead of root because OS X uses "wheel".
mode => '0755',
} ->
staging::deploy { 'vault_web_ui.zip':
source => $vault::ui_download_url,
target => "${vault::data_dir}/${vault::version}_web_ui",
creates => "${vault::data_dir}/${vault::version}_web_ui/dist",
}
file { $vault::ui_dir:
ensure => 'symlink',
target => "${vault::data_dir}/${vault::version}_web_ui/dist",
}
}

} elsif $vault::install_method == 'package' {

package { $vault::package_name:
Expand Down
12 changes: 7 additions & 5 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@
#
class vault::params {

$install_method = 'url'
$package_name = 'vault'
$package_ensure = 'latest'
$version = '0.1.2'
$install_method = 'url'
$package_name = 'vault'
$package_ensure = 'latest'
$version = '0.1.2'
$download_url_base = 'https://releases.hashicorp.com/consul/'
$download_extension = 'zip'

case $::architecture {
'x86_64', 'amd64': { $arch = 'amd64' }
'i386': { $arch = '386' }
'armv7l': { $arch = 'arm' }
/^arm.*/: { $arch = 'arm' }
default: {
fail("Unsupported kernel architecture: ${::architecture}")
}
Expand Down

0 comments on commit efd35ed

Please sign in to comment.