Skip to content

podaac/confluence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

confluence

components

Confluence Component Data Flow Diagram

Current Confluence workflow version: 2.0.0

Confluence repositories:

aws infrastructure

workflow-infrastructure

The Confluence workflow includes the following AWS service in the workflow-infrastructure directory

  • AWS Batch compute environment, job queue definitions.
  • AWS CloudWatch Logs.
  • AWS EFS.
  • AWS IAM Roles & Policies.
  • AWS S3 SoS Bucket.
  • AWS Security Groups and VPC definition.
  • AWS System Manager Parameter Store and Key Management Service.

stepfunction-infrastructure

The Confluence workflow includes the following AWS service in the stepfunction-infrastructure directory

  • AWS EventBridge rule.
  • AWS Step Function state machine.
  • AWS IAM Roles & Policies.

terraform

Deploys AWS infrastructure and stores state in an S3 backend. This top-level terraform repo contains AWS infrastructure that applies to all components. Each component may have additional terraform files for deploying AWS resources, see each components README.md for details.

To deploy:

  1. Edit conf.tfvars for environment to deploy to.
  2. Initialize terraform: terraform init -reconfigure -backend-config="bucket=podaac-services-<env>-terraform" -backend-config="key=services/confluence/confluence.tfstate" -backend-config="region=us-west-2" -backend-config="profile=<named_profile>"
  3. Plan terraform modifications: terraform plan -var-file="conf.tfvars" -out="tfplan"
  4. Apply terraform modifications: terraform apply tfplan

<env> can be sit, uat, or ops

<named_profile> is the name of the profile used to authenticate to AWS

docker images

Pulls in SWOT-Confluence container images from ghcr.io and pushes them to the Amazon ECR.

NOTE: This should be run after the Terraform deployment.

Command line arguments:

  • [1] registry: Registry URI
  • [2] prefix: Venue deployment prefix
  • [3] version: Application version

Example usage: ./delpoy-containers.sh "account-id.dkr.ecr.region.amazonaws.com" "svc-confluence-sit" "1.0.0"

work arounds

The following image was too large for the github action to process and scan:

docker pull ghcr.io/swot-confluence/ssc_model_deployment:3.0.0

so we retag it for our AWS account and push it to ECR directly, bypassing the sync script if you rely on GH Actions.

About

Confluence is a cloud-based workflow that produces river discharge estimates and suspended sediment concentration data using SWOT observations and HLS. This is the top-level repo that includes Terraform that deploys shared AWS infrastructure for the Confluence workflow.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors