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 TypesDescriptionWrite Operations
HTTP

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.

Not supported
HTTPS

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.

Not supported
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.

Not supported
Amazon S3Provide 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.Supported
Artifactory

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

See repository documentation to set up your Artifact repository.

Supported
Puppet Master

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.

Not supported
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.

 

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.


Not supported

 

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 Script, Backup 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 Script: Use 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.

 

 

  • No labels