Jump to: navigation, search

Difference between revisions of "App-Catalog"

m (How to contribute)
m (Changed name to Community App Catalog)
Line 1: Line 1:
 
==Mission==
 
==Mission==
  
The OpenStack App Catalog will help you make applications available on your OpenStack cloud by providing a community driven catalog containing Glance images, Heat templates and Murano applications.
+
The OpenStack Community App Catalog will help you make applications available on your OpenStack cloud by providing a community driven catalog containing Glance images, Heat templates and Murano applications.
  
 
By providing a public location where OpenStack users can publish and consume artifacts to share and add additional capabilities, all OpenStack clouds become more valuable. For example vendors can publish Glance images for launching new VMs, Heat templates for creating new stacks, or Murano app packages for installing complete applications. When many OpenStack community members are publishing artifacts that users can easily download and install into their clouds this will multiply the value of their OpenStack cloud. Easy access to images, templates and apps will solve the “what now” question some user consider after successfully deploying an OpenStack environment.
 
By providing a public location where OpenStack users can publish and consume artifacts to share and add additional capabilities, all OpenStack clouds become more valuable. For example vendors can publish Glance images for launching new VMs, Heat templates for creating new stacks, or Murano app packages for installing complete applications. When many OpenStack community members are publishing artifacts that users can easily download and install into their clouds this will multiply the value of their OpenStack cloud. Easy access to images, templates and apps will solve the “what now” question some user consider after successfully deploying an OpenStack environment.
Line 32: Line 32:
 
==How to contribute==
 
==How to contribute==
  
The OpenStack App Catalog is designed to use the same tools for submission and review as other OpenStack projects.  As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.
+
The OpenStack Community App Catalog is designed to use the same tools for submission and review as other OpenStack projects.  As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.
  
The App Catalog Launchpad page can be found at https://launchpad.net/app-catalog.  
+
TheCommunity App Catalog Launchpad page can be found at https://launchpad.net/app-catalog.  
  
 
In order to add an entry to the catalog:
 
In order to add an entry to the catalog:

Revision as of 22:35, 29 April 2015

Mission

The OpenStack Community App Catalog will help you make applications available on your OpenStack cloud by providing a community driven catalog containing Glance images, Heat templates and Murano applications.

By providing a public location where OpenStack users can publish and consume artifacts to share and add additional capabilities, all OpenStack clouds become more valuable. For example vendors can publish Glance images for launching new VMs, Heat templates for creating new stacks, or Murano app packages for installing complete applications. When many OpenStack community members are publishing artifacts that users can easily download and install into their clouds this will multiply the value of their OpenStack cloud. Easy access to images, templates and apps will solve the “what now” question some user consider after successfully deploying an OpenStack environment.

How to use these assets

Glance Images

In Glance Images you will find a library of preconfigured images ready to launch virtual machines on your cloud. To use them:

  1. Browse the list and find the one you want
  2. Copy the URL for the image file
  3. Use the Glance client to add it to your cloud with the --copy-from option, or add the image from Horizon by specifying the URL as the image location.
  4. Use Nova to launch a vm from the new image

Heat Templates

In Heat Templates you will find templates for creating complete stacks in your cloud. To use them:

  1. Browse the list and find the one you want
  2. Download the template yaml file to your local machine
  3. Use the Heat client or Horizon to add the template to your cloud,
  4. Use the Heat client to create a stack

Murano Packages

In Murano Packages you will find complete applications, simple and clustered, ready to deploy into your cloud. To use them:

  1. Verify that you have Murano installed
  2. Browse the list and find the app package you want
  3. Copy the name of the app package
  4. In Horizon navigate to the Application Catalog | Packages page and Click Download Package
  5. Paste the app package name, and click Download
  6. You can now deploy the app into your cloud using Horizon or the Murano client


How to contribute

The OpenStack Community App Catalog is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the OpenStack development workflow. New contributors should follow the getting started steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.

TheCommunity App Catalog Launchpad page can be found at https://launchpad.net/app-catalog.

In order to add an entry to the catalog:

  1. Clone https://github.com/stackforge/apps-catalog
  2. Edit the YAML file pertaining to the type of entry you are adding (see below for structure examples). The YAML files are validated against the YAML schema files which are located in the same folder as the YAML files. The Stackforge gate checks the file for compliance with the schema, so be sure additions match the appropriate schema.
    1. Glance entries are found in openstack_catalog/web/static/glance_images.yaml
    2. Heat entries are found in openstack_catalog/web/static/heat_templates.yaml
    3. Murano entries are found in openstack_catalog/web/static/murano_apps.yaml
  3. When submitting the entry for review, the commit message must include the catalog entry name, URL to retrieve the asset, and an md5 sum if it is a binary. For example:
  4. Commits to the repository trigger a Jenkins job which will attempt to download the asset specified in the “resource URL” line, verify the downloaded asset has the same md5sum as noted in the commit message, and execute a virus scan using Symantec Endpoint Protection.
  5. When the commit is merged, the asset is automatically uploaded to the hosted CDN and becomes immediately available for download by others.

Structure of Glance entry

Glance entries are validated against the file openstack_catalog/web/static/glance_images.schema.yaml found in the apps-catalog repository and for example is formatted like this:

     name: Ubuntu 12.04 base image
     provided_by:
         name: Ubuntu
         href: mailto:uec@ubuntu.com
         company: Canonical
     description: Base Ubuntu image version 12.04 LTS
     format: QCOW2
     supported_by: Mirantis
     license: GPL 2.0

Structure of Heat entry

Heat entries are validated against the file openstack_catalog/web/static/heat_templates.schema.yaml found in the apps-catalog repository and for example is formatted like this:

     name: Wordpress
     provided_by:
         name: Max Mazur
         href: mailto:mmazur@mirantis.com
         company: Mirantis
     description: Wordpress HOT template to create a single node instance
     release:
         - Icehouse
         - Juno
         - Kilo
     format: HOT
     supported_by: Mirantis
     license: Apache 2.0

Structure of Murano entry

Murano entries are validated against the file openstack_catalog/web/static/murano_apps.schema.yaml found in the apps-catalog repository and for example is formatted like this:

     name: Docker HTTPd
     package_name: io.murano.apps.docker.DockerHTTPd
     provided_by:
         name: Stan Lagun
         href: "https://github.com/istalker2"
         company: Mirantis
     description: >
         The Apache HTTP Server, colloquially called Apache, is a Web server
         application notable for playing a key role in the initial growth of
         the World Wide Web.
     release:
         - Kilo
     format: package
     supported_by: Mirantis
     license: Apache 2.0
     attributes:
         "Source URL": "https://github.com/stackforge/murano-apps"
         Documentation: "https://github.com/stackforge/murano-apps/blob/master/Docker/Kubernetes/readme.md"