Describe your entire infrastructure as code, then provision it with a single command.


Library & DSL

SparkleFormation is a Ruby DSL library for programmatically composing template files commonly used by IaaS orchestration APIs. It has builtin helper methods targeting the AWS CloudFormation API and includes translations for other providers (e.g. Rackspace, OpenStack, etc).

CLI Tool

The SparkleFormation CLI (sfn) is a command line interface for remote orchestration APIs. sfn provides support for all SparkleFormation features, including template compilation, resource discovery, and complex stack operations.

Supported Platforms

AWS Azure Eucalyptus Google OpenStack Rackspace Terraform

Create stacks

Create nested stacks

Link stacks

Delete stacks

Describe stacks

Inspect stacks



Stack update planning

Stack graphing


Comprehensive DSL

Serialized data (e.g. JSON, XML, YAML) is great for computers, but painful for humans. SparkleFormation's DSL allows you to describe infrastructure programatically then generate native orchestration templates. Its programatic approach to composition allows reuse of common patterns and enforcement of organizational standards across templates, while maintaining zero-day support for all features.

Powerful CLI Tooling

SparkleFormation's CLI tool provides sophisticated orchestration API interaction and template management.

  • Create, Update, and Destroy Stacks

  • Process templates written in the DSL

  • Discover Stack Metadata and Outputs

  • Inspect Stack Resources

Nested Stacks

With nested stack support, multiple infrastructure stacks can be grouped into a single template. This allows you to logically compartmentalize resources for independent development and testing, while you maintain an entire infrastructure via a single point of entry. Nested stacks automatically detect and propagate changes to child stacks as required to maintain the expected infrastructure state.

Stack Policies

SparkleFormation includes support for AWS Stack Policies to add an extra layer of control and security.Policies restrict or allow actions on specific stack resources. The CLI tool extracts policies described in DSL written templates and applies them to the stack via the API. This allows you to maintain a record of stack policies inline with your template code in source control.