Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The listing repository contains a config.js file and vendor product folders. The config.js file contains an index of the listings, which will be read by the Marketplace UI to build the Marketplace Homepage. The Listing folders contain metadata and supporting files for each product listing, which will be read by the Marketplace UI to build the Details page for each listing.

For image templates and ISOs, vendors can contribute a product listing following these steps:

  1. Create a listing folder for its product in the listing repository.
  2. Create a listing.js file and place it in the folder. The listing.js file includes metadata for the listing:
    1. Product name
    2. Vendor name
    3. A brief description
    4. Location of the graphics
    5. Metadata for associated templates and ISOs. Templates and ISO metadata should include location of where the actual image template and ISO data file. Multiple template and ISO metadata can be included in the same product listing to cover multiple hypervisor support and multiple product versions. 
    6. Tags (TBD)
  3. (Optional) Place any supporting files such as graphics and image template/ISO data files into the listing folder. Note that these files can be located in other places. In the case of the Apache Listing Repository, image template/ISO data files should be located outside of the listing repository and hosted by the vendor itself or third party.
  4. Add an entry to the config.js file for the listing.

For PaaS/SaaS, vendors can contribute a service listing following these steps:

  1. Create a listing folder for its service in the listing repository.
  2. Create a listing.js file and place it in the folder. The listing.js file includes metadata for the listing:
    1. Service name
    2. Vendor name
    3. A brief description
    4. Location of the graphics
    5. (Optional) Admin instruction. Admin instruction are steps that admin needs to follow in order to set up services for users. It can be left blank if no initial set up is required.
    6. "use service" action. Vendor needs to specify what happens when user clicks on the action button "use service". It can lead to a URL or scripts that can be invoked by the web browser. 
    7. Tags (TBD)
  3. (Optional) Place any supporting files such as graphics and scripts into the listing folder. Note that these files can be located in other places. 
  4. (Optional) Place plugin in the CloudStack source code repository plugin folder. If a plugin is required for the CloudStack, you can place it in the CloudStack plugin folder in the source code tree. Or you can store it externally and instruct admins how to download and install the plugin as part of the admin instruction.
  5. Add an entry to the config.js file for the listing.

...

CloudStack Marketplace client is installed along with CloudStack management server. After installation, admins can see all listings in the listing repository URLspecified. Admins can configure the following global settings for the Marketplace client:

  • enable/disable Marketplace Enabled – When Marketplace is enabled, both admins and users can access it. Default setting is "TRUE" (i.e. enabled). By default, listings that do not require admin intervention or set up (for example, templates and ISOs) are visible to the users immediately; and listings that require admin intervention (for example, some SaaS and PaaS applications) are not. When Marketplace is disabled, users cannot access it.image template and ISO listings are enabled (i.e. accessible) to users when Marketplace is enabled, and SaaS and PaaS listings are not. Each SaaS and PaaS listing needs to be "enabled" by admin manually.
  • Location and property of listing repositories – Admin can specify location of the listing repository and its property. When a listing repository is specified and "property" is set to "enabled", both admins and users can access listings from the repository. When a listing repository is specified and "property" is set to "disabled", only admin can access listings from the repository. Multiple listing repositories are supportedURLs of listing repositories – Default URL points to Apache listing repository and is enabled for users. Admins can modify or add additional listing repositories by entering their URLs. Admins can also configure which URL is enabled for its users. When a URL is enabled, users can see listings in the corresponding repository. When a URL is disabled, only admin can see listings in the corresponding repository.

For listings require admin intervention, admins can follow the instructions provided by vendors in the listing files to set up the services. Admins will then make these listings available to their users. For templates and ISOs, admins can import them into CloudStack so that when users create VMs from them, launch time is shorter.

...