Cloud Provisioning Tool
Project description
Sceptre
About
Sceptre is a tool to drive AWS CloudFormation. It automates the mundane, repetitive and error-prone tasks, enabling you to concentrate on building better infrastructure.
Install
$ pip install sceptre-core
More information on installing sceptre can be found in our Installation Guide
Example
Sceptre organises Stacks into "Stack Groups". Each Stack is represented by a
YAML configuration file stored in a directory which represents the Stack Group.
Here, we have two Stacks, vpc
and subnets
, in a Stack Group named dev
:
$ tree
.
├── config
│ └── dev
│ ├── config.yaml
│ ├── subnets.yaml
│ └── vpc.yaml
└── templates
├── subnets.py
└── vpc.py
Usage
Sceptre can be used from the CLI (see sceptre-cli
), or imported as a Python
package.
Python API
Using Sceptre as a Python module is very straightforward. You need to create a SceptreContext, which tells Sceptre where your project path is and which path you want to execute on, we call this the "command path".
After you have created a SceptreContext you need to pass this into a SceptrePlan. On instantiation the SceptrePlan will handle all the required steps to make sure the action you wish to take on the command path are resolved.
After you have instantiated a SceptrePlan you can access all the actions you can
take on a Stack, such as validate()
, launch()
, list()
and delete()
.
from sceptre.context import SceptreContext
from sceptre.plan.plan import SceptrePlan
context = SceptreContext("/path/to/project", "command_path")
plan = SceptrePlan(context)
plan.launch()
Full API reference documentation can be found in the Documentation
Use Docker Image
View our Docker repository.
To use our Docker image follow these instructions:
-
Pull the image
docker pull cloudreach/sceptre-core:[SCEPTRE_VERSION_NUMBER]
e.g.docker pull cloudreach/sceptre-core:x.x.x
. Leave out the version number if you wish to runlatest
or rundocker pull cloudreach/sceptre-core:latest
. -
Run the image. You will need to mount the working directory where your project resides to a directory called
project
. You will also need to mount a volume with your AWS config to your docker container. E.g.
If you want to use a custom ENTRYPOINT simply amend the Docker command:
docker run -ti --entrypoint='' cloudreach/sceptre-core:latest sh
The above command will enter you into the shell of the Docker container where you can execute sceptre commands - useful for development.
If you have any other environment variables in your non-docker shell you will
need to pass these in on the Docker CLI using the -e
flag. See Docker
documentation on how to achieve this.
Tutorial and Documentation
Contributing
See our Contributing Guide
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sceptre_core-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d944e7d5a02ce3f9e6b3516eb11d0da9d540eddf8b893bd9f10d22d16f161e3 |
|
MD5 | 9dfd1451de69d788d7c45809d889e9fc |
|
BLAKE2b-256 | 0bb25a2a2353be8fc570cb0da2b658475dfae53b6f3d53086c1fc6ffb1c4a36c |