Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: modules/nodejs/manifests/init.pp

Issue 29483578: #2007 - Introduce nodejs module (Closed)
Left Patch Set: Created July 9, 2017, 1:30 a.m.
Right Patch Set: For comment 8 Created July 12, 2017, 3:37 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | modules/nodejs/manifests/package.pp » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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
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 include stdlib 43 if ensure_state($ensure) {
44 $ensure = 'present'
45 }
46 else {
47 $ensure = 'absent'
48 }
44 49
45 ensure_resource('package', $title, merge({ 50 ensure_resource('package', $title, merge({
46 name => $title, 51 name => $title,
47 require => Apt::Source[$title],
mathias 2017/07/09 07:26:50 Use arrow-notation to establish relationships, esp
48 ensure => $ensure, 52 ensure => $ensure,
49 }, $package)) 53 }, $package))
50 54
51 # Used as default $ensure parameter for most resources below 55 # The only package provider recognized implicitly
52 $ensure = getparam(Package[$title], 'ensure') ? { 56 ensure_resource('apt::key', $title, merge({
53 /^(absent|purged)$/ => 'absent', 57 ensure => $ensure,
54 default => 'present', 58 name => 'nodesource',
55 } 59 }, $key))
56 60
57 if ensure_state($ensure) { 61 ensure_resource('apt::source', $title, merge({
62 ensure => $ensure,
63 include_src => false,
64 name => 'nodesource',
65 }, $source))
58 66
59 # The only package provider recognized implicitly 67 Apt::Source[$title] <- Apt::Key[$title]
60 ensure_resource('apt::key', $title, merge({ 68 Apt::Source[$title] -> Package[$title]
mathias 2017/07/09 07:26:50 How is the user supposed to remove this one if the
61 ensure => $ensure,
62 name => 'nodesource',
63 }, $key))
64 69
65 ensure_resource('apt::source', $title, merge({ 70 ensure_resources('nodejs::package', $packages, {
mathias 2017/07/09 07:26:50 How is the user supposed to remove this one if the
66 ensure => $ensure, 71 ensure => 'present',
67 include_src => false, 72 })
68 name => 'nodesource', 73 }
69 }, $source))
70 74
71 Apt::Source[$title] <- Apt::Key[$title]
72 Apt::Source[$title] -> Package[$title]
73
74 create_resources('nodejs::package', $packages)
75
76 }
77
78 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld