Getting Started

This getting started guide will walk through the process of using Foremast to create an application in Spinnaker and dynamically generate a basic Spinnaker pipeline.

Getting started with Foremast consists of the following steps:

  1. Setting up configuration files
  2. Installing Foremast
  3. Setting up the variables
  4. Running Foremast

Quick Start Guide

In this section, we will install, configure and run Foremast to create a basic pipeline.


Setting up the environment

$ pip3 install virtualenv
$ virtualenv -p $(which python3) venv
$ source venv/bin/activate

Method 1 - Using pip (Preferred)

$ pip install foremast

Method 2 - Using git

$ git clone
$ cd foremast
$ pip3 install -U .

Configuration Files

Create a runway and .foremast directory and go into runway directory.

$ mkdir runway .foremast

Create pipeline.json in runway directory

   "deployment": "spinnaker",
   "env": [ "dev"]

Create application-master-dev.json in runway directory.

   "app": {
       "instance_type": "t2.micro"
   "asg": {
       "max_inst": 1,
       "min_inst": 1
   "regions": [

Go to .foremast directory and create the foremast.cfg file.

domain =
envs = dev,prod
regions = us-east-1
gate_api_url =

You should now see something similar structure.

$ tree -a
├── .foremast
│   └── foremast.cfg
└── runway
    ├── application-master-dev.json
    └── pipeline.json

2 directories, 3 files


Now from within the root directory, run foremast-pipeline.

$ GIT_REPO=hello PROJECT=world RUNWAY_DIR=runway/ foremast-pipeline

This will create an application in Spinnaker named helloworld along with a simple pipeline.