LEFT | RIGHT |
1 # == Class: nodejs | 1 # == Class: nodejs |
2 # | 2 # |
3 # Install nodejs package from source | 3 # Install nodejs package from NodeSource |
4 # | 4 # |
5 # == Parameters: | 5 # == Parameters: |
6 # | 6 # |
7 # [*package*] | 7 # [*package*] |
8 # Overwrite the default package options, to fine-tune the target version (i.e. | 8 # Overwrite the default package options, to fine-tune the target version (i.e. |
9 # ensure => 'latest') or remove nodejs (ensure => 'absent' or 'purged') | 9 # ensure => 'latest') or remove nodejs (ensure => 'absent' or 'purged') |
10 # | 10 # |
11 # [*key*] | 11 # [*key*] |
12 # Overwrite the default apt::key used (given Class['apt'] is defined). | 12 # Overwrite the default apt::key used (given Class['apt'] is defined). |
13 # | 13 # |
(...skipping 19 matching lines...) Expand all Loading... |
33 }, | 33 }, |
34 $package = {}, | 34 $package = {}, |
35 $source = { | 35 $source = { |
36 location => 'https://deb.nodesource.com/node_4.x', | 36 location => 'https://deb.nodesource.com/node_4.x', |
37 release => downcase($lsbdistcodename), | 37 release => downcase($lsbdistcodename), |
38 repos => 'main', | 38 repos => 'main', |
39 }, | 39 }, |
40 $packages = {}, | 40 $packages = {}, |
41 ) { | 41 ) { |
42 | 42 |
43 # Used as default $ensure parameter for most resources below | |
44 if ensure_state($ensure) { | 43 if ensure_state($ensure) { |
45 $ensure = 'present' | 44 $ensure = 'present' |
46 } | 45 } |
47 else { | 46 else { |
48 $ensure = 'absent' | 47 $ensure = 'absent' |
49 } | 48 } |
50 | 49 |
51 ensure_resource('package', $title, merge({ | 50 ensure_resource('package', $title, merge({ |
52 name => $title, | 51 name => $title, |
53 ensure => $ensure, | 52 ensure => $ensure, |
54 }, $package)) | 53 }, $package)) |
55 | 54 |
56 # The only package provider recognized implicitly | 55 # The only package provider recognized implicitly |
57 ensure_resource('apt::key', $title, merge({ | 56 ensure_resource('apt::key', $title, merge({ |
58 ensure => $ensure, | 57 ensure => $ensure, |
59 name => 'nodesource', | 58 name => 'nodesource', |
60 }, $key)) | 59 }, $key)) |
61 | 60 |
62 ensure_resource('apt::source', $title, merge({ | 61 ensure_resource('apt::source', $title, merge({ |
63 ensure => $ensure, | 62 ensure => $ensure, |
64 include_src => false, | 63 include_src => false, |
65 name => 'nodesource', | 64 name => 'nodesource', |
66 }, $source)) | 65 }, $source)) |
67 | 66 |
68 Apt::Source[$title] <- Apt::Key[$title] | 67 Apt::Source[$title] <- Apt::Key[$title] |
69 Apt::Source[$title] -> Package[$title] | 68 Apt::Source[$title] -> Package[$title] |
70 | 69 |
71 create_resources('nodejs::package', $packages) | 70 ensure_resources('nodejs::package', $packages, { |
| 71 ensure => 'present', |
| 72 }) |
72 } | 73 } |
73 | 74 |
LEFT | RIGHT |