repo

Provides a simple interface for installing or removing new Apt or RPM repo files.

Apt repo files are added in /etc/apt/sources.list.d, while RPM repo files are added in /etc/yum.repos.d.

Installing repos

Repos can be defined through CLI arguments, or they can be defined in cephdeploy.conf and referenced by name.

The general format for adding a repo is:

ceph-deploy repo --repo-url <repo_url> --gpg-url <optional URL to GPG key> <repo-name> <host> [host [host ...]]

As an example of adding the Ceph rpm-hammer repo for EL7:

ceph-deploy repo --repo-url http://ceph.com/rpm-hammer/el7/x86_64/ --gpg-url 'https://download.ceph.com/keys/release.asc' ceph HOST1

In this example, the repo-name is ceph, and the file /etc/yum.repos.d/ceph.repo will be created. Because --gpg-url was passed, the repo will have gpgcheck=1 and will reference the given GPG key.

For APT, the equivalent example would be:

ceph-deploy repo --repo-url http://ceph.com/debian-hammer --gpg-url 'https://download.ceph.com/keys/release.asc' ceph HOST1

If a repo was defined in cephdeploy.conf, like the following:

[ceph-mon]
name=Ceph-MON
baseurl=https://cephmirror.com/hammer/el7/x86_64
gpgkey=https://cephmirror.com/release.asc
gpgcheck=1
proxy=_none_

This could be installed with this command:

ceph-deploy repo ceph-mon HOST1

ceph-deploy repo will always check to see if a matching repo name exists in cephdeploy.conf first.

It is possible that repos may be password protected, and a URL may be structured like so:

https://<user>:<password>@host.com/...

In this case, Apt repositories will be created with mode 0600 to make sure the password is not world-readable. You can also use the CEPH_DEPLOY_REPO_URL and CEPH_DEPLOY_GPG_URL environment variables in lieu of --repo-url and --gpg-url to avoid placing sensitive credentials on the command line (and thus visible in the process table).

Note

The writing of a repo file as mode 0600 when a password is present is only done for Apt repos currently.

Removing

Repos are simply removed by name. The general format for adding a repo is:

ceph-deploy repo --remove <repo-name> <host> [host [host...]]

To remove a repo at /etc/yum.repos.d/ceph.repo, do:

ceph-deploy repo --remove ceph HOST1

New in version 1.5.27.