This section details how to run the solution locally and deploy your code changes from the command line.
The following dependencies must be installed:
- AWS CLI
- Python >=3.7 and pip
- virtualenv
Once you have installed all pre-requisites, you must run the following command
to create a virtualenv
and install all dependencies before
commencing development.
make init
This command only needs to be ran once.
To deploy the solution manually from the source to your AWS account, run the following:
-
Create a S3 bucket
$ BUCKET_NAME="your-s3-bucket-name" $ REGION="us-east-1" $ aws s3 mb s3://${BUCKET_NAME} --region $REGION
-
Create an
.custom.mk
file and populate it with your own values$ cp .custom.mk.example .custom.mk
-
Deploy the stack
make deploy
This will deploy the Elemental Streaming solution using the AWS CLI profile of the current shell. By default this will be the profile default
.
The following commands are also available:
deploy-lsoa
This will deploy LiveStreaming on AWS solution only.
deploy-cfal
This will deploy analytics solution only.
Contributions are more than welcome. Please read the contributing guidelines.
Lambda functions are hitting allowed limit of 64 characters. To resolve this, use stack name as short as possible. Tested with 3 characters elm
.
CloudFrontAccessLogsBucket
bucket used for CloudFront logs has hardcoded value, this helps resolve circular dependency between TransformPartFn
function and CloudFrontAccessLogsBucket
resource. However, this can cause failures when trying to deploy solution repeatably in the same account.
Resolution: [TODO] add ${AWS::StackID} pseudo parameter to the name.