Installation instructions

Start using packagecloud in minutes

Join thousands of developers using packagecloud to distribute software securely, consistently, and affordably.

Bash Scripts

deb

deb

curl -s https://packagecloud.io/install/repositories/raintank/raintank/script.deb.sh | sudo bash
      
...
rpm

rpm

curl -s https://packagecloud.io/install/repositories/raintank/raintank/script.rpm.sh | sudo bash
      
...
pip

python

Are you using virtualenv?

curl -s https://packagecloud.io/install/repositories/raintank/raintank/script.python.sh | bash
      
...
gem

gem

Are you using Bundler?

curl -s https://packagecloud.io/install/repositories/raintank/raintank/script.gem.sh | bash
      
...

Manual Installation

If you'd prefer to install your repo on your system manually, follow the instructions below. If you feel something is missing or just want more info, don't hesitate to get in touch.

deb

deb

Ensure the required tools (curl and gpg) are installed before proceeding:

sudo apt-get install curl gnupg

In order to install a deb repo, first you need to install the GPG key that used to sign repository metadata. You do that using a utility called apt-key.

curl -L https://packagecloud.io/raintank/raintank/gpgkey | sudo apt-key add -

Refresh your package cache by running

sudo apt-get update

If you are running Debian, install debian-archive-keyring so that official Debian repositories will be verified (Ubuntu users can skip this)

sudo apt-get install debian-archive-keyring

Install a package called apt-transport-https to make it possible for apt to fetch packages over https.

sudo apt-get install -y apt-transport-https

Create a file named /etc/apt/sources.list.d/raintank_raintank.list that contains the repository configuration below.

Make sure to replace ubuntu and trusty in the config below with your Linux distribution and version:

deb https://packagecloud.io/raintank/raintank/ubuntu/ trusty main
deb-src https://packagecloud.io/raintank/raintank/ubuntu/ trusty main

Valid options for os and dist parameters can be found in our support OS list in the docs.

Run:

sudo apt-get update

to update your local APT cache.

You can now install packages from your repository.

rpm

rpm

Install pygpgme, a package which allows yum to handle gpg signatures, and a package called yum-utils which contains the tools you need for installing source RPMs.

sudo yum install pygpgme yum-utils

You may need to install the EPEL repository for your system to install these packages. If you do not install pygpgme, GPG verification will not work.

Create a file named /etc/yum.repos.d/raintank_raintank.repo that contains the repository configuration below.

Make sure to replace el and 6 in the config below with your Linux distribution and version:

[raintank_raintank]
name=raintank_raintank
baseurl=https://packagecloud.io/raintank/raintank/el/6/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/raintank/raintank/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[raintank_raintank-source]
name=raintank_raintank-source
baseurl=https://packagecloud.io/raintank/raintank/el/6/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/raintank/raintank/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Valid options for os and dist parameters can be found in our supported OS list in the docs.

Update your local yum cache by running

sudo yum -q makecache -y --disablerepo='*' --enablerepo='raintank_raintank'

You can now install packages from your repository.

zypper

zypper

Create a file named /etc/zypp/repos.d/raintank_raintank.repo that contains the repository configuration below.

Make sure to replace el and 6 in the config below with your Linux distribution and version:

[raintank_raintank]
name=raintank_raintank
baseurl=https://packagecloud.io/raintank/raintank/opensuse/13.2/$basearch
enabled=1
repo_gpgcheck=1
pkg_gpgcheck=0
gpgkey=https://packagecloud.io/raintank/raintank/gpgkey
autorefresh=1
type=rpm-md

[raintank_raintank-source]
name=raintank_raintank-source
baseurl=https://packagecloud.io/raintank/raintank/el/6/SRPMS
enabled=1
repo_gpgcheck=1
pkg_gpgcheck=0
gpgkey=https://packagecloud.io/raintank/raintank/gpgkey
autorefresh=1
type=rpm-md

Valid options for os and dist parameters can be found in our supported OS list in the docs.

Update your local zypper cache by running

zypper --gpg-auto-import-keys refresh raintank_raintank

You can now install packages from your repository.

rubygems

rubygems

Add the repository as a source

To install gems from this repository, you'll need to add the repository as a source.

gem source --add https://packagecloud.io/raintank/raintank/

Using Bundler?

Add the repository to your Gemfile

To install gems from this repository, you'll need to add it as a source to your Gemfile.

Bundler 1.7.0 and above

In newer bundler versions, you can scope specific gems to a source, like so:

# Gemfile

# Note: It's recommended you add the official https://rubygems.org source, unless your
#       packagecloud repository can meet all of the dependency requirements in the Gemfile.

