Skip to content

Latest commit

 

History

History
362 lines (194 loc) · 9.06 KB

REFERENCE.md

File metadata and controls

362 lines (194 loc) · 9.06 KB

Reference

Table of Contents

Classes

Data types

  • Erlang::RepoSource: Options for what Erlang package repository to be configured on the system. This type defines the union of all possible options for both Apt a

Classes

erlang

This class supports installing an Erlang repo on Debian/Ubuntu and CentOS/RHEL systems. For Debian/Ubuntu an Apt package repository is configured. For CentOS/RHEL a Yum package repository is configured.

There are several different package repositories sources available for installing Erlang, each with their own pros/cons. Instead of being opinionated, we allow the user the option to choose which repository source they would like to enable via the repo_source parameter. This list was obtained from the official RabbitMQ documentation:

See the documentation for the repo_source parameter for more information.

Examples

Basic usage for installing Erlang quick and easy
include erlang
Configuring a different repo source, Erlang Solutions
class { 'erlang':
  repo_source => 'erlang_solutions',
}
Configuring a different repo source, EPEL on CentOS/RHEL
class { 'erlang':
  repo_source => 'epel',
}
Removing the erlang package and its repository
class { 'erlang':
  package_ensure => 'absent',
  repo_ensure    => 'absent',
}

Parameters

The following parameters are available in the erlang class:

package_name

Data type: String

Name of the erlang package to install

Default value: 'erlang'

package_ensure

Data type: String

Determines the ensure state of the package. Set to installed by default, but could be changed to latest.

Default value: 'installed'

package_apt_pin

Data type: Optional[Variant[Numeric, String]]

Whether to pin the package to a particular source.

Default value: undef

manage_repo

Data type: Boolean

Whether or not this class should manage the erlang repository.

Default value: true

repo_ensure

Data type: String

Determines the ensure state of the repo.

Default value: 'present'

repo_source

Data type: Erlang::RepoSource

Determines what repository source should be configured for installing Erlang. For Debian/Ubuntu the choices for repo_source are:

  • 'erlang_solutions'

For CentOS/RHEL the choices for repo_source are:

  • 'epel'
  • 'erlang_solutions'
  • 'packagecloud' (default)

Default value: 'packagecloud'

erlang::repo

Class that manages the erlang repo

erlang::repo::apt

erlang apt repo

Parameters

The following parameters are available in the erlang::repo::apt class:

ensure

Data type: String

Default value: $erlang::repo_ensure

source

Data type: Erlang::RepoSource

Default value: $erlang::repo_source

erlang::repo::apt::erlang_solutions

erlang erlang_solutions apt repo

Parameters

The following parameters are available in the erlang::repo::apt::erlang_solutions class:

ensure

Data type: String

Default value: $erlang::repo::apt::ensure

location

Data type: String

Default value: 'https://packages.erlang-solutions.com/debian'

release

Data type: String

Default value: downcase($facts['os']['distro']['codename'])

repos

Data type: String

Default value: 'contrib'

key

Data type: String

Default value: '434975BD900CCBE4F7EE1B1ED208507CA14F4FCA'

key_source

Data type: String

Default value: 'https://packages.erlang-solutions.com/debian/erlang_solutions.asc'

pin

Data type: Optional[Variant[Numeric, String]]

Default value: $erlang::package_apt_pin

erlang::repo::yum

erlang yum repo

Parameters

The following parameters are available in the erlang::repo::yum class:

ensure

Data type: String

Default value: $erlang::repo_ensure

source

Data type: Erlang::RepoSource

Default value: $erlang::repo_source

erlang::repo::yum::epel

Erlang packagecloud yum repo

erlang::repo::yum::erlang_solutions

Erlang packagecloud yum repo

Parameters

The following parameters are available in the erlang::repo::yum::erlang_solutions class:

ensure

Data type: String

Default value: $erlang::repo::yum::ensure

baseurl

Data type: String

Default value: "https://packages.erlang-solutions.com/rpm/centos/\$releasever/\$basearch"

gpgkey

Data type: String

Default value: 'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc'

erlang::repo::yum::packagecloud

Erlang packagecloud yum repo

Parameters

The following parameters are available in the erlang::repo::yum::packagecloud class:

ensure

Data type: String

Default value: $erlang::repo::yum::ensure

baseurl

Data type: String

Default value: "https://packagecloud.io/rabbitmq/erlang/el/${$facts['os']['release']['major']}/\$basearch"

gpgkey

Data type: String

Default value: 'https://packagecloud.io/rabbitmq/erlang/gpgkey'

Data types

Erlang::RepoSource

Options for what Erlang package repository to be configured on the system. This type defines the union of all possible options for both Apt and Yum repos. However, each OS family has a different subset of requirements: For Debian/Ubuntu the choices for repo_source are:

  • 'bintray' (default)
  • 'erlang_solutions'

For CentOS/RHEL the choices for repo_source are:

  • 'bintray'
  • 'epel'
  • 'erlang_solutions'
  • 'packagecloud' (default)

Alias of Enum['epel', 'erlang_solutions', 'packagecloud']