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 4 Created July 11, 2017, 6:14 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
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 # Used as default $ensure parameter for most resources below
mathias 2017/07/11 18:24:42 That comment doesn't really fit here any more.
44 if ensure_state($ensure) {
45 $ensure = 'present'
46 }
47 else {
48 $ensure = 'absent'
49 }
50
51 ensure_resource('package', $title, merge({
52 name => $title,
53 ensure => $ensure,
54 }, $package))
55
56 # The only package provider recognized implicitly
57 ensure_resource('apt::key', $title, merge({
58 ensure => $ensure,
59 name => 'nodesource',
60 }, $key))
61
62 ensure_resource('apt::source', $title, merge({
63 ensure => $ensure,
64 include_src => false,
65 name => 'nodesource',
66 }, $source))
67
68 Apt::Source[$title] <- Apt::Key[$title]
69 Apt::Source[$title] -> Package[$title]
70
71 create_resources('nodejs::package', $packages)
72 }
73
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