Skip to content

Commit

Permalink
Merge pull request #70 from aws-solutions/release/v3.2.0
Browse files Browse the repository at this point in the history
Update to version v3.2.0
  • Loading branch information
groverlalit authored Dec 16, 2022
2 parents 508523e + e4e6437 commit e8a7c65
Show file tree
Hide file tree
Showing 128 changed files with 17,876 additions and 6,141 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.2.0] - 2022-11-25

### Added

- Support for App Registry
- Unit tests for ui and lambda

### Changed

- Solution name from Serverless Transit Network Orchestrator (STNO) to **Network Orchestration for AWS Transit Gateway**
- package-lock.json to address dependabot identified vulnerabilities
- testing-requirements.txt to address dependabot identified vulnerabilities

## [3.1.1] - 2022-10-18

### Changed
Expand Down
139 changes: 113 additions & 26 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AWS Serverless Transit Network Orchestrator
Network Orchestration for AWS Transit Gateway

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Expand All @@ -7,28 +7,115 @@ THIRD PARTY COMPONENTS
**********************
This software includes third party software subject to the following copyrights:

AWS SDK for Python under Apache-2.0
aws-amplify under Apache-2.0
aws-sdk-js-v3 under Apache License 2.0
ag-grid-community under MIT
ag-grid-react under MIT
bootstrap under MIT
charset-normalizer under MIT
font-awesome under MIT
jmespath under MIT
jquery under MIT
idna under BSD
popper.js under MIT
python-dateutil under Apache
react under MIT
react-bootstrap under MIT
react-dom under MIT
react-icons under MIT
react-modal under MIT
react-router-dom under MIT
react-scripts under MIT
requests under Apache-2.0
s3transfer under Apache-2.0
six under MIT
urllib3 under MIT
winston under MIT
@aws-amplify/api-graphql Apache-2.0
@aws-amplify/auth Apache-2.0
@aws-amplify/core Apache-2.0
@fortawesome/fontawesome-svg-core MIT
@fortawesome/free-brands-svg-icons (CC-BY-4.0 AND MIT)
@fortawesome/free-solid-svg-icons (CC-BY-4.0 AND MIT)
@fortawesome/react-fontawesome MIT
ag-grid-community MIT
ag-grid-react MIT
bootstrap MIT
react MIT
react-bootstrap MIT
react-dom MIT
react-icons MIT
react-router-dom MIT
@testing-library/jest-dom MIT
@testing-library/react MIT
@testing-library/user-event MIT
msw MIT
prettier MIT
react-scripts MIT

@aws-sdk/client-cognito-identity-provider Apache-2.0
winston MIT
@types/jest MIT
@types/node MIT
jest MIT
ts-jest MIT
ts-node MIT
typescript Apache-2.0
aws-sdk-client-mock MIT

