Puppet Class: nodejs::repo::nodesource
- Defined in:
- manifests/repo/nodesource.pp
Overview
PRIVATE CLASS: Do not use directly
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'manifests/repo/nodesource.pp', line 2
class nodejs::repo::nodesource {
$enable_src = $nodejs::repo_enable_src
$ensure = $nodejs::repo_ensure
$pin = $nodejs::repo_pin
$priority = $nodejs::repo_priority
$proxy = $nodejs::repo_proxy
$proxy_password = $nodejs::repo_proxy_password
$proxy_username = $nodejs::repo_proxy_username
$release = $nodejs::repo_release
$url_suffix = $nodejs::repo_url_suffix
case $facts['os']['family'] {
'RedHat': {
if $facts['os']['release']['major'] =~ /^[67]$/ {
$dist_version = $facts['os']['release']['major']
$name_string = "Enterprise Linux ${dist_version}"
}
# Fedora
elsif $facts['os']['name'] == 'Fedora' {
$dist_version = $facts['os']['release']['full']
$name_string = "Fedora Core ${facts['os']['release']['full']}"
}
# newer Amazon Linux releases
elsif ($facts['os']['name'] == 'Amazon') {
$dist_version = '7'
$name_string = 'Enterprise Linux 7'
}
else {
fail("Could not determine NodeSource repository URL for operatingsystem: ${::operatingsystem} operatingsystemrelease: ${::operatingsystemrelease}.")
}
$dist_type = $facts['os']['name'] ? {
'Fedora' => 'fc',
default => 'el',
}
# nodesource repo
$descr = "Node.js Packages for ${name_string} - \$basearch"
$baseurl = "https://rpm.nodesource.com/pub_${url_suffix}/${dist_type}/${dist_version}/\$basearch"
# nodesource-source repo
$source_descr = "Node.js for ${name_string} - \$basearch - Source"
$source_baseurl = "https://rpm.nodesource.com/pub_${url_suffix}/${dist_type}/${dist_version}/SRPMS"
class { 'nodejs::repo::nodesource::yum': }
contain 'nodejs::repo::nodesource::yum'
}
'Debian': {
class { 'nodejs::repo::nodesource::apt': }
contain 'nodejs::repo::nodesource::apt'
}
default: {
if ($ensure == 'present') {
fail("Unsupported managed NodeSource repository for osfamily: ${facts['os']['family']}, operatingsystem: ${facts['os']['name']}.")
}
}
}
}
|