Need your own package repository for
Alpine, Cargo, Composer, Debian, Docker, Helm, Maven, npm, Python, RedHat, Ruby, Vagrant, Raw & More?
Cloudsmith provides better DevOps with simple and secure delivery of your software, from dev to production.

Start My Free 14-Day Trial
 Public cloudsmith cloudsmith (Cloudsmith) / examples
An example repository filled with awesome examples from the examples GitHub project.

You can always download packages from Cloudsmith manually, but native package manager setup allows you to simplify and automate downloads. A native package manager has intelligence built-in that allows it to understand concepts like metadata, versioning, duplication, convergence, etc. As such, we will always recommend that you install natively where possible. Learn more in the setup documentation.

Format-Specific Setup

To find out how to get setup locally so you can easily install packages, please select one of the formats from the tabs above.

Please note that the term repository here is Cloudsmith's concept of a package or artefact collection, and should not be confused with other package format specific meanings (such as the term as it is used by Docker, to mean a tagged image).

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Alpine logo

Alpine Repository Setup

Alpine is the package manager of choice for Alpine Linux distributions.

The following instructions are for Alpine or compatible packages only.

Distribution Setup

To install packages, you can quickly setup the repository automatically (recommended):

sudo apk add --no-cache bash
curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.alpine.sh' \
  | sudo bash

If you need to force a specific distribution/release, you can also do that (e.g. if your system is compatible but not identical):

sudo apk add --no-cache bash
curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.alpine.sh' \
  | sudo distro=some-distro codename=some-codename bash

or ... you can manually configure it yourself before installing packages:

curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/rsa/rsa.0FDF8026A3EC5743.key' > /etc/apk/keys/examples@cloudsmith-0FDF8026A3EC5743.rsa.pub
curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/config.alpine.txt?codename=v3.8&distro=alpine' >> /etc/apk/repositories
apk update

Note: Please replace v3.8 above with your actual distribution version.

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

$EDITOR /etc/apk/repositories

Remove /alpine/v3.8/main line, save then execute:

rm -f /etc/apk/keys/examples@cloudsmith-0FDF8026A3EC5743.rsa.pub
apk update

Note: Please replace v3.8 above with your actual distribution version.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Cargo logo

(BETA) Cargo Registry Setup

A fully-fledged Cargo registry, the package manager for Rust!

The following instructions are for Cargo or compatible packages only.

Beta: This package format is in beta, and as such functionality may not be complete. Any problems should be immediately reported to us.

Registry Setup

Assuming you have Rust and Cargo already installed (if not, see the official docs), it is straight-forward to add a Cloudsmith-based Cargo registry.

First, the name and URL for the registry must be added to your .cargo/config file as follows:

[registries]
cloudsmith-examples = { index = "https://dl.cloudsmith.io/public/cloudsmith/examples/cargo/index.git" }

The index key is a URL to a git repository with the registry's metadata index.

Registry Authentication

Installing a Crate

Once configured as above, a crate can then depend on a crate from your registry by specifying the registry key and a value of the registry's name in that dependency's entry in Cargo.toml:

[package]
name = "my-project"
version = "0.1.0"
[dependencies]
other-crate = { version = "1.0", registry = "cloudsmith-examples" }

You can also install a crate directly by specifying the registry on the command line:

cargo install my-project --registry cloudsmith-examples

Removing a Registry

To remove a Cargo registry from your system, you need to remove it from your .cargo/config file.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Composer logo

Composer Repository Setup

Composer is the package manager of choice for the PHP language.

The following instructions are for Composer or compatible packages only.

Composer Setup

To enable the retrieval of Cloudsmith hosted packages via Composer, the first step is to add your repository to the repositories section of your composer.json file.

Add the following JSON to your project composer.json file:

"repositories": [
  {
    "type": "composer",
    "url": "https://dl.cloudsmith.io/public/cloudsmith/examples/composer",
    "options": {
    }
  }
]

After the repository is added to the composer.json file, all that is left is to specify the dependency in the require section of the project composer.json file.

To do this add the following JSON to your project composer.json file:

{
  "require": {
    "package/name": "version"
  }
}

Note: You'll need to replace package/name and version with your own uploaded package details.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Debian logo

Debian Repository Setup

