Skip to content

Commit

Permalink
update readmes
Browse files Browse the repository at this point in the history
  • Loading branch information
joshbalfour committed Oct 24, 2023
1 parent 24a324f commit ab57d2a
Show file tree
Hide file tree
Showing 9 changed files with 159 additions and 53 deletions.
59 changes: 59 additions & 0 deletions packages/constructs/cross-region-stack-export/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# @reapit-cdk/cross-region-stack-export


![npm version](https://img.shields.io/npm/v/@reapit-cdk/cross-region-stack-export)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/cross-region-stack-export)
![coverage: 74.02%25](https://img.shields.io/badge/coverage-74.02%25-orange)
![Integ Tests: X](https://img.shields.io/badge/Integ%20Tests-X-red)

Allows you to share values between stack across regions and accounts.

## Package Installation:

```sh
yarn add --dev @reapit-cdk/cross-region-stack-export
# or
npm install @reapit-cdk/cross-region-stack-export --save-dev
```

## Usage
```ts
import { CfnOutput, Stack, App } from 'aws-cdk-lib'
import { CrossRegionStackExport } from '@reapit-cdk/cross-region-stack-export'
import { Bucket } from 'aws-cdk-lib/aws-s3'

const app = new App()
const euStack = new Stack(app, 'stack-eu', {
env: {
account: '11111111',
region: 'eu-west-1',
},
})

const exporter = new CrossRegionStackExport(euStack, 'exporter')
exporter.setValue('thing', 'avalue')

const bucket = new Bucket(euStack, 'bucket')
exporter.setValue('bucketArn', bucket.bucketArn)

const usStack = new Stack(app, 'stack-us', {
env: {
account: '2222222222',
region: 'us-east-1',
},
})

const importer = exporter.getImporter(usStack, 'eu-importer')

const euThing = importer.getValue('thing')
const euBucket = Bucket.fromBucketArn(usStack, 'eu-bucket', importer.getValue('bucketArn'))

new CfnOutput(usStack, 'euThing', {
value: euThing,
})

new CfnOutput(usStack, 'euBucketName', {
value: euBucket.bucketName,
})

```
68 changes: 55 additions & 13 deletions packages/constructs/edge-api-swagger/readme.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,73 @@
# @reapit-cdk/active-ruleset
# @reapit-cdk/edge-api-swagger


![npm version](https://img.shields.io/npm/v/@reapit-cdk/active-ruleset)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/active-ruleset)
![coverage: 99.02%25](https://img.shields.io/badge/coverage-99.02%25-green)
![Integ Tests: ](https://img.shields.io/badge/Integ%20Tests-%E2%9C%94-green)
![npm version](https://img.shields.io/npm/v/@reapit-cdk/edge-api-swagger)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/edge-api-swagger)
![coverage: 0%25](https://img.shields.io/badge/coverage-0%25-red)
![Integ Tests: X](https://img.shields.io/badge/Integ%20Tests-X-red)

This construct returns the currently active SES receipt RuleSet, or creates one. This enables you to add rules to it.
Add a swagger endpoint to your EdgeAPI

## Package Installation:

```sh
yarn add --dev @reapit-cdk/active-ruleset
yarn add --dev @reapit-cdk/edge-api-swagger
# or
npm install @reapit-cdk/active-ruleset --save-dev
npm install @reapit-cdk/edge-api-swagger --save-dev
```

## Usage
```ts
import { CfnOutput, Stack, App } from 'aws-cdk-lib'
import { ActiveRuleset } from '@reapit-cdk/active-ruleset'
import { Stack, App } from 'aws-cdk-lib'
import { EdgeAPI, EdgeAPILambda } from '@reapit-cdk/edge-api'
import { Code, Runtime } from 'aws-cdk-lib/aws-lambda'
import { EdgeAPISwaggerEndpoint } from '@reapit-cdk/edge-api-swagger'
import { Certificate } from 'aws-cdk-lib/aws-certificatemanager'
import * as path from 'path'

const app = new App()
const stack = new Stack(app, 'stack-name')
const activeRuleset = new ActiveRuleset(stack, 'active-ruleset')
new CfnOutput(stack, 'activeRulesetName', {
value: activeRuleset.receiptRuleSet.receiptRuleSetName,

const certificate = new Certificate(stack, 'certificate', {
domainName: 'example.org',
})
const api = new EdgeAPI(stack, 'api', {
certificate,
domains: ['example.org', 'example.com'],
devMode: false,
defaultEndpoint: {
destination: 'example.com',
},
})

const lambda = new EdgeAPILambda(stack, 'lambda', {
code: Code.fromAsset(path.resolve('../lambda/dist')),
codePath: path.resolve('../lambda/src/index.ts'), // gets added to the docs
handler: 'index.handler',
runtime: Runtime.NODEJS_18_X,
environment: {
aVariable: 'contents',
},
})

api.addEndpoint({
pathPattern: '/api/lambda',
lambda,
})

api.addEndpoint(
new EdgeAPISwaggerEndpoint(stack, 'docs', {
api,
url: 'https://example.org',

pathPattern: '/swagger', // optional, defaults to /swagger

// optional
info: {
title: '', // defaults to Edge API
version: '', // defaults to 1.0.0
},
}),
)

```
3 changes: 0 additions & 3 deletions packages/constructs/edge-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@
"constructs": "^10.2.70"
},
"devDependencies": {
"@aws-sdk/client-dynamodb": "3.414.0",
"@aws-sdk/client-secrets-manager": "3.414.0",
"@aws-sdk/lib-dynamodb": "3.414.0",
"@reapit-cdk/cloudfront-invalidation": "workspace:^",
"@reapit-cdk/eslint-config": "workspace:^",
"@reapit-cdk/integration-tests": "workspace:^",
Expand Down
2 changes: 1 addition & 1 deletion packages/constructs/edge-api/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

![npm version](https://img.shields.io/npm/v/@reapit-cdk/edge-api)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/edge-api)
![coverage: 97.85%25](https://img.shields.io/badge/coverage-97.85%25-green)
![coverage: 96.97%25](https://img.shields.io/badge/coverage-96.97%25-green)
![Integ Tests: ✔](https://img.shields.io/badge/Integ%20Tests-%E2%9C%94-green)

This construct creates a truly globally available API where code executes at the edge. Because changes take a long time to propagate to all edge locations, there is a `devMode` flag which will instead deploy your API to a [HTTP API](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html). This is compatible with hotswapping, so [`cdk watch`](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-deploy-watch) works very well. In order to make it easy to develop APIs which handle both event formats and work around the environment variable limitation, I recommend you use the lightweight request wrapper [@reapit-cdk/edge-api-sdk](../../modules/edge-api-sdk) which normalises the event format and offers some extra helpers.
Expand Down
2 changes: 1 addition & 1 deletion packages/constructs/replicated-secret/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

![npm version](https://img.shields.io/npm/v/@reapit-cdk/replicated-secret)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/replicated-secret)
![coverage: 97.17%25](https://img.shields.io/badge/coverage-97.17%25-green)
![coverage: 97.06%25](https://img.shields.io/badge/coverage-97.06%25-green)
![Integ Tests: ✔](https://img.shields.io/badge/Integ%20Tests-%E2%9C%94-green)

Creates a Secret and replicates it across the given regions. Requires a [ReplicatedKey](../replicated-key/readme.md) be passed in.
Expand Down
2 changes: 1 addition & 1 deletion packages/modules/edge-api-sdk/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

![npm version](https://img.shields.io/npm/v/@reapit-cdk/edge-api-sdk)
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/edge-api-sdk)
![coverage: 96.44%25](https://img.shields.io/badge/coverage-96.44%25-green)
![coverage: 96.68%25](https://img.shields.io/badge/coverage-96.68%25-green)

Provides convenience wrappers for accepting and responding to [@reapit-cdk/edge-api]('../../constructs/edge-api/readme.md') lambda requests.

Expand Down
2 changes: 2 additions & 0 deletions packages/modules/email-receiver-types/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
![npm downloads](https://img.shields.io/npm/dm/@reapit-cdk/email-receiver-types)
![coverage: 0%25](https://img.shields.io/badge/coverage-0%25-red)

Types for @reapit-cdk/email-receiver and client.

## Package Installation:

```sh
Expand Down
Loading

0 comments on commit ab57d2a

Please sign in to comment.