Getting started with manifest files

What is a manifest file?

A manifest files allows you to be more explicit about your application composition and control settings that are not usually available through the user interface or Cloud 66 toolbelt. The file describes the setup of the components that make up your application. If you’re already familiar with manifest files, refer to Building a manifest file.

These are just some examples of the settings you can control with a manifest file:

How do I use a manifest file?

Manifest settings are defined in a file called manifest.yml. For Rails/Rack applications the path for manifest.yml is:


To get started:

  1. Add this file to your code
  2. Populate it with appropriate values (see below for examples)
  3. Commit your changes to your repository
  4. Build your application

Is my yaml valid?

The manifest file is YAML formatted. You can check its validity at YAML Lint or with this command:
$ ruby -e "require 'yaml'; YAML.load_file('.cloud66/manifest.yml')"

A working example

In this example we are going to modify the configuration of the simple application we used in our Getting started guide.

What you’ll need

Before you start, please check you have the following:

An account with your cloud provider of choice. Cloud 66 supports AWS, Google Cloud, Microsoft Azure, DigitalOcean, Hetzner, Linode, OVH, Packet, Rackspace, Vultr, and Cloud A.

Click on any of the links above for instructions on linking your cloud provider to your Cloud 66 account.

Setting up your first manifest file

To populate the manifest.yml for your application:

  1. Follow the steps in the Getting Started guide but stop before the Defining your application step.
  2. Add the YAML below to your manifest.yml file:

Once we have the latest version of our Manifest checked in, we can go back to the Getting Started guide and continue from Defining your application step. Now, when you deploy your application, it will use the settings defined in your manifest file.

Defining a server for your component

The Manifest file gives you a lot of control over your components. For example, you can use the server settings to specify the exact size and region for your application server. The YAML below is an example of this in action:


Editing the manifest file of an existing application may not necessarily result in changes to the deployed instance(s) of that application, even if the application is subsequently redeployed. Read our in-depth guide to understand the complexities around this.

What’s next?