Apt/Dpkg is the package manager of choice for Debian-like systems (such as Ubuntu, Linux Mint, Raspbian, etc.)

The following instructions are for Debian or compatible packages only.

Distribution Setup

To install packages, you can quickly setup the repository automatically (recommended):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.deb.sh' \
  | sudo bash

If you need to force a specific distribution/release, you can also do that (e.g. if your system is compatible but not identical):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.deb.sh' \
  | sudo distro=some-distro codename=some-codename bash

or ... you can manually configure it yourself before installing packages:

apt-get install -y debian-keyring  # debian only
apt-get install -y debian-archive-keyring  # debian only
apt-get install -y apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/gpg/gpg.0365B910DDF4E7A4.key' | apt-key add -
curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/config.deb.txt?codename=xenial&distro=ubuntu' > /etc/apt/sources.list.d/cloudsmith-examples.list
apt-get update

Note: Please replace ubuntu and xenial above with your actual operating system, distribution and distribution version.

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

rm /etc/apt/sources.list.d/cloudsmith-examples.list
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get update

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Docker logo

(BETA) Docker Registry Setup

The following instructions are for Docker or compatible packages only.

Beta: This package format is in beta, and as such functionality may not be complete. Any problems should be immediately reported to us.

Overview

For an overview an additional documentation on the Cloudsmith Docker registry, please refer to our help documentation.

Authentication

As this is a public registry, you don't need to authenticate to pull images.

Pulling Images

Pulling (downloading) an image from the Cloudsmith Docker registry can be done using the standard docker pull command:

docker pull docker.cloudsmith.io/cloudsmith/examples/your-image:latest

Note: You can replace your-image and latest in the above with your own image name and tag.

Dockerfile Usage

To refer to images after pulling in a Dockerfile, specify the following:

FROM docker.cloudsmith.io/cloudsmith/examples/your-image:latest

Note: As above, you can replace your-image and latest in the above with your own image name and tag.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Helm logo

(BETA) Helm Repository Setup

Helm is the package manager of choice for managing application definitions within the Kubernetes (k8s) ecosystem.

The following instructions are for Helm or compatible packages only.

Beta: This package format is in beta, and as such functionality may not be complete. Any problems should be immediately reported to us.

Repository Setup

Assuming you have helm already installed, it is straight-forward to add a Cloudsmith-based chart repository:

helm repo add cloudsmith-examples \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/helm/charts/' 
helm repo update

Installing a Helm Chart

You can install a chart by using the following command:

helm install cloudsmith-examples/my-awesome-helm-chart

You can also install a chart directly by specifying the repository on the command line:

helm install my-awesome-helm-chart \
  --repo 'https://dl.cloudsmith.io/public/cloudsmith/examples/helm/charts/'

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

Helm provides a very clean method of removing a chart repository, simply run the following command:

helm repo remove cloudsmith-examples

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Maven logo

Maven Repository Setup

A repository that supports Maven-compatible projects and JARs, with support for Gradle, SBT, Leiningen, Ivy, Grape, etc.

The following instructions are for Maven or compatible packages only.

Build System Setup

To enable the retrieval of Cloudsmith hosted packages via Maven, the first step is to add your repository to the dependencyManagement section of your pom.xml file.

To do this add the following XML to your project pom.xml file:

<repositories>
  <repository>
    <id>cloudsmith-examples</id>
    <url>https://dl.cloudsmith.io/public/cloudsmith/examples/maven</url>
    <releases>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </releases>
    <snapshots>
      <enabled>true</enabled>
      <updatePolicy>always</updatePolicy>
    </snapshots>
  </repository>
</repositories>

After the repository is added to the pom.xml file, and credentials are added to the settings.xml file (if required), all that is left is to specify the dependency in the dependencies section of the project pom.xml file.

To do this add the following XML to your project pom.xml file:

<dependency>
  <groupId>group-id</groupId>
  <artifactId>artifact-id</artifactId>
  <version>version</version>
</dependency>

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Gradle, the first step is to add your repository to the build.gradle file.

To do add the following, at any location, to your build.gradle file:

repositories {
  maven {
    url "https://dl.cloudsmith.io/public/cloudsmith/examples/maven"

  }
}

