erlang
: Manages the Erlang repository and package installation.erlang::repo
: Class that manages the erlang repoerlang::repo::apt
: erlang apt repoerlang::repo::apt::erlang_solutions
: erlang erlang_solutions apt repoerlang::repo::yum
: erlang yum repoerlang::repo::yum::epel
: Erlang packagecloud yum repoerlang::repo::yum::erlang_solutions
: Erlang packagecloud yum repoerlang::repo::yum::packagecloud
: Erlang packagecloud yum repo
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
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:
- https://www.rabbitmq.com/install-debian.html#erlang-repositories
- https://www.rabbitmq.com/install-rpm.html#install-erlang
See the documentation for the repo_source
parameter for more information.
include erlang
class { 'erlang':
repo_source => 'erlang_solutions',
}
class { 'erlang':
repo_source => 'epel',
}
class { 'erlang':
package_ensure => 'absent',
repo_ensure => 'absent',
}
The following parameters are available in the erlang
class:
Data type: String
Name of the erlang package to install
Default value: 'erlang'
Data type: String
Determines the ensure state of the package. Set to installed by default, but could be changed to latest.
Default value: 'installed'
Data type: Optional[Variant[Numeric, String]]
Whether to pin the package to a particular source.
Default value: undef
Data type: Boolean
Whether or not this class should manage the erlang repository.
Default value: true
Data type: String
Determines the ensure state of the repo.
Default value: 'present'
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'
Class that manages the erlang repo
erlang apt repo
The following parameters are available in the erlang::repo::apt
class:
Data type: String
Default value: $erlang::repo_ensure
Data type: Erlang::RepoSource
Default value: $erlang::repo_source
erlang erlang_solutions apt repo
The following parameters are available in the erlang::repo::apt::erlang_solutions
class:
Data type: String
Default value: $erlang::repo::apt::ensure
Data type: String
Default value: 'https://packages.erlang-solutions.com/debian'
Data type: String
Default value: downcase($facts['os']['distro']['codename'])
Data type: String
Default value: 'contrib'
Data type: String
Default value: '434975BD900CCBE4F7EE1B1ED208507CA14F4FCA'
Data type: String
Default value: 'https://packages.erlang-solutions.com/debian/erlang_solutions.asc'
Data type: Optional[Variant[Numeric, String]]
Default value: $erlang::package_apt_pin
erlang yum repo
The following parameters are available in the erlang::repo::yum
class:
Data type: String
Default value: $erlang::repo_ensure
Data type: Erlang::RepoSource
Default value: $erlang::repo_source
Erlang packagecloud yum repo
Erlang packagecloud yum repo
The following parameters are available in the erlang::repo::yum::erlang_solutions
class:
Data type: String
Default value: $erlang::repo::yum::ensure
Data type: String
Default value: "https://packages.erlang-solutions.com/rpm/centos/\$releasever/\$basearch"
Data type: String
Default value: 'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc'
Erlang packagecloud yum repo
The following parameters are available in the erlang::repo::yum::packagecloud
class:
Data type: String
Default value: $erlang::repo::yum::ensure
Data type: String
Default value: "https://packagecloud.io/rabbitmq/erlang/el/${$facts['os']['release']['major']}/\$basearch"
Data type: String
Default value: 'https://packagecloud.io/rabbitmq/erlang/gpgkey'
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']