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 runlatestor 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
Metadata
Release files for sceptre-core 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| sceptre-core-0.0.2.tar.gz | 72.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sceptre_core-0.0.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 108.6 kB
Release files / sceptre-core-0.0.2.tar.gz
| Download URL | sceptre-core-0.0.2.tar.gz |
|---|---|
| Size | 72.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c9768aaa3b38b9e9feffbc13a2ad54b9bd790a64c1c5c0b0cc477a381aff501
|
|
BLAKE2b-256 checksum How to use checksums |
8b3afdb505b9e76b6178dc0eeb541cdd0e2f23ff0139a5e96c53d0e240f33b8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / sceptre_core-0.0.2-py2.py3-none-any.whl
| Download URL | sceptre_core-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 36.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
4d944e7d5a02ce3f9e6b3516eb11d0da9d540eddf8b893bd9f10d22d16f161e3
|
|
BLAKE2b-256 checksum How to use checksums |
0bb25a2a2353be8fc570cb0da2b658475dfae53b6f3d53086c1fc6ffb1c4a36c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for sceptre-core 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.