After the repository is added to the build.gradle file, and credentials are added to the ~/.gradle/gradle.properties file (if required), all that is left is to specify the dependency in the dependencies section of the project build.gradle file.

To do this add the below to your build.gradle file:

dependencies {
  implementation 'group-id:artifact-id:version'
}

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via sbt, add your repository your build.sbt file.

resolvers += "cloudsmith-examples" at "https://dl.cloudsmith.io/public/cloudsmith/examples/maven"

After the repository is added to the build.sbt file, and your credentials are added to the ~/.sbt/.credentials file (if required), all that is left is to specify the dependency in the dependencies section of the project build.sbt file.

To do this add the below to your build.sbt file:

libraryDependencies += "group-id" % "artifact-id" % "version"

Note: In sbt 0.13.x (not sbt 1.x or above) an extension point in the dependency resolution to use Maven-style resolvers is required. To enable this plugin add the following to project/maven.sbt (or project/plugin.sbt):

addMavenResolverPlugin

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Leiningen, add your repository to the top level of the project.clj file.

:repositories [["snapshots" "https://dl.cloudsmith.io/public/cloudsmith/examples/maven"]
               ["releases" "https://dl.cloudsmith.io/public/cloudsmith/examples/maven"]]

After the repository is added to the project.clj file all that is left is to specify the dependency in the dependencies section of the project project.clj file.

To do this add the below to your project.clj file:

:dependencies [[group-id/artifact-id "version"]]

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

To enable the retrieval of Cloudsmith hosted packages via Groovy's Grape, add the repository to the Groovy script.

@GrabResolver(name='cloudsmith-examples', root='https://dl.cloudsmith.io/public/cloudsmith/examples/maven')

After the repository is added to your script all that is required is to specify the dependency within the script.

@Grab(group='group-id', module='artifact-id', version='version')

Note: You'll need to replace group-id, artifact-id and version with your own uploaded package details.

Encrypting Credentials

As mentioned earlier we would highly advise that you encrypt your credentials using something like mvn encrypt-password example-token, of which you can refer to the mini encryption guide for more detailed help (external link). This method may only work for Maven and Gradle-based repositories.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

npm logo

npm Registry Setup

Npm is the package manager of choice for the Javascript/Node ecosystem. Cloudsmith is fully compatible as an npmjs-like registry.

The following instructions are for npm or compatible packages only.

Registry Setup

There are two ways to tell npm to use a Cloudsmith-based npm registry:

  1. Set the registry as the default globally, per-user or per-project.
  2. Provide the registry URL when executing npm commands.

Set Default Registry

To use/set the registry as the default for your user, execute the following:

npm config set registry https://npm.cloudsmith.io/cloudsmith/examples/

You can set it globally (with permissions) by using the -g argument.

Alternatively, you can add it directly to your user or project .npmrc file:

registry=https://npm.cloudsmith.io/cloudsmith/examples/

Note: Setting the registry globally will impact all npm commands, unless they explicitly override the registry.

Specify Registry During Commands

You can specify the registry each time you execute npm commands, such as:

npm install lodash --registry=https://npm.cloudsmith.io/cloudsmith/examples/

Authentication

Read-Only Authentication (Installing)

For a public registry, you do not provide authentication for read-only contexts, such as installing packages:

npm install awesome-package

npm Scopes

You can namespace your registry and packages using npm scopes.

Scoped Registry

Using a registry scope tells npm to route installs for packages in that scope to Cloudsmith.

You can set it via the command-line using:

npm config set '@cloudsmith:registry' https://npm.cloudsmith.io/cloudsmith/examples/

You can also set it directly in your user or project .npmrc file:

@cloudsmith:registry=https://npm.cloudsmith.io/cloudsmith/examples/

Note: You can replace @cloudsmith in the above with your own scope name.

Scoped Packages

Using a package scope provides a different namespace to other simiarly named packages to differentiate them.

Installing packages with a scope requires putting the scope before the name:

npm install @cloudsmith/awesome-package

You can find out more about scoped packages (on npmjs.com).

Note: You can replace @cloudsmith in the above with your own scope name.

Distribution Tags

Distribution tags allow npm packages to be tagged with a mnemonic that is associated with a specific package version.

These can be used as an alternative to the package version when installing packages, such as:

