|
1 | 1 | # == Class: influxdb::install |
2 | 2 | # DO NO CALL DIRECTLY |
3 | 3 | class influxdb::install { |
4 | | - # package source and provider |
5 | | - case $::osfamily { |
6 | | - 'Debian': { |
7 | | - $package_provider = 'dpkg' |
8 | | - $package_source = $::architecture ? { |
9 | | - /64/ => "http://s3.amazonaws.com/influxdb/influxdb_${influxdb::version}_amd64.deb", |
10 | | - default => "http://s3.amazonaws.com/influxdb/influxdb_${influxdb::version}_i386.deb", |
| 4 | + package { 'influxdb': |
| 5 | + ensure => $influxdb::ensure, |
| 6 | + } |
| 7 | + if !$influxdb::install_from_repository { |
| 8 | + # package source and provider |
| 9 | + case $::osfamily { |
| 10 | + 'Debian': { |
| 11 | + $package_provider = 'dpkg' |
| 12 | + $package_source = $::architecture ? { |
| 13 | + /64/ => "http://s3.amazonaws.com/influxdb/influxdb_${influxdb::version}_amd64.deb", |
| 14 | + default => "http://s3.amazonaws.com/influxdb/influxdb_${influxdb::version}_i386.deb", |
| 15 | + } |
11 | 16 | } |
12 | | - } |
13 | | - 'RedHat', 'Amazon': { |
14 | | - $package_provider = 'rpm' |
15 | | - $package_source = $::architecture ? { |
16 | | - /64/ => "http://s3.amazonaws.com/influxdb/influxdb-${influxdb::version}-1.x86_64.rpm", |
17 | | - default => "http://s3.amazonaws.com/influxdb/influxdb-${influxdb::version}-1.i686.rpm", |
| 17 | + 'RedHat', 'Amazon': { |
| 18 | + $package_provider = 'rpm' |
| 19 | + $package_source = $::architecture ? { |
| 20 | + /64/ => "http://s3.amazonaws.com/influxdb/influxdb-${influxdb::version}-1.x86_64.rpm", |
| 21 | + default => "http://s3.amazonaws.com/influxdb/influxdb-${influxdb::version}-1.i686.rpm", |
| 22 | + } |
| 23 | + } |
| 24 | + default: { |
| 25 | + fail('Only supports Debian or RedHat $::osfamily') |
18 | 26 | } |
19 | 27 | } |
20 | | - default: { |
21 | | - fail('Only supports Debian or RedHat $::osfamily') |
| 28 | + |
| 29 | + # get the package |
| 30 | + staging::file { 'influxdb-package': |
| 31 | + source => $package_source, |
| 32 | + } |
| 33 | + |
| 34 | + # install the package |
| 35 | + Package['influxdb']{ |
| 36 | + provider => $package_provider, |
| 37 | + source => '/opt/staging/influxdb/influxdb-package', |
| 38 | + require => Staging::File['influxdb-package'], |
22 | 39 | } |
23 | | - } |
24 | | - |
25 | | - # get the package |
26 | | - staging::file { 'influxdb-package': |
27 | | - source => $package_source, |
28 | | - } |
29 | | - |
30 | | - # install the package |
31 | | - package { 'influxdb': |
32 | | - ensure => $influxdb::ensure, |
33 | | - provider => $package_provider, |
34 | | - source => '/opt/staging/influxdb/influxdb-package', |
35 | | - require => Staging::File['influxdb-package'], |
36 | 40 | } |
37 | 41 | } |
0 commit comments