Home > Guides > Dashboard Users Guide > Design > RepoPaths > Actions > Add a Repository to a RepoPath

Add a Repository to a RepoPath

Table of Contents
Warning: This page contains product information for a discontinued feature. Please see the cookbooks or repositories documentation.

Objective

To add a cookbook repository to a RepoPath object.

Table of Contents

Overview

Each ServerTemplate can only have a single RepoPath object. However, a RepoPath object can contain references to multiple cookbook repositories. In order to use a repository's Chef resources and providers (e.g. recipes, attributes, etc.) it must be properly referenced in a RepoPath object.

screen-SingleRepoPathsMultipleRepos-v1.png

Before you can add your own Chef recipes as scripts to a ServerTemplate, you must first add a reference to your repository to a ServerTemplate's RepoPath object.

Prerequisites

  • 'designer' user role privileges
  • HEAD version of a RepoPath object
  • Each cookbook in the repository must have properly formatted Chef Metadata that meets the requirements for use in the RightScale management platform. See Chef Metadata.

Steps

  1. Go to the Cookbook Repos tab of the HEAD version of the RepoPath. Note: If you are modifying a committed revision of a RepoPath object, you will need to clone it to create an editable HEAD version.
  2. Click the Add cookbook repo button.
  3. Specify the following information for each cookbook repository that you want to add to the RepoPath object. 

screen-CookbookReposTab-v1.png

Note: If you are adding a reference to a private GitHub repository, you will need to specify the URL (Ex: git@github.com:username/cookbooks.git) and Git SSH Key.  You will need to provide Git with the public key and enter the private key in the Dashboard. (The private key must not require a passphrase.) Although you can use the Override drop-down option to enter it here, we recommend creating a credential for it. 

  • URL - The URL that will be used to fetch the contents of the repository. You should only use the 'read-only' url since you will only be retrieving cookbooks. (view screenshot)
        Example: git://github.com/username/test.git

    Important!  Make sure you use the Git protocol as shown above (git://<URL>).  GitHub has changed the default protocol from Git to standard HTTP  (http://<URL>).  If you use the default HTTP protocol, you will receive an error when your server launches.  For more information and an example of the error, please see our RightScale Forum posting on the topic here.

  • Type - Type of repository.

    • svn - SVN repository

    • download - Download a tarball of the code base

    • git - GitHub repository (recommended)

  • Tag/Branch - Specify a tag, branch identifier, or commit SHA. If you are actively developing and testing code in the repository, you may want to use the "master" branch. To use the master branch, you can either explicitly list "master" or leave this field blank. You can also enter the name of the branch, tag, or the complete SHA of a commit (e.g. 27eb23151853686c1e7727eb23151853686c1e7). For production use, it's strongly recommended that you use a SHA because branches and tags can be changed.

  • Cookbooks path - The path in the repository where the cookbooks are located. Typically, cookbooks are located inside the root directory of the repository in a "cookbooks" directory. (e.g. rightscale/rightscale_cookbooks) However, if they exist in a different location, specify the full path. If the cookbooks are in the root directory, leave this field blank.

  • Git SSH key - Enter access credentials to retrieve cookbooks from a private repository (if required). Leave the field blank if you are using a public repository.

    If you are using a private repository, you must provide a valid SSH Key for authentication purposes. RightScale uses this information to retrieve the code from your private repository and save a copy in Repose. For example, in GitHub, use a Git SSH Key. You could either use a cloud SSH key or generate one of your own. If you created your own key, it's recommended that you create a credential (Design -> Credentials) to store your key material. Or you can override the dropdown and paste the contents of your Git SSH Key directly. 

Click Save. Repeat the process to add more repositories to the RepoPath object.

  1. When you add a new repository to a RepoPath object, RightScale will attempt to retrieve the contents of the referenced repository and store its contents in Repose. You can track the status of the retrieval in the Events pane of the dashboard. If cookbooks cannot be retrieved successfully, you will not be able to add any recipes from the repository into a ServerTemplate.
  2. The next step is to update the order of the RepoPath's repositories. Click on the text link to the RepoPath object. By default, a new repository will be added to the bottom of the list, which means it will have the lowest precendence. Drag and drop the newly added repository to the correct position in the list. See Inheritance of Cookbook Repositories and Best Practices for RepoPaths.
    screen-DragDrop-v1.png

Next Steps

You must to post a comment.
Last Modified
14:19, 30 Oct 2013

Page Rating

Was this article helpful?

Tags


Announcements

None

Glossary | 用語용어 Site Map | Site Help Community Corporate Site Get Support Dashboard Login
Doc Feedback Product Feedback Resources MultiCloud Marketplace Forums

Dashboard Status


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.