Jinja2 3.0.3 BSD License
MarkupSafe 2.1.0 BSD License
PTable 0.9.2 BSD License
PyYAML 6.0 MIT License
Werkzeug 2.0.3 BSD License
astroid 2.9.3 GNU Lesser General Public License v2 (LGPLv2)
attrs 21.4.0 MIT License
aws-lambda-typing 2.16.1 MIT License
aws-sam-translator 1.42.0 Apache Software License
aws-xray-sdk 2.9.0 Apache Software License
black 21.12b0 MIT License
boto3 1.21.8 Apache Software License
boto3-stubs 1.26.27 MIT License
botocore 1.24.8 Apache Software License
botocore-stubs 1.29.27 MIT License
certifi 2021.10.8 Mozilla Public License 2.0 (MPL 2.0)
cffi 1.15.0 MIT License
cfn-lint 0.58.0 MIT License
charset-normalizer 2.0.12 MIT License
click 8.0.4 BSD License
coverage 6.3.1 Apache Software License
cryptography 36.0.1 Apache Software License; BSD License
docker 5.0.3 Apache Software License
ecdsa 0.17.0 MIT
exceptiongroup 1.0.4 MIT License
freezegun 1.1.0 Apache Software License
future 0.18.2 MIT License
idna 3.3 BSD License
iniconfig 1.1.1 MIT License
isort 5.10.1 MIT License
jmespath 0.10.0 MIT License
jschema-to-python 1.2.3 MIT License
jsondiff 1.3.1 MIT License
jsonpatch 1.32 BSD License
jsonpickle 2.1.0 BSD License
jsonpointer 2.2 BSD License
jsonschema 3.2.0 MIT License
junit-xml 1.9 Freely Distributable; MIT License
lazy-object-proxy 1.7.1 BSD License
mccabe 0.6.1 MIT License
mock 4.0.3 BSD License
moto 2.3.1 Apache Software License
mypy-boto3-organizations 1.24.36.post1 MIT License
mypy-boto3-ram 1.26.0.post1 MIT License
mypy-extensions 0.4.3 MIT License
networkx 2.6.3 BSD License
packaging 21.3 Apache Software License; BSD License
pathspec 0.9.0 Mozilla Public License 2.0 (MPL 2.0)
pbr 5.8.1 Apache Software License
pipdeptree 2.3.1 MIT License
platformdirs 2.5.1 MIT License
pluggy 1.0.0 MIT License
py 1.11.0 MIT License
pyasn1 0.4.8 BSD License
pycparser 2.21 BSD License
pylint 2.12.2 GNU General Public License v2 (GPLv2)
pyparsing 3.0.7 MIT License
pyrsistent 0.18.1 MIT License
pytest 7.2.0 MIT License
pytest-mock 3.1.1 MIT License
python-dateutil 2.8.2 Apache Software License; BSD License
python-jose 3.3.0 MIT License
pytz 2021.3 MIT License
requests 2.27.1 Apache Software License
responses 0.18.0 Apache 2.0
rsa 4.8 Apache Software License
s3transfer 0.5.2 Apache Software License
sarif-om 1.0.4 MIT License
six 1.16.0 MIT License
sshpubkeys 3.3.1 BSD License
sure 1.4.11 GNU General Public License v3 or later (GPLv3+)
toml 0.10.2 MIT License
tomli 1.2.3 MIT License
types-awscrt 0.16.1 MIT License
types-s3transfer 0.6.0.post5 MIT License
typing_extensions 4.1.1 Python Software Foundation License
urllib3 1.26.8 MIT License
websocket-client 1.3.1 Apache Software License
wrapt 1.13.3 BSD License
xmltodict 0.12.0 MIT License
42 changes: 26 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
# Serverless Transit Network Orchestrator

