Getting started

DISCLAIMER

Furnace will deploy resources outside of the free tier on your cloud platform. We are not responsible for any costs incurred

Prerequisites

Our aim is to have you up and running in less than 5 minutes. You'll need to meet the following prerequisites (see current limitations):
Further prerequisites are needed depending on which platform you will be deploying to.

For AWS:

For Google Cloud Platform

To list projects already available in GCP if you have them run gcloud projects list from the gcloud CLI

For Azure

To find your subscription ID run az account show --query id -o tsv from the Azure CLI

Ignite the Furnace

The process starts with installing the Furnace CLI and running furnace ignite
1
npm install @project-furnace/cli -g
2
furnace ignite
Copied!
You'll be asked a series of questions relating to your environment. After filling in the questions Furnace will start creating various resources in your chosen platform. These resources will consist of a deployment container, API endpoints, serverless functions, credentials and keys, storage, and message queues. For a more indepth look at what is actually being created please see the relevant platform specific documentation.
This may take a few minutes to complete but when it's done you will be notified via the CLI. Once this command has completed you're ready to create a new stack.
1
furnace new my-stack
2
cd my-stack
Copied!
Again you'll be prompted to answer a series of questions about your Stack. Furnace will then initialise a few more resources required for your Stack including GitHub repositories and webhooks. You'll now have a new repository created that you can start to build on. You can learn more about working with Furnace Stacks with the 5 Minute Walkthrough.
The stack.yaml contains a list of environments, by default you have dev, staging, production. Once you're ready deploy your first stack, we do so using a standard git flow.
1
git add .
2
git commit -am "initial commit"
3
git push origin master
Copied!
This pushes to the first environment defined in your Stack, you can see the deployment status in environments in the Stack repository in GitHub or using the furnace status command inside the Stack directory.
If something goes wrong or a deployment doesn't complete please see the platform specific page on where to find the relevant logs.
Once you're happy that your Stack is functioning how you expected in your initial environment you can promote it to an upstream environment eventually towards its final/production environment. For example, keeping with the default environments, to promote the dev environment to staging you would simply:
1
furnace promote dev
Copied!

Ignite Command line arguments

furnace ignite can also be run with the following command line arguments:

Global args

These args can be used for any target platform
Command
Full
Alias
Type
Default Value
Description
Platform selection
--platform
-p
String
null
Which platform you will deploy to aws, azure or gcp
Instance Name
--name
-i
String
null
The name to give your Furnace Instance
Git Provider
--gitProvider
-g
String
null
Git provider being used (currently only supporting github)
Git Token
--gitToken
-t
String
null
Github access token
Store Git Token
--storeGitHubToken
Boolean
true
Whether to store the Github token in the config
Location
--location
-l
String
null
Region deploying to. ie us-west-1 or uksouth

Platform Specific Args

These args are platform dependent:

AWS

Command
Full
Alias
Type
Default Value
Description
Profile
--profile
-x
String
null
Local AWS Profile to use
Access Key Id
--accessKeyId
-a
String
null
AWS API Access Key
Secret Access Key
--secretAccessKey
-p
String
null
AWS API Access Secret

Azure

Command
Full
Alias
Type
Default Value
Description
Subscription ID
--subscriptionId
-s
String
null
Azure Subscription ID

GCP

Command
Full
Alias
Type
Default Value
Description
Project ID
--projectId
-j
String
null
GCP Project Name
Last modified 2yr ago