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

Side by Side Diff: modules/nodejs/manifests/init.pp

Issue 29483578: #2007 - Introduce nodejs module (Closed)
Patch Set: For comment 6, ensure_resources prefered in order to avoid using the present parameter for a simple… Created July 11, 2017, 10:04 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | modules/nodejs/manifests/package.pp » ('j') | modules/nodejs/manifests/package.pp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # == Class: nodejs
2 #
3 # Install nodejs package from source
mathias 2017/07/11 22:28:03 This is not "from source", but "from NodeSource" o
4 #
5 # == Parameters:
6 #
7 # [*package*]
8 # Overwrite the default package options, to fine-tune the target version (i.e.
9 # ensure => 'latest') or remove nodejs (ensure => 'absent' or 'purged')
10 #
11 # [*key*]
12 # Overwrite the default apt::key used (given Class['apt'] is defined).
13 #
14 # [*source*]
15 # Overwrite the default apt::source used (given Class['apt'] is defined).
16 #
17 # [*packages*]
18 # Adds adittional packages with npm.
19 #
20 # === Examples:
21 #
22 # class {'nodejs':
23 # package => {
24 # ensure => 'latest',
25 # },
26 # }
27 #
28 #
29 class nodejs (
30 $key = {
31 key => '68576280',
32 key_content => template("nodejs/nodesource.gpg.key.erb"),
33 },
34 $package = {},
35 $source = {
36 location => 'https://deb.nodesource.com/node_4.x',
37 release => downcase($lsbdistcodename),
38 repos => 'main',
39 },
40 $packages = {},
41 ) {
42
43 if ensure_state($ensure) {
44 $ensure = 'present'
45 }
46 else {
47 $ensure = 'absent'
48 }
49
50 ensure_resource('package', $title, merge({
51 name => $title,
52 ensure => $ensure,
53 }, $package))
54
55 # The only package provider recognized implicitly
56 ensure_resource('apt::key', $title, merge({
57 ensure => $ensure,
58 name => 'nodesource',
59 }, $key))
60
61 ensure_resource('apt::source', $title, merge({
62 ensure => $ensure,
63 include_src => false,
64 name => 'nodesource',
65 }, $source))
66
67 Apt::Source[$title] <- Apt::Key[$title]
68 Apt::Source[$title] -> Package[$title]
69
70 ensure_resources('nodejs::package', $packages, {
71 ensure => 'present',
72 })
73 }
74
OLDNEW
« no previous file with comments | « no previous file | modules/nodejs/manifests/package.pp » ('j') | modules/nodejs/manifests/package.pp » ('J')

Powered by Google App Engine
This is Rietveld