Metadata-Version: 2.1
Name: aws-service-catalog-puppet
Version: 0.0.14
Summary: Making it easier to deploy ServiceCatalog products
Home-page: https://github.com/awslabs/aws-service-catalog-puppet-framework
Author: Eamonn Faherty
Author-email: aws-service-catalog-tools@amazon.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Description-Content-Type: text/markdown
Requires-Dist: pyyaml
Requires-Dist: click
Requires-Dist: Jinja2
Requires-Dist: boto3
Requires-Dist: pykwalify
Requires-Dist: better-boto

## AWS Service Catalog Puppet Framework

![logo](./docs/logo.png) 

This is a framework where you list your AWS accounts with tags and your AWS Service Catalog products with tags or target
accounts. The framework works through your lists, dedupes and spots collisions and then provisions the products into your 
AWS accounts for you. It handles the Portfolio sharing, its acceptance and can provision products cross account and cross 
region.

### High level architecture diagram

![whatisthis](./docs/whatisthis.png)

This is a framework where you list your AWS accounts with tags and your AWS Service Catalog products with tags or 
target accounts.  The framework works through your lists, dedupes and spots collisions and then provisions the products
into your AWS accounts for you.  It handles the Portfolio sharing, its acceptance and can provision products cross account
and cross region.

## Getting started

Follow the steps below to get started:

### Install the tool
Optional, but recommended:
```bash
virtualenv --python=python3.7 venv
source venv/bin/activate
```

Install the package:
```bash
pip install aws-service-catalog-puppet
```

### Bootstrap your account
Set up your spoke accounts:
```bash
servicecatalog-puppet bootstrap-spoke <MASTER_ACCOUNT_ID>
```

### Bootstrap your account
Create the AWS CodeCommit repo and AWS CodePipeline resources to run the puppet for your 
master account:
```bash
servicecatalog-puppet bootstrap
```

### Setup your puppet
Clone the configuration repo and configure your factory:
```bash
git clone --config 'credential.helper=!aws codecommit credential-helper $@' --config 'credential.UseHttpPath=true' https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/ServiceCatalogPuppet
servicecatalog-puppet seed simple ServiceCatalogPuppet
cd ServiceCatalogPuppet
git add .
git commit -am "initial add"
git push
```
Wait for pipeline to complete and you have a working puppet.

## License

This library is licensed under the Apache 2.0 License. 


