Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Weathertop to tools directory #5552

Merged
merged 2 commits into from
Oct 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
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
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