This reference architecture is based on the original aws-service-catalog-reference-architectures from AWS, but has been heavily customized for Sage Bionetworks.
AWS Service Catalog allows you to centrally manage commonly deployed AWS services, and helps you achieve consistent governance which meets your compliance requirements, while enabling users to quickly deploy only the approved AWS services they need.
This guide will help you deploy and manage your AWS ServiceCatalog using Infrastructure as Code (IaC). Read the documentation for more information on ServiceCatalog and CloudFormation.
Merges to master will copy these templates to an S3 bucket that is used by organizations-infra/sceptre/scipool to deploy stacks.
Currently there is a manual process for development. The steps are:
- Deploy a test service catalog product template to an S3 bucket that has public access.
- Reference that template in a template that deploys a product. Examples can be found in the individual Sceptre templates in org-formation-infra repo
Example:
template:
path: "sc-product-ec2-linux-docker.j2"
stack_name: "my-sc-product-ec2-linux-docker"
parameters:
ProductName: "EC2: Linux Docker"
sceptre_user_data:
# force cloudformation to update stack by setting a random number to the latest product's description
ProvisioningArtifactParameters: |
- Description: 'Test EC2 docker'
Info:
LoadTemplateFromURL: 'https://<TEST BUCKET>.s3.amazonaws.com/templates/ec2/sc-ec2-linux-docker.yaml'
Name: 'v9.9.9'
While the templates in this library could be used in any AWS account, Sage Bionetworks is currently deploying to the "scipooldev" and "scipoolprod" account.
This project is licensed under the Apache 2.0 license - see the LICENSE file for details.