Skip to main content

Application that reads yaml and syncs definitions with amazon

Project description

A python application that reads YAML and syncs definitions with amazon.

It currently supports:

  • Creation and modification of IAM roles permissions
  • Creation of instance profiles for an IAM role
  • Creation of s3 buckets
  • Modification of s3 bucket policy and s3 bucket tags
  • Modification of bucket website, logging and lifecycle configuration
  • Creation and modification of KMS keys
  • Creation and modification of KMS key grants
  • Creation and modification of Lambda functions
  • Creation and modification of apigateways
  • Creation and modification of Route53 CNAMEs

See more documentation at http://aws_syncr.readthedocs.org

Installation

aws_syncr is on pypi!:

$ pip install aws_syncr

Running

aws_syncr is designed to configure the same definition across multiple accounts.

To run it you have the following file structure:

accounts.yaml
<environment1>/
    config1.yaml
    config2.yaml
<environment2>/
    config1.yaml
    config2.yaml

And then you run:

$ aws_syncr <environment> sync

For example, let’s say you have a dev environment and a stg environment:

accounts.yaml

    ---

    accounts:
        dev: 123456789
        stg: 382093840

roles.yaml

    ---

    roles:
        my_role:
            [..]

dev/
    roles.yaml - symlink to ../roles.yaml

stg/
    roles.yaml - symlink to ../roles.yaml

Then from that folder:

$ aws_syncr dev sync --dry-run
$ aws_syncr dev sync

Or if you are not in that folder:

$ AWS_SYNCR_CONFIG_FOLDER=<folder> aws_syncr [..]

Tests

Run the following:

$ pip install -e .
$ pip install -e ".[tests]"
$ ./test.sh

Or use tox:

$ tox

Changelog

0.6.1
  • Update pycryptodome because of CVE-2018-15560
0.6
  • Change from PyCrypto to pycryptodome
  • Update other dependencies
Before 0.6
  • No changelog was kept

Project details


Download files

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

Files for aws_syncr, version 0.6.1
Filename, size File type Python version Upload date Hashes
Filename, size aws_syncr-0.6.1.tar.gz (41.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page