Components

To provide these capabilities Furnace assembles a number of components into an autonomous system.

Furnace CLI - Responsible for 'Igniting' Furnace, creating new stacks and many helpful commands to keep you productive.

Bootstrap Template - Provisions the minimal components you need to create an instance of Furnace. For AWS, this is a CloudFormation Template.

Stack Template - Provides a starting point for your stack with a set of configuration files, we provide a starter template and you can create your own.

Module Template - Boilerplate used to create your own modules.

Function Template - Wraps around a module for various platforms and languages.

Module Repository - Contains a library of prebuilt modules that can be added to a Stack. We provide a set of 'core' modules and you can create your own repository.

Stack Repository - The various configuration files and modules for a specific Stack.

State Repository - Since everything is stored in Git, each stack requires a State Repository to store current state of a Stack and Environment.

Deployment Service - Responsible for receiving deployment events (via git push or furnace promote), building artifacts and provisioning the associated infrastructure on the chosen platform.

Artifact Repository - Stores module artifacts together with hashes and versions them.

Log Repository - Contains various logs files created as part of the Deployment process.