Skip to content

Commit

Permalink
Move Weathertop to tools directory (awsdocs#5552)
Browse files Browse the repository at this point in the history
  • Loading branch information
ford-at-aws authored Oct 20, 2023
1 parent 8c17b75 commit 5c2fcf4
Show file tree
Hide file tree
Showing 36 changed files with 15 additions and 13 deletions.
20 changes: 10 additions & 10 deletions test/README.md → .tools/test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
This directory contains the source and infrastructure code for running multi-language integration tests in AWS.

## Problem and solution statement
This repository contains example code written in [11 of the AWS-supported Software Development Kit (SDK) languages](../README.md#how-this-repository-is-organized).
This repository contains example code written in [11 of the AWS-supported Software Development Kit (SDK) languages](../../README.md#how-this-repository-is-organized).
This code must be tested to ensure its accuracy and functionality over time.
However, while this repository contains comprehensive test coverage, each test must be manually triggered and can take many hours to complete.

Expand All @@ -19,9 +19,9 @@ In addition to the source code in this repository, this solution consists of the

| Stack | Function | Purpose |
|------------------------------------------------------|-------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Public Images](./public_ecr_repositories) | Holds versions of language-specialized Docker images. | Event-based production of ready-to-run Docker images for each [supported SDK](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html). |
| [Producer](./eventbridge_rule_with_sns_fanout) | Publishes a scheduled message to an Amazon Simple Notification Service (Amazon SNS) topic. | Centralized cron-based triggering of integration tests. |
| [Consumer](./sqs_lambda_to_batch_fargate) | Consumes a message to trigger integration tests on AWS Batch with AWS Fargate. | Federated integration testing of example code for each [supported SDK](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html). |
| [Public Images](public_ecr_repositories) | Holds versions of language-specialized Docker images. | Event-based production of ready-to-run Docker images for each [supported SDK](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html). |
| [Producer](eventbridge_rule_with_sns_fanout) | Publishes a scheduled message to an Amazon Simple Notification Service (Amazon SNS) topic. | Centralized cron-based triggering of integration tests. |
| [Consumer](sqs_lambda_to_batch_fargate) | Consumes a message to trigger integration tests on AWS Batch with AWS Fargate. | Federated integration testing of example code for each [supported SDK](https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html). |

The following diagram shows the behavior of this GitHub repository and the preceding stacks:

Expand All @@ -36,22 +36,22 @@ Under the hood, it relies on the source code in this repository and the followin
### 1. Image production
Image repositories are managed from an AWS account in which the [Public images stack]() is deployed.

Through a secure integration, a GitHub Workflow [configured in this repository](../.github/workflows/docker-push.yml) produces Docker images containing pre-built SDK code and publishes them to the [AWS SDK Code Examples Images](https://gallery.ecr.aws/b4v4v1s0) public registry.
Through a secure integration, a GitHub Workflow [configured in this repository](../../.github/workflows/docker-push.yml) produces Docker images containing pre-built SDK code and publishes them to the [AWS SDK Code Examples Images](https://gallery.ecr.aws/b4v4v1s0) public registry.

See [CDK stack](./public_ecr_repositories).
See [CDK stack](public_ecr_repositories).

### 2. Centralized eventing
Events are emitted from an AWS account in which the [Producer Stack](./eventbridge_rule_with_sns_fanout) is deployed.
Events are emitted from an AWS account in which the [Producer Stack](eventbridge_rule_with_sns_fanout) is deployed.

This stack contains a cron-based Amazon EventBridge rule that writes to a singular SNS topic.
Through a cross-account integration, Amazon Simple Queue Service (Amazon SQS) queues in different AWS accounts can subscribe to this topic.

See [CDK stack](./eventbridge_rule_with_sns_fanout).
See [CDK stack](eventbridge_rule_with_sns_fanout).

### 3. Distributed testing
Testing is performed in AWS accounts in which the [Consumer Stack](./sqs_lambda_to_batch_fargate) is deployed.
Testing is performed in AWS accounts in which the [Consumer Stack](sqs_lambda_to_batch_fargate) is deployed.

This stack contains an AWS Lambda function that submits jobs to AWS Batch.
Through a secure integration, this Lambda function is triggered by an SQS queue that's subscribed to a cross-account topic.

See [CDK stack](./sqs_lambda_to_batch_fargate).
See [CDK stack](sqs_lambda_to_batch_fargate).
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
import os

import aws_cdk as cdk
from public_ecr_repositories_stack.public_ecr_repositories_stack import \
PublicEcrRepositoriesStack
from public_ecr_repositories_stack.public_ecr_repositories_stack import (
PublicEcrRepositoriesStack,
)

app = cdk.App()
PublicEcrRepositoriesStack(
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import yaml
from aws_cdk import Stack
from aws_cdk import aws_ecr as ecr
from constructs import Construct
import yaml


class PublicEcrRepositoriesStack(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 5c2fcf4

Please sign in to comment.