npm install awesome-package@beta --registry=https://npm.cloudsmith.io/cloudsmith/examples/

Cloudsmith has full support for distribution tags and (mostly) follows the same rules for them as on npmjs.com:

  1. A specific tag can point at one version of a package only.
  2. A package version may have multiple unique tags.
  3. Unless specified otherwise, the default tag for the last package published is latest.
  4. When a package that is latest is deleted, the tag is moved to the next applicable version by semver.

You can inspect a package to see what tags it has:

npm dist-tags ls awesome-package --registry=https://npm.cloudsmith.io/cloudsmith/examples/
(out)latest: 1.0.0
(out)beta: 2.0.0

You can find out more about distribution tags (on npmjs.com).

Transparent Upstream Proxying

Cloudsmith supports transparent proxying of install requests to/from npmjs.com.

When enabled, requests for packages that don't exist in the registry will be automatically proxied:

npm install lodash@4.17.11 --registry='https://npm.cloudsmith.io/cloudsmith/examples/'
(out)+ lodash@4.17.11
(out)updated 1 package in 2.743s

In this case, lodash didn't exist in the registry and was proxied. This also applies automatically when npm is installing dependencies for your package. It will load them from the registry automatically and transparently proxy them.

Warning: If transparent upstream proxying is disabled for the registry then you will need to fetch all dependencies of your packages manually. These can then be published into the registry, or you can bundle them with bundleDependencies.

Security Auditing

Cloudsmith supports proxying of npm audit requests to detect vulnerabilities in dependencies:

npm audit
(out)                       === npm audit security report ===
(out)found 0 vulnerabilities
(out) in 1 scanned package

You can find out more about distribution tags (on npmjs.com).

Yarn Compatibility

Assuming that you have always-auth enabled, Yarn is immediately compatible with Cloudsmith registries:

yarn add lodash@4.17.11 --registry=https://npm.cloudsmith.io/cloudsmith/examples/
(out)[1/5] Validating package.json...
(out)[2/5] Resolving packages...
(out)[3/5] Fetching packages...
(out)[4/5] Linking dependencies...
(out)[5/5] Building fresh packages...
(out)success Saved lockfile.
(out)success Saved 1 new dependency.
(out)info Direct dependencies
(out)└ lodash@4.17.11
(out)info All dependencies
(out)└ lodash@4.17.11

To enable always-auth, add it to your user or project .npmrc file:

always-auth

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Python logo

Python Repository Setup

Pip/Pipfile/Poetry are package managers of choice for the Python ecosystem. Cloudsmith is fully compatible as a PyPi-like repository.

The following instructions are for Python or compatible packages only.

Python Setup Via Command-Line

You can install packages directly by the extra index url when executing a pip command.

pip install my-awesome-package==1.0.0 --extra-index-url https://dl.cloudsmith.io/public/cloudsmith/examples/python/index/

To search only your Cloudsmith repository for packages use the --index-url- Pip configuration argument. Note this will force pip to search only the Cloudsmith repository and will result in pip not being able to install public (PyPi) packages that your private package may depend on.

pip install my-awesome-package==1.0.0 --index-url https://dl.cloudsmith.io/public/cloudsmith/examples/python/index/

Note: You'll need to replace my-awesome-package and 1.0.0 with your own awesome python packages and versions.

Python Setup Via Pip

Similar to setup via command-line, pip needs to be passed the --extra-index-url configuration option. To do this add --extra-index-url to the top of your requirements.txt (or similar) file.

--extra-index-url https://dl.cloudsmith.io/public/cloudsmith/examples/python/index/
my-awesome-package=1.0.0

Note: You'll need to replace my-awesome-package and 1.0.0 with your own awesome python packages and versions.

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

Remove the following line from your $HOME/.pip/pip.conf file:

--extra-index-url=https://dl.cloudsmith.io/public/cloudsmith/examples/python/index/

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

RedHat logo

RedHat Repository Setup

A repository for RedHat-like systems (such as RHEL, CentOS, SUSE, Fedora, etc.), compatible with yum, dnf, zypper, etc.

The following instructions are for RedHat or compatible packages only.

Distribution Setup

To install packages you'll need to setup your repository, which is specific to your distribution:

To install packages, you can quickly setup the repository automatically (recommended):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo bash

