The Recipe Repository

The Cloudify Recipe Repository

Cloudify Web UI has a functionality called the recipe repository.
When it is used, the Cloudify manager clones the Cloudify recipes repository to the local disk and allow you to browse it, modify files and install services and applications.

Click on the following image to learn how to install a recipe from the Cloudify Web UI :
pic is missing

The repository feature is not a full-blown VCS at this point. Cloudify does not commit or push code changes to the cloned remote repository. It simply clones the content of the repository to the local disk. Updating the content of a file simply updates the content of that file on the local disk of the Cloudify manager.
The repository implements basic collision detection which prevents you from saving a file after another user has changed it while you were editing it.

Here’s a screenshot that shows the recipes tab:
pic is missing

Configuration

The webui has a spring context XML file called “cloudify-webui-context.xml” :

You can define your own file which overrides the cloudify-webui-context.xml.
For localcloud you place it under the “config” folder under CloudifyRoot folder and for remote clouds you need to place the overriding file under a cloudify-overrides folder (e.g.: For EC2, place the file in CloudifyRoot/clouds/ec2/upload/cloudify-overrides/config/cloudify-webui-context-override.xml).
The overriding file should be named “cloudify-webui-context-override.xml”.
You can use the cloudify-webui-context-override.xml that resides under the config folder in the Cloudify distribution zip file

  1. Modifying the value for “recipesRepository” property to “true” will turn the feature on (defaults to false).
  2. Modifying the “URI” property of the “repositoryDefinitionBean” bean will modify the git repository from which the recipes will be cloned by Cloudify (defaults to Cloudify Recipes Repository).
  3. Modifying the “rootFolder” property of “repositoryDefinitionBean” bean will modify the target folder to which the repository is cloned (defaults to “cloudify_recipes_clone”).
  4. Modifying the “existingMethod” property of the same bean will modify how Cloudify handles an existing clone.
    1. USE will simply use the folder.
    2. USE_IF_VALID (default) will validate that this is a proper clone . If it’s not valid, Cloudify will delete the folder and clone again.

Here’s an override example:

This configuration also allows you to modify the implementation of the interface.
The interface is available as a MAVEN dependency with the following details :

Using the Recipes Tab

The recipe repository tab enables you to modify a recipe and then install it.
Here’s a screenshot that shows it:
pic is missing

Viewing the Installation Progress

Here are three screenshots that show how to track installations progress via the Cloudify Web UI:

Confirmation
pic is missing

Progress …
pic is missing

A successful installation
pic is missing