Service Catalog Factory
Description
Service Catalog Factory is a python3 framework that allows to build multi region AWS Service Catalog portfolios defined in YAML. Each product can be versioned, each can be stored in different repository. All products are built using CodePipelines.
Lab Schema
Configs
1.Framework install
Using CloudFormation, create new stack using template located in S3
2.CloudFormation parameters
Use servicecatalog-factory-initialiser or any other friendly name as a stack name and select default region.
3.CloudFormation stacks
Parent stack should deploy additional two. Wait untill all will be completed
4.IAM Role
Using IAM, create role: TeamRole. Do not attach any access policy, trust policy shut be set to trust current AWS Account
5.Clone repo
Go to CodeCommit, find ServiceCatalogFactory repo and copy https url.
6.Clone repo (#2)
To clone repository, you need to configure AWS credentials (using SSO) and git credential helper.
7.Create portfolio
Go to previously cloned repo, create portfolios directory. Copy Radkowski.yaml file into newly created directory.
Push repo to CodeCommit.
8.ServiceCatalogFactory CodePipeline
Pushing file to CodeComit will trigger CodePipeline
9.Create Product repo
Come back to CodeCommit. Create repo Radkowski-policy. It will keep product source code.
10.Product source code
Clone repo the same way as in step #6 or use CodeCommit console to create product.template.yaml file.
11.Update portfolio
Come back to ServiceCatalogFactory repo and update Radkowski.yaml file by adding product section. Updated source code can be found by clicking orange button below
12.Product PipeLine
Select CodePipeline. You should now see extra pipeline dedicated for product which you have just defined.
Wait for both to be completed.
13.ServiceCatalog portfolio
Go to AWS Service Catalog. New portfolios should be visible under Administration->Portfolios.
I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
14.ServiceCatalog product
To see products , clisk newly created portfolio.
15.ServiceCatalog product permissions
To set produict permissions, navigate to Group, Users and Roles tab.
16.ServiceCatalog product permissions
Grant access to product for selected users, groups and/or roles.
17.Product Launch (#1)
Come back to product view, select previously created product.
18.Product Launch (#2)
To deploy product, click Launch Product.
19.Product Launch (#3)
Accept/modify product name and select version to be deployed.
Confirm by clicking Launch Product.
20.Product Launch (#4)
Deployed product should change status from Under-Change to Available.
Test Area
20.Product Launch (#5)
Go to IAM. Confirm if product (Policy) has been successfully deployed based on product.template.yaml from Step #10.