Page MenuHomeSoftware Heritage

datastax_repo.pp
No OneTemporary

datastax_repo.pp

# An optional class that will allow a suitable repository to be configured
# from which packages for DataStax Community can be downloaded. Changing
# the defaults will allow any Debian Apt or Red Hat Yum repository to be
# configured.
# @param descr [string] On the Red Hat family, this is passed as the `descr`
# attribute to a `yumrepo` resource. On the Debian family, it is passed as
# the `comment` attribute to an `apt::source` resource.
# @param key_id [string] On the Debian family, this is passed as the `id`
# attribute to an `apt::key` resource. On the Red Hat family, it is
# ignored.
# @param key_url [string] On the Debian family, this is passed as the
# `source` attribute to an `apt::key` resource. On the Red Hat family,
# it is ignored.
# @param pkg_url [string] If left as the default, this will set the `baseurl`
# to 'http://rpm.datastax.com/community' on a `yumrepo` resource
# on the Red Hat family. On the Debian family, leaving this as the default
# will set the `location` attribute on an `apt::source` to
# 'http://debian.datastax.com/community'.
# @param release [string] On the Debian family, this is passed as the `release`
# attribute to an `apt::source` resource. On the Red Hat family, it is
# ignored.
class cassandra::datastax_repo (
$descr = 'DataStax Repo for Apache Cassandra',
$key_id = '7E41C00F85BFC1706C4FFFB3350200F2B999A372',
$key_url = 'http://debian.datastax.com/debian/repo_key',
$pkg_url = undef,
$release = 'stable',
) {
case $::osfamily {
'RedHat': {
if $pkg_url != undef {
$baseurl = $pkg_url
} else {
$baseurl = 'http://rpm.datastax.com/community'
}
yumrepo { 'datastax':
ensure => present,
descr => $descr,
baseurl => $baseurl,
enabled => 1,
gpgcheck => 0,
}
}
'Debian': {
include apt
include apt::update
apt::key {'datastaxkey':
id => $key_id,
source => $key_url,
before => Apt::Source['datastax'],
}
if $pkg_url != undef {
$location = $pkg_url
} else {
$location = 'http://debian.datastax.com/community'
}
apt::source {'datastax':
location => $location,
comment => $descr,
release => $release,
include => {
'src' => false,
},
notify => Exec['update-cassandra-repos'],
}
# Required to wrap apt_update
exec {'update-cassandra-repos':
refreshonly => true,
command => '/bin/true',
require => Exec['apt_update'],
}
}
default: {
warning("OS family ${::osfamily} not supported")
}
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 21, 6:22 PM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3366026

Event Timeline