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
File details
Details for the file sceptre-core-0.0.2.tar.gz
.
File metadata
- Download URL: sceptre-core-0.0.2.tar.gz
- Upload date:
- Size: 72.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c9768aaa3b38b9e9feffbc13a2ad54b9bd790a64c1c5c0b0cc477a381aff501 |
|
MD5 | 066eb76259e75aeb228b57a3f71c056e |
|
BLAKE2b-256 | 8b3afdb505b9e76b6178dc0eeb541cdd0e2f23ff0139a5e96c53d0e240f33b8e |
File details
Details for the file sceptre_core-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: sceptre_core-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d944e7d5a02ce3f9e6b3516eb11d0da9d540eddf8b893bd9f10d22d16f161e3 |
|
MD5 | 9dfd1451de69d788d7c45809d889e9fc |
|
BLAKE2b-256 | 0bb25a2a2353be8fc570cb0da2b658475dfae53b6f3d53086c1fc6ffb1c4a36c |