**[🚀Solution Landing Page](https://docs.aws.amazon.com/solutions/latest/serverless-transit-network-orchestrator/welcome.html)** | **[🚧Feature request](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=feature-request%2C+enhancement&template=feature_request.md&title=)** | **[🐛Bug Report](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=bug%2C+triage&template=bug_report.md&title=)** | **[📜Documentation Improvement](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=document-update&template=documentation_improvements.md&title=)**

_Note: For any relevant information outside the scope of this readme, please refer to the solution landing page and implementation guide._
# Network Orchestration for AWS Transit Gateway
## Formerly known as Serverless Transit Network Orchestrator (STNO)

*
*[🚀Solution Landing Page](https://aws.amazon.com/solutions/implementations/network-orchestration-aws-transit-gateway/welcome.html)
** | *
*[🚧Feature request](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=feature-request%2C+enhancement&template=feature_request.md&title=)
** | *
*[🐛Bug Report](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=bug%2C+triage&template=bug_report.md&title=)
** | *
*[📜Documentation Improvement](https://github.com/aws-solutions/serverless-transit-network-orchestrator/issues/new?assignees=&labels=document-update&template=documentation_improvements.md&title=)
**

_Note: For any relevant information outside the scope of this readme, please refer to the solution landing page and
implementation guide._

## Table of content

Expand All @@ -23,9 +33,9 @@ _Note: For any relevant information outside the scope of this readme, please ref

## Solution overview

The Serverless Transit Network Orchestrator (STNO) solution adds automation to AWS Transit Gateway. This solution provides the tools necessary to automate the process of setting up and managing transit networks in distributed AWS environments. A web interface is created to help control, audit, and approve (transit) network changes. STNO supports both AWS Organizations and standalone AWS account types.
Network Orchestration for AWS Transit Gateway solution adds automation to AWS Transit Gateway. This solution provides the tools necessary to automate the process of setting up and managing transit networks in distributed AWS environments. A web interface is created to help control, audit, and approve (transit) network changes. STNO supports both AWS Organizations and standalone AWS account types.

Serverless Transit Network Orchestrator version 2.0 supports AWS Transit Gateway inter-Region peering and Amazon VPC prefix lists. Customers can establish peering connections between transit gateways to extend connectivity and build global networks spanning multiple AWS Regions. Version 2.0 also gives customers the ability to automatically register AWS Transit Gateway with Network Manager. This lets customers visualize and monitor their global network from a single dashboard rather than toggling between Regions from the AWS Console.
Network Orchestration for AWS Transit Gateway version 2.0 supports AWS Transit Gateway inter-Region peering and Amazon VPC prefix lists. Customers can establish peering connections between transit gateways to extend connectivity and build global networks spanning multiple AWS Regions. Version 2.0 also gives customers the ability to automatically register AWS Transit Gateway with Network Manager. This lets customers visualize and monitor their global network from a single dashboard rather than toggling between Regions from the AWS Console.

## Architecture

Expand All @@ -35,17 +45,17 @@ The solution follows hub-spoke deployment model and uses given workflow:

- This tag change is sent to the hub account through an Amazon EventBridge bus.

- When the event is received in the hub account, an AWS Lambda function is initiated to start the Serverless Transit Network Orchestrator workflow.
- When the event is received in the hub account, an AWS Lambda function is initiated to start the Network Orchestration for AWS Transit Gateway workflow.

- AWS Step Functions (Serverless Transit Network Orchestrator state machine) and Lambda process network requests from the spoke accounts and event details are stored in Amazon DynamoDB. You can approve requests automatically or manually.
- AWS Step Functions (Network Orchestration for AWS Transit Gateway state machine) and Lambda process network requests from the spoke accounts and event details are stored in Amazon DynamoDB. You can approve requests automatically or manually.

<img src="./architecture.png" width="750" height="450">

## Installing pre-packaged solution template

- Deploy in the account you want to act as the hub: [aws-transit-network-orchestrator-hub.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/aws-transit-network-orchestrator-hub.template)
- Deploy in spoke accounts: [aws-transit-network-orchestrator-spoke.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/aws-transit-network-orchestrator-spoke.template)
- Deploy in AWS Organizations management account: [aws-transit-network-orchestrator-organization-role.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/aws-transit-network-orchestrator-organization-role.template)
- Deploy in the account you want to act as the hub: [network-orchestration-hub.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/network-orchestration-hub.template)
- Deploy in spoke accounts: [network-orchestration-spoke.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/network-orchestration-spoke.template)
- Deploy in AWS Organizations management account: [network-orchestration-organization-role.template](https://solutions-reference.s3.amazonaws.com/serverless-transit-network-orchestrator/latest/network-orchestration-organization-role.template)

_Note: All templates need to be deployed in the same preferred region_

Expand Down Expand Up @@ -126,7 +136,7 @@ aws s3api put-public-access-block \
- Configure the solution name, version number and bucket name

```
SOLUTION_NAME=serverless-transit-network-orchestrator
SOLUTION_NAME=network-orchestration-for-aws-transit-gateway
DIST_OUTPUT_BUCKET=stno-$ACCOUNT_ID
VERSION=custom001
```
Expand Down Expand Up @@ -156,9 +166,9 @@ _✅ All assets are now staged on your S3 bucket. You or any user may use S3 lin

- If using STNO with AWS Organizations, make sure that AWS RAM (Resources Access Manager) sharing is enabled in the management account (Refer [here](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_how-to-enable-disable-trusted-access)).

- (Optional) If using AWS Organizations, if you want STNO to add tags with the account name/OU, and if the STNO account is not a [Delegated Administrator for any AWS service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html), log into the management account and create a CloudFormation stack using the `aws-transit-network-orchestrator-organization-role.template` link from your bucket.
- (Optional) If using AWS Organizations, if you want STNO to add tags with the account name/OU, and if the STNO account is not a [Delegated Administrator for any AWS service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html), log into the management account and create a CloudFormation stack using the `network-orchestration-organization-role.template` link from your bucket.

- Deploy the Serverless Transit Network Orchestrator to your account by launching a new AWS CloudFormation stack using the `aws-transit-network-orchestrator-hub.template` and `aws-transit-network-orchestrator-spoke.template` links from your S3 bucket.
- Deploy the Network Orchestration for AWS Transit Gateway to your account by launching a new AWS CloudFormation stack using the `network-orchestration-hub.template` and `aws-transit-network-orchestrator-spoke.template` links from your S3 bucket.

## Tags used by STNO

Expand Down Expand Up @@ -285,7 +295,7 @@ _✅ At this point we have successfully migrated to STNO v3.0.0_

## File structure

AWS Serverless Transit Network Orchestrator solution consists of:
Network Orchestration for AWS Transit Gateway solution consists of:

- solution templates to provision needed AWS resources
- lambda microservices to implement solution functional logics
Expand Down
Loading

0 comments on commit e8a7c65

Please sign in to comment.