If you need to force a specific distribution/release, you can also do that (e.g. if your system is compatible but not identical):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo distro=some-distro codename=some-codename bash

or ... you can manually configure it yourself before installing packages:

yum install yum-utils pygpgme
rpm --import 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/gpg/gpg.0365B910DDF4E7A4.key'
curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/config.rpm.txt?codename=5&distro=el' > /tmp/cloudsmith-examples.repo
yum-config-manager --add-repo '/tmp/cloudsmith-examples.repo'
yum -q makecache -y --disablerepo='*' --enablerepo='cloudsmith-examples' --enablerepo='cloudsmith-examples'

Note: Please replace el and 5 above with your actual distribution/version.

To install packages, you can quickly setup the repository automatically (recommended):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo bash

If you need to force a specific distribution/release, you can also do that (e.g. if your system is compatible but not identical):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo distro=some-distro codename=some-codename bash

or ... you can manually configure it yourself before installing packages:

dnf install yum-utils pygpgme
rpm --import 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/gpg/gpg.0365B910DDF4E7A4.key'
curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/config.rpm.txt?codename=42.2&distro=opensuse' > /tmp/cloudsmith-examples.repo
dnf config-manager --add-repo '/tmp/cloudsmith-examples.repo'
dnf -q makecache -y --disablerepo='*' --enablerepo='cloudsmith-examples' --enablerepo='cloudsmith-examples-source'

Note: Please replace fedora and 25 above with your actual distribution/version.

To install packages, you can quickly setup the repository automatically (recommended):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo bash

If you need to force a specific distribution/release, you can also do that (e.g. if your system is compatible but not identical):

curl -1sLf \
  'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/bash.rpm.sh' \
  | sudo distro=some-distro codename=some-codename bash

or ... you can manually configure it yourself before installing packages:

curl -1sLf 'https://dl.cloudsmith.io/public/cloudsmith/examples/cfg/setup/config.rpm.txt?codename=42.2&distro=opensuse' > /tmp/cloudsmith-examples.repo
zypper ar -f '/tmp/cloudsmith-examples.repo'
zypper --gpg-auto-import-keys refresh cloudsmith-examples cloudsmith-examples-source

Note: Please replace opensuse and 42.2 above with your actual distribution/version.

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

rm /etc/yum.repos.d/cloudsmith-examples.repo
rm /etc/yum.repos.d/cloudsmith-examples-source.repo
rm /etc/yum.repos.d/cloudsmith-examples.repo
rm /etc/yum.repos.d/cloudsmith-examples-source.repo
zypper rr cloudsmith-examples
zypper rr cloudsmith-examples-source

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Ruby logo

Ruby Repository Setup

Rubygems/bundler are the package managers of choice for the Ruby ecosystem. Cloudsmith is fully compatible as a Rubygems-like repository.

The following instructions are for Ruby or compatible packages only.

Setup With Bundler

As stated by Bundler, "Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed." You'll be pleased to know that Cloudsmith supports Bundler directly, but the instructions vary depending on the version of bundler you're using (which you can determine via bundle --version).

Bundler >= 1.7+

Bundler from version 1.7 supports scoped sources, so you can install a gem from Cloudsmith using the following declaration in your Gemfile:

source 'https://dl.cloudsmith.io/public/cloudsmith/examples/ruby' do
  gem 'awesome-gem', '~> 42.0'
end

Note: You'll need to replace awesome-gem and ~> 42.0 with your own awesome gems and versions.

Bundler < 1.7

Bundler before version 1.7 doesn't support scoped sources, so you can install a gem from Cloudsmith using the following declaration in your Gemfile:

source 'https://dl.cloudsmith.io/public/cloudsmith/examples/ruby'
gem 'awesome-gem', '~> 42.0'

Note: You'll need to replace awesome-gem and ~> 42.0 with your own awesome gems and versions.

If you'd like to setup the cloudsmith/examples repository yourself, you can use the following instructions to replicate the results from the automated setup above (as root user or via sudo if available):

gem sources --add 'https://dl.cloudsmith.io/public/cloudsmith/examples/ruby'

Removing Setup

If you no longer want to install packages from the repository, you can remove it with:

gem sources -r 'https://dl.cloudsmith.io/public/cloudsmith/examples/ruby'

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Vagrant logo

