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 2 Created July 10, 2017, 8:15 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
44 $ensure = ensure_state($ensure) ? {
mathias 2017/07/10 22:33:40 Please use actual if/else blocks. That way future
45 false => 'absent',
46 true => 'present',
47 }
48
49 ensure_resource('package', $title, merge({
50 name => $title,
51 ensure => $ensure,
52 }, $package))
53
54 # The only package provider recognized implicitly
55 ensure_resource('apt::key', $title, merge({
56 ensure => $ensure,
57 name => 'nodesource',
58 }, $key))
59
60 ensure_resource('apt::source', $title, merge({
61 ensure => $ensure,
62 include_src => false,
63 name => 'nodesource',
64 }, $source))
65
66 Apt::Source[$title] <- Apt::Key[$title]
67 Apt::Source[$title] -> Package[$title]
68
69 create_resources('nodejs::package', $packages)
70 }
71
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