๐ Solution Landing Page | ๐ Solution Implementation Guide | ๐ง Feature request | ๐ Bug Report
Note: If you want to use the solution without building from source, navigate to Solution Landing Page
Site wrapper to absorb and control user traffic flowing into smaller web sites.
- Install/update to Python 3.x
- Install the AWS Command Line Interface (CLI)
- Create a Python virtual environment using requirements.txt and activate it
- Configure the bucket name of your target Amazon S3 distribution bucket
- Configure the bucket name of your target Amazon S3 distribution bucket
export DIST_OUTPUT_BUCKET=<MY-BUCKET-NAME> # bucket where customized code will reside
export SOLUTION_NAME=my-solution-name
export VERSION=my-version # version number for the customized code
Note: You would have to create an S3 bucket with the prefix '-'; is where you are testing the customized solution. Also, the assets in bucket should be publicly accessible.
- Now build the distributable:
cd deployment
chmod +x ./build-s3-dist.sh
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION
- Deploy the distributable to an Amazon S3 bucket in your account. The head-bucket command verifies that your account owns the bucket. Note: you must have the AWS Command Line Interface installed.
aws s3api head-bucket --bucket <MY-BUCKET-NAME>-<AWS-REGION> --expected-bucket-owner <AWS-ACCOUNT-ID>
aws s3 sync regional-s3-assets/ s3://<MY-BUCKET-NAME>-<AWS-REGION>/$SOLUTION_NAME/$VERSION/
- Get the link of the solution template uploaded to your Amazon S3 bucket.
- Deploy the solution to your account by launching a new AWS CloudFormation stack using the link of the solution template in Amazon S3.
- Some packages require a build before unit tests will run
- Install the common package into the virtual envronment before running
cd ./deployment
chmod +x ./run-unit-tests.sh
./run-unit-tests.sh
โโโ deployment
โ โโโ Dockerfile [ Used by docker_build script for building jwcrypto library ]
โ โโโ virtual-waiting-room-on-aws-api-gateway-cw-logs-role.json [ Base template for CloudWatch Logs role ]
โ โโโ virtual-waiting-room-on-aws-authorizers.json [ Base template for authorizers ]
โ โโโ virtual-waiting-room-on-aws-getting-started.json [ Nested template for new users ]
โ โโโ virtual-waiting-room-on-aws-openid.json [ Base template for Open ID ]
โ โโโ virtual-waiting-room-on-aws-sample-inlet-strategy.json [ Base template for sample inlet strategy]
โ โโโ virtual-waiting-room-on-aws-sample.json [ Base template for sample site ]
โ โโโ virtual-waiting-room-on-aws-swagger-private-api.json [ Swagger file for private API ]
โ โโโ virtual-waiting-room-on-aws-swagger-public-api.json [ Swagger file for public API ]
โ โโโ virtual-waiting-room-on-aws.json [ Base template for core API ]
โ โโโ build-s3-dist.sh [ Script for building distributables and preparing the CloudFormation templates ]
โ โโโ deploy.sh [ Script for building distributables and preparing the CloudFormation templates ]
โ โโโ docker_build.sh [ Script for building jwcrypto library ]
โ โโโ global-s3-assets [ Directory for writing out CloudFormation during local build ]
โ โโโ regional-s3-assets [ Directory for writing out CloudFormation during local build ]
โ โโโ requirements.txt [ System requirements for local builds ]
โ โโโ run-unit-tests.sh [ Script to run unit tests ]
โโโ docs
โ โโโ developer-guide.md [ Waiting room developer guide ]
โ โโโ install-guide.md [ Waiting room installation guide ]
โ โโโ physical-view.drawio
โ โโโ physical-view.jpg
โ โโโ sequence-diagrams.drawio
โ โโโ software-architecture.md
โโโ source
โโโ control-panel [ Source files for sample control panel ]
โโโ core-api [ Source files for core API ]
โโโ core-api-authorizers-sample [ Source files Authorizers ]
โโโ openid-waitingroom [ Source files for Open ID ]
โโโ sample-inlet-strategies [ Source files for inlet strategies ]
โโโ sample-waiting-room-site [ Source files for sample waiting room ]
โโโ shared [ Source files for shared library ]
โโโ token-authorizer [ Source files for token authorizer ]
โโโ tools [ Source files for tools and helper scripts ]
This solution collects anonymized operational metrics to help AWS improve the quality of features of the solution. For more information, including how to disable this capability, please see the implementation guide.
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0