Vagrant Repository Setup

Cloudsmith is fully compatible as an (Hashicorp) Atlas-like repository.

The following instructions are for Vagrant or compatible packages only.

Vagrant Setup

To enable the retrieval of Cloudsmith hosted Vagrant boxes, the box can either be added directly via Vagrant's CLI or the project's Vagrantfile can be updated. To add the box directly via Vagrant's CLI, execute the following:

vagrant box add 'https://dl.cloudsmith.io/public/cloudsmith/examples/vagrant/awesome-box/metadata.json' \
  --name 'awesome-box' \
  --box-version 'box-version' \
  --provider 'box-provider'

Note: You'll need to replace awesome-box, box-version and box-provider with your own uploaded package details.

To add the box without having to specify the URL each time, the following must be added to the project's Vagrantfile:

config.vm.box = "awesome-box"
config.vm.box_url = "https://dl.cloudsmith.io/public/cloudsmith/examples/vagrant/awesome-box/metadata.json"

Note: You'll need to replace awesome-box with your own uploaded package details.

After this configuration has been added to the Vagrantfile, Vagrants CLI tool can now be used as normal:

vagrant up
(out)Bringing machine 'default' up with 'box-provider' provider...
(out)  ==> default: Box 'awesome-box' could not be found. Attempting to find and install...
(out)      default: Box Provider: 'box-provider'
(out)      default: Box Version: >= '0'
(out)  ==> default: Loading metadata for box 'https://dl.cloudsmith.io/public/cloudsmith/examples/vagrant/awesome-box/metadata.json'
(out)      default: URL: https://dl.cloudsmith.io/public/cloudsmith/examples/vagrant/awesome-box/box-version/my-awesome-box.box
(out)  ==> default: Adding box 'awesome-box' ('box-version') for provider: 'box-provider'
(out)  ==> default: Successfully added box 'awesome-box' ('box-version') for: 'box-provider'

Note: You'll need to replace awesome-box, box-version and box-provider with your own uploaded package details.

After this configuration has been added to the Vagrantfile new versions will be automatically detected by Vagrant when uploaded to Cloudsmith:

vagrant up
(out)Bringing machine 'default' up with 'box-provider' provider...
(out)  ==> default: Checking if box 'awesome-box' is up to date...
(out)  ==> default: A newer version of the box 'awesome-box' is available! You currently
(out)  ==> default: have version 'box-version'. The latest is version 'my-new-awesome-box-version'. Run
(out)  ==> default: `vagrant box update` to update.
(out)[snip]
vagrant box update
(out)  ==> default: Checking for updates to 'awesome-box'
(out)      default: Latest installed version: 'box-version'
(out)      default: Version constraints:
(out)      default: Provider: 'box-provider'
(out)  ==> default: Updating 'awesome-box' with provider 'box-provider' from version
(out)  ==> default: 'box-version' to 'my-new-awesome-box-version'...
(out)  ==> default: Loading metadata for box 'https://dl.cloudsmith.io/public/cloudsmith/examples/vagrant/awesome-box/metadata.json
(out)  ==> default: Adding box 'awesome-box' ('my-new-awesome-box-version') for provider: 'box-provider'
(out)  ==> default: Successfully added box 'awesome-box' ('my-new-awesome-box-version') for: 'box-provider'

Note: You'll need to replace awesome-box, box-version and box-provider with your own uploaded package details.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Raw logo

Raw Repository Setup

A repository that acts like a container for any type of files. Think DropBox, but with a pinch more awesome.

The following instructions are for Raw or compatible packages only.

Setup

The purpose of raw files depends on the content of the raw file, which Cloudsmith doesn't know, so we can't provide you with an automated setup method (yet), but it might be as simple as downloading the file.

You can download a raw file using the browser, or if you're running Linux you can use standard tools such as curl.

Downloading Via Curl

curl -1 -O 'https://dl.cloudsmith.io/public/cloudsmith/examples/raw/files/your-package.zip'

Note: You'll need to replace your-package.zip with your own equally fantastic file name.

Still Stuck? Need Help?

Don't Panic. If you're struggling, please don't hestitate to contact us for assistance. We love talking to everyone (and we mean, everyone), and getting you automated with machine-like proficiency is our top priority.

Top