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. The file describes the setup of the components that make up your application. The manifest file is completely optional - you can use Prepress without ever creating a manifest file.

How do I use a manifest file?

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

<application-root>/.cloud66/manifest.yml

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. Deploy 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:

Setting up your first manifest file

To set up a manifest.yml file for your application:

  1. Create a file named manifest.yml in a folder named .cloud66, that is in turn located in the root of your source code and checked into your repository.
  2. Add YAML from one of the samples below to your manifest.yml file.
  3. Save the file and check that the YAML is valid.
  4. Commit the file to your repo & deploy your application

YAML sample: Jekyll

You’ll see that we’re defining several things in this YAML:

prepress:
  configuration:
    language: ruby
    language_version: 2.5
    framework: jekyll
    framework_version: 1.2.3
    build_command: jekyll build --config _alt_config.yml

YAML sample: Gatsby

You’ll see that we’re defining several things in this YAML:

prepress:
  configuration:
    language: nodejs
    language_version: 12.13
    framework: gatsby
    framework_version: 3.14.0
    build_command: gatsby build --profile --prefix-paths

YAML sample: Hugo

You’ll see that we’re defining several things in this YAML:

prepress:
  configuration:
    language: go
    framework: hugo
    build_command: hugo --gc --minify --config debugconfig.toml

What’s next?