CliQr is now part of Cisco Learn More About Cisco

Create and Share Artifact Repositories

About Shared Repositories

CloudCenter users can define their own repositories and store the required application binaries, scripts, and shared files in the Artifact Repository. At deployment time, you can download (or upload for supported write operations) the required file from this repository.

You can provide the required repository credentials to authenticate supported repositories using secure access (Private key, Client Certificate, and Trusted Certificate).

CloudCenter Repository Types

For each repository type, the CloudCenter platform provides additional fields to identify the configuration specific to each type.

The following table lists the supported repository types and the inputs required when configuring them in CloudCenter.

Repository TypesDescription
HTTP Repositories

Use your own HTTP repository for application artifacts. See Artifact Repository for additional details.

Provide the Hostname, Port, and optionally, Username/Password of your HTTP repository.

You can create HTTP repositories using Apache, Nginx or any other web server of your choice. You can then use HTTP repositories to host application artifacts.

HTTPS Repositories

Use your own HTTPS repository for application artifacts. See Artifact Repository for additional details.

Provide the Hostname and Port. You can choose to provide the username/password or SSL credentials that comprise of the Private Key, Client/Trusted certificates of your HTTPS repository.

FTP

Use your own FTP repository for application artifacts. See Artifact Repository for additional details.

Provide the Hostname, Port, Username/Password of your FTP repository.

Amazon S3 RepositoriesProvide the Region, Access Key, Access Secret for your AWS account, and the name of the S3 Bucket, that you would like to use as your repository.
Artifactory Repositories

Provide the Hostname, Port, Username/Password or the SSL Credentials of your Artifactory repository.

See repository documentation to set up your Artifact repository.

Puppet Server

The central server that manages Puppet Agent(s). Refer to http://docs.puppetlabs.com (install Puppet) for additional context. Only displayed if you use the Puppet service.

Provide the Hostname (of the Puppet Master) and the Certname Suffix (authentication credentials for the Puppet Master). See Model Applications Using Puppet and Chef for additional details.

Chef Server

The central server that manages the Chef clients. Refer to https://docs.chef.io/ (install server) for additional context. Alternately, you can also use the free Chef server image provided in the AWS Marketplace. Only displayed if you use the Chef service.

 Provide the Hostname, Chef User Key, Chef Validation key and optionally Trusted Certificate of the Chef Server. See Model Applications Using Puppet and Chef for additional details.

You can download the Starter Kit from the Chef console to obtain the validation key that must be specified in CloudCenter UI.

Icon

If your Chef Server is configured with a Public DNS, add the Public DNS in the Hostname field and copy the public DNS to the Trusted Certificate field when creating or editing the repository.

See CloudCenter External URL additional context on Public DNS.


Other InputProvide the entire URL for the repository – this is the only option that is directly configurable for CloudCenter resources.

 

To define a shared repository, you must first create the repository and then share the repository with applicable users or groups.

Create Repository

To create a repository, follow this procedure:

  1. Access the Repositories tab in the CCM UI.
  2. Review the repositories (if any):
    • If the required repository is listed in this page, click the Edit icon. You can only edit a repository if you are the owner (see Permission Control).
    • If the required repository is not listed, follow the rest of the procedure to add a new repository.
  3. Click the Add Repositories button to add a new repository.
  4. Provide the Basic Information required to model this repository.
  5. Provide the authentication credentials, depending on your authentication scheme, provide username/password or certificate details for SSL.
  6. Click Save. The newly added repository is saved and visible in the Your Repositories page.

Share the Repository

Each tenant and users within a tenant can only view shared repositories specific to their tenant (or as permitted by their admin).

To share a repository, follow this procedure:

  1. Access the the CCM UI and click Repositories.
  2. For the required repository, click the Share Repository icon.
  3. Associate the required Users, Groups, and Tenants who are permitted to access this repository and identify the Permissions for each association. You can also choose to share this repository with all users and/or tenants.
  4. Click Save. The newly added repository is saved and visible in the Repositories page.

Backing Up and Restoring Data for Application Migration

Some repositories also support Write operations can be used to backup (or restore) data to/from the repository as identified in the table above (see the Write Operations column).

To use this capability, you must provide the backup location (repository endpoint) for the backup/restore operation. Once you provide the relative path for the Backup ScriptBackup Location, and/or the Restore Script, in the Migration Properties tab, these will be used to perform application migration between clouds.

  • Backup Location: Application data is backed up to the repository specified in the Backup Location. Include the following line in your migration script(s) to use the backup/restore function:
    /usr/local/osmosix/etc/request_util.sh 
  • Backup ScriptUse the backup shell script to call the util function. Include the following line to backup a file:
    backupFile $path_on_repo $localFilePath, replace the $localFilePath with the path of the file that must be backed up.
  • Restore Script: Use the restore shell script to call the util function. Include the following line to restore a file:
    restoreFile $path_on_repo $localFilePath, replace the $localFilePath with the path where you would like the file to be copied.