https://github.com/australianbiocommons/gen3-s3-sqs-sns
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: AustralianBioCommons
- Language: TypeScript
- Default Branch: main
- Size: 43.9 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Gen3 S3-SQS-SNS Infrastructure (AWS CDK)
This AWS CDK project deploys an infrastructure stack that includes:
S3 Bucket: For Gen3 data uploads.
SQS Queue: Used by
ssjDispatcherfor processing notifications.SNS Topic: For broadcasting S3 object creation events.
S3 Event Notifications: Configured to send object creation events to SNS.
SQS Subscription to SNS: Ensures that SQS receives S3 notifications via SNS.
+-------------------------+ | Gen3 Data Upload | | (S3 Bucket) | +-----------+-------------+ | | (Event Notification: Object Created) v +-------------------------+ | Amazon SNS Topic | +-----------+-------------+ | | (SNS Subscription) v +-------------------------+ | Amazon SQS Queue | | (ssjDispatcher) | +-------------------------+ | | (Message Processing) v +-------------------------+ | Gen3 Processing | | (Runs in EKS) | +-------------------------+Prerequisites
Before deploying, ensure you have the following installed:
AWS CLI (Installation Guide)
AWS CDK v2 (Installation Guide)
Docker (optional, for containerized deployment)
Deployment Steps
1. Clone the Repository
git clone git@github.com:AustralianBioCommons/gen3-s3-sqs-sns.git && cd gen3-s3-sqs-sns
2. Install Dependencies
npm install
3. Deploy the CDK Stack
cdk deploy
4. Outputs
After deployment, AWS CDK will output the ARNs of the created resources:
Gen3BucketARN: arn:aws:s3:::gen3-data-upload-<account>-<region>
Gen3SnsTopicARN: arn:aws:sns:<region>:<account>:gen3-s3-notifications
SSJDispatcherQueueARN: arn:aws:sqs:<region>:<account>:ssj-dispatcher-queue
Running in Docker
To avoid local installations, you can build and run the CDK stack in a container.
Build the Docker Image
docker build -t gen3-s3-cdk .
Deployment Options
Using AWS Profile
aws sso login --profile profile-name # (If using AWS SSO)
docker run --rm -v ~/.aws:/root/.aws -e AWS_PROFILE=profile-name gen3-s3-cdk deploy
Using AWS Access Keys
docker run --rm \
-e AWS_ACCESS_KEY_ID=your-access-key \
-e AWS_SECRET_ACCESS_KEY=your-secret-key \
-e AWS_REGION=your-region \
gen3-s3-cdk deploy
Cleanup
To remove all deployed resources, run:
cdk destroy
or if using Docker
docker run --rm -v ~/.aws:/root/.aws -e AWS_PROFILE=profile-name gen3-s3-cdk destroy -f
Owner
- Name: AustralianBioCommons
- Login: AustralianBioCommons
- Kind: organization
- Email: systems@biocommons.org.au
- Website: https://www.biocommons.org.au/
- Repositories: 17
- Profile: https://github.com/AustralianBioCommons
Documentation for the development, deployment and/or optimisation of key community-endorsed bioinformatics tools and workflows
GitHub Events
Total
- Public event: 1
- Push event: 1
- Create event: 1
Last Year
- Public event: 1
- Push event: 1
- Create event: 1
Dependencies
- node 18-buster build
- 365 dependencies
- @types/jest ^29.5.14 development
- @types/node 22.7.9 development
- aws-cdk 2.1000.2 development
- jest ^29.7.0 development
- ts-jest ^29.2.5 development
- ts-node ^10.9.2 development
- typescript ~5.6.3 development
- @aws-cdk/aws-s3 ^1.203.0
- @aws-cdk/aws-s3-notifications ^1.203.0
- @aws-cdk/aws-sns ^1.203.0
- @aws-cdk/aws-sns-subscriptions ^1.203.0
- @aws-cdk/aws-sqs ^1.203.0
- aws-cdk-lib 2.179.0
- constructs ^10.0.0