source "https://rubygems.org"
source "https://packagecloud.io/raintank/raintank" do
  gem "my-gem"
  gem "another-gem"
end

Legacy versions of Bundler

Older versions of Bundler have several bugs around scoping gems to a single source using blocks, so you'll have to add the source globally at the top of the Gemfile.

# Gemfile

source "https://rubygems.org"
source "https://packagecloud.io/raintank/raintank"
python

python

To install python packages from this repository, you'll need to add the repository as a source to pip.

Add the repository to pip

Add the repository to the [global] section in your ~/.pip/pip.conf

[global]
extra-index-url=https://packagecloud.io/raintank/raintank/pypi/simple

Note: if you would like pip to use only this repository as a source, replace extra-index-url with index-url

VirtualEnv / requirements.txt

Add the repository to your VirtualEnv

Ensure you are running the latest version of pip inside your virtualenv:

my_virtualenv/bin/pip install --upgrade pip

Add this to the bottom of your requirements.txt

--extra-index-url=https://packagecloud.io/raintank/raintank/pypi/simple

Note: if you would like pip to use only this repository as a source, replace extra-index-url with index-url

If you're looking for further clarification on anything, don't hesitate to get in touch!

Chef Cookbook

If you use chef to manage your infrastructure, you're in luck! We maintain a cookbook that makes it really easy to get up and running.

Using Berkshelf to manage your cookbooks? Depend on our cookbook like this:

cookbook "packagecloud"

If you're managing your cookbooks some other way, you can get our cookbook from supermarket.chef.io or github.

Once you have our cookbook installed, all you have to do to install this repo is add the following block to one of your recipes:

packagecloud_repo "raintank/raintank" do
  type "deb" # or "rpm" or "gem"
end

The LWRP in our cookbook will determine what OS/Version you're on and setup the repository correctly for that particular node. It will also contact our installation API to issue a read token, and make sure our gpg key gets installed if necessary.

Puppet Module

If you use puppet to manage your infrastructure, you're in luck! We maintain a module that makes it really easy to get up and running.

You can get our module on Puppet Forge or on GitHub.

To get this repo installed, you just need to add the following to one of your manifests:

include packagecloud

packagecloud::repo { "raintank/raintank":
  type => 'rpm',  # or "deb" or "gem"
}

The module will determine what OS/Version you're on and setup the repository correctly for that particular node. It will also contact our installation API to issue a read token, and make sure our gpg key gets installed if necessary.

Using Bundler and packagecloud

Add the repository to your Gemfile

To install gems from this repository, you'll need to add it as a source to your Gemfile.

Bundler 1.7.0 and above

In newer bundler versions, you can scope specific gems to a source, like so:

# Gemfile

# Note: It's recommended you add the official https://rubygems.org source, unless your
#       packagecloud repository can meet all of the dependency requirements in the Gemfile.

source "https://rubygems.org"
source "https://packagecloud.io/raintank/raintank" do
  gem "my-gem"
  gem "another-gem"
end

Legacy versions of Bundler

Older versions of Bundler have several bugs around scoping gems to a single source using blocks, so you'll have to add the source globally at the top of the Gemfile.

# Gemfile

source "https://rubygems.org"
source "https://packagecloud.io/raintank/raintank"

Using VirtualEnv and packagecloud

Add the repository to your VirtualEnv

Ensure you are running the latest version of pip inside your virtualenv:

my_virtualenv/bin/pip install --upgrade pip

Add this to the bottom of your requirements.txt

--extra-index-url=https://packagecloud.io/raintank/raintank/pypi/simple

Note: if you would like pip to use only this repository as a source, replace extra-index-url with index-url

Using Maven with Packagecloud

Add the repository to Maven

Add this to the dependencyManagement section of your pom.xml

<repositories>
  <repository>
    <id>raintank-raintank</id>
    <url>https://packagecloud.io/raintank/raintank/maven2</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

Using Leiningen with Packagecloud

Add the repository to Leiningen

Add this entry to the top-level of your project.clj file

:repositories [["snapshots" "https://packagecloud.io/raintank/raintank/maven2"]
               ["releases" "https://packagecloud.io/raintank/raintank/maven2"]]

Using SBT with Packagecloud

Add the repository to SBT

For SNAPSHOT support (needs SBT 0.13.8 or above), create or append the following to a project/maven.sbt file in your project:

addMavenResolverPlugin

Then, add this entry anywhere in your build.sbt file:

resolvers += "raintank-raintank" at "https://packagecloud.io/raintank/raintank/maven2"