https://github.com/australianbiocommons/gen3-s3-sqs-sns

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
Last synced: 10 months ago · JSON representation

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
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme

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 ssjDispatcher for 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:

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

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

Dockerfile docker
  • node 18-buster build
package-lock.json npm
  • 365 dependencies
package.json npm
  • @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