Skip to main content

SSM AppConfig Storage Helper

Project description

ssmash

https://img.shields.io/pypi/v/ssmash.svg Python versions Documentation Status Downloads Code style: black

ssmash, the SSM AppConfig Storage Helper, is an easy-to-use application configuration management tool for AWS deployments. You specify hierarchical configuration values in a simple YAML file, and ssmash will turn that into an AWS CloudFormation file that stores your configuration values in the SSM Parameter Store.

Installation

Install ssmash using pip, the standard python package installer:

$ pip install ssmash

Example

Suppose you have an input file like this:

acme:
    shipping-labels-service:
        block-coyotes: true
        explosive-purchase-limit: 1000
        greeting: hello world

Then run ssmash:

$ ssmash -i acme_prod_config.yaml -o cloud_formation_template.yaml
$ aws cloudformation deploy \
    --stack-name "acme-prod-config" --template-file cloud_formation_template.yaml \
    --no-fail-on-empty-changeset

You will now have the following parameters in AWS Systems Manager, that can be loaded as a string inside your application:

  • /acme/shipping-labels-service/block-coyotes = “true”

  • /acme/shipping-labels-service/explosive-purchase-limit = “1000”

  • /acme/shipping-labels-service/greeting = “hello world”

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v2.0.0 (2019-06-28)

Changed

  • #22 : Change command line API so that the input and output files are options, rather than arguments.

  • #22 : Change command line API so that invalidating an ECS Service is done through a chained sub-command, rather than additional options.

Added

  • #8 : Support lists of plain values, which are stored as a SSM StringList parameter

Removed

  • You can’t specify input and output files as positional arguments any more. Use –input-file FILENAME and –output-file FILENAME instead.

  • The –invalidate-ecs-service and –invalidation-role options have been replaced with the invalidate-ecs command.

v1.1.0 (2019-06-05)

Added

  • Be able to automatically invalidate an existing ECS Service as part of the parameter deployment, so that it picks up the new configuration.

v1.0.0 (2019-05-30)

v1.0.0-rc1 (2019-05-24)

Added

  • ssmash script to create String SSM Parameters from a simple config file stored in YAML

  • Basic documentation in README

v0.1.0 (2019-05-14)

Added

  • First release on PyPI.

  • Cookiecutter skeleton only, no functionality

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssmash-2.0.0.tar.gz (31.4 kB view hashes)

Uploaded Source

Built Distribution

ssmash-2.0.0-py2.py3-none-any.whl (22.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page