Service Catalog Factory

Create a new AWS CloudFormation stack

  • Select the AWS CloudFormation Service.

If you are installing Service Catalog Puppet it will need to be installed into the same account as Service Catalog Factory.

  • Select ‘Create Stack’

Service Catalog Factory can be installed via a pre-created AWS CloudFormation template stored in Amazon S3 under the following URL:

https://service-catalog-tools.s3.eu-west-2.amazonaws.com/factory/latest/servicecatalog-factory-initialiser.template.yaml

  • Paste this URL under ‘Amazon S3 URL’:
  • Hit Next

Specify Stack details

  • Specify the Stack details as follows:
    • Stack Name: factory-initialization-stack

You should fill in the details depending on which source code management system you want to use:

CodeCommit

You need to set SCMSourceProvider to CodeCommit.

You should also set the following:

  • SCMRepositoryName - this is the name of the git repo to use
  • SCMBranchName - this is the branch you want to use
  • SCMShouldCreateRepo - set this to true if you want the tools to create the repo for you

Github.com / Github Enterprise / Bitbucket Cloud

You should have a read through the following guide: https://docs.aws.amazon.com/dtconsole/latest/userguide/connections.html

You need to set SCMSourceProvider to CodeStarSourceConnection.

You should also set the following:

  • SCMConnectionArn - this is the Arn of the connection you created in the console
  • SCMFullRepositoryId - the value for this is dependant on which SCM you use
  • SCMBranchName - this is the branch you want to use

S3

You need to set SCMSourceProvider to S3.

You should also set the following:

  • SCMBucketName - this is the name of the S3 bucket you want to use
  • SCMObjectKey - this is the name of the object key you will be uploading your zip file as to trigger pipeline runs
  • SCMShouldCreateRepo - set this to true if you want the tools to create the repo for you

Configure Stack Options

  • Set the common tags you want to use for the resources created by the framework. These may be cost management tags or RBAC/ABAC required tags.
  • Hit Next
  • Acknowledge that the Stack will create an IAM Role
  • Hit ‘Create Stack’
  • You will now see the stack status as CREATE_IN_PROGRESS
  • Wait for the stack status to go to CREATE_COMPLETE

What have we deployed?

The following AWS resources have just been deployed into your AWS Account:

AWS CloudFormation stacks

The AWS CodeBuild job created two AWS CloudFormation stacks which in turn deployed the resources listed below:

URL: https://eu-west-1.console.aws.amazon.com/cloudformation/home?region=eu-west-1

Factory AWS CodeCommit repository

This repository holds the Service Catalog Factory YAML files which are used to configure AWS Service Catalog portfolios and products.

URL: https://eu-west-1.console.aws.amazon.com/codesuite/codecommit/repositories?region=eu-west-1

Factory AWS CodePipeline

This AWS CodePipeline is triggered by updates to the AWS CodeCommit repository. When run, it will create the AWS Service Catalog portfolios and products defined in the portfolio files.

URL: https://eu-west-1.console.aws.amazon.com/codesuite/codepipeline/pipelines?region=eu-west-1

Amazon S3 Buckets

An Amazon S3 Bucket was created to store artifacts for Service Catalog factory.

URL: https://s3.console.aws.amazon.com/s3/home?region=eu-west-1