Skip to content
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
41 changes: 41 additions & 0 deletions .github/workflows/mkdocs-material-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: deploy-mkdocs
on:
push:
branches:
- main
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install dependencies
run: pip install -r requirements.txt
- name: Build MkDocs site
run: mkdocs build
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './site'

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -417,4 +417,5 @@ FodyWeavers.xsd
*.msm
*.msp

.idea
.idea
/site
41 changes: 0 additions & 41 deletions docs/_config.yml

This file was deleted.

2 changes: 1 addition & 1 deletion docs/assets/css/style.scss
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
---

@import "minima";
@import "{{ site.theme }}";

Copilot AI Jul 10, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a Liquid template tag ({{ site.theme }}) inside an SCSS file will not be processed by the MkDocs SASS compiler. You should import the actual theme SCSS file path (e.g., @import "material";) or adjust your build to preprocess Liquid before SASS.

Suggested change
@import "{{ site.theme }}";
@import "material";

Copilot uses AI. Check for mistakes.

/* Custom styles for LayeredCraft CDK Constructs documentation */

Expand Down
File renamed without changes
26 changes: 10 additions & 16 deletions docs/constructs/dynamodb-table.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
---
layout: default
title: DynamoDB Table Construct
permalink: /constructs/dynamodb-table/
---

# DynamoDB Table Construct

The `DynamoDbTableConstruct` provides a comprehensive, production-ready DynamoDB table with support for global secondary indexes, streams, TTL, and Lambda integration.

## Features
## :bar_chart: Features

- **Flexible Key Schema**: Support for partition keys, sort keys, and composite keys
- **Global Secondary Indexes**: Multiple GSIs with custom key schemas
- **DynamoDB Streams**: Real-time data processing with Lambda integration
- **TTL Support**: Automatic data expiration
- **CloudFormation Outputs**: Automatic exports for table ARN, name, and stream ARN
- **Lambda Integration**: Built-in method for attaching Lambda functions to streams
- **Billing Modes**: Support for both PAY_PER_REQUEST and PROVISIONED billing
- **:key: Flexible Key Schema**: Support for partition keys, sort keys, and composite keys
- **:index_pointing_at_the_viewer: Global Secondary Indexes**: Multiple GSIs with custom key schemas
- **:ocean: DynamoDB Streams**: Real-time data processing with Lambda integration
- **:hourglass: TTL Support**: Automatic data expiration
- **:outbox_tray: CloudFormation Outputs**: Automatic exports for table ARN, name, and stream ARN
- **:zap: Lambda Integration**: Built-in method for attaching Lambda functions to streams
- **:credit_card: Billing Modes**: Support for both PAY_PER_REQUEST and PROVISIONED billing

## Basic Usage

Expand Down Expand Up @@ -274,8 +268,8 @@ var eventTable = new DynamoDbTableConstruct(this, "EventTable", new DynamoDbTabl

## Testing

See the [Testing Guide](../testing/) for comprehensive testing utilities and patterns specific to the DynamoDB Table construct.
See the [Testing Guide](../testing/index.md) for comprehensive testing utilities and patterns specific to the DynamoDB Table construct.

## Examples

For more real-world examples, see the [Examples](../examples/) section.
For more real-world examples, see the [Examples](../examples/index.md) section.
39 changes: 17 additions & 22 deletions docs/constructs/lambda-function.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
---
layout: default
title: Lambda Function Construct
permalink: /constructs/lambda-function/
---

# Lambda Function Construct

The `LambdaFunctionConstruct` provides a comprehensive, production-ready Lambda function with integrated OpenTelemetry support, IAM management, and environment configuration.

## Features
## :rocket: Features

- **OpenTelemetry Integration**: Built-in AWS OpenTelemetry collector layer
- **IAM Management**: Automatic role and policy creation with CloudWatch Logs permissions
- **Environment Configuration**: Easy environment variable management
- **Function URLs**: Optional HTTP endpoint generation
- **SnapStart Support**: Improved cold start performance for Java runtimes
- **Versioning & Aliases**: Automatic version management with "live" alias
- **Lambda Permissions**: Multi-target permission management (function, version, alias)
- **:chart_with_upwards_trend: OpenTelemetry Integration**: Built-in AWS OpenTelemetry collector layer
- **:shield: IAM Management**: Automatic role and policy creation with CloudWatch Logs permissions
- **:gear: Environment Configuration**: Easy environment variable management
- **:link: Function URLs**: Optional HTTP endpoint generation
- **:rocket: SnapStart Support**: Improved cold start performance for Java runtimes
- **:label: Versioning & Aliases**: Automatic version management with "live" alias
- **:key: Lambda Permissions**: Multi-target permission management (function, version, alias)

## Basic Usage

Expand Down Expand Up @@ -174,15 +168,16 @@ var lambda = new LambdaFunctionConstruct(this, "MyLambda", new LambdaFunctionCon
var domain = lambda.LiveAliasFunctionUrlDomain; // Returns the domain string
```

## Runtime Configuration
## :computer: Runtime Configuration

The Lambda functions use the following runtime configuration:

- **Runtime**: `PROVIDED_AL2023` (Amazon Linux 2023)
- **Handler**: `bootstrap` (for custom runtimes)
- **Architecture**: x86_64
- **Log Retention**: 2 weeks
- **OpenTelemetry Layer**: AWS managed layer (us-east-1 region)
!!! info "Runtime Details"
- **Runtime**: `PROVIDED_AL2023` (Amazon Linux 2023)
- **Handler**: `bootstrap` (for custom runtimes)
- **Architecture**: x86_64
- **Log Retention**: 2 weeks
- **OpenTelemetry Layer**: AWS managed layer (us-east-1 region)

## IAM Permissions

Expand All @@ -206,8 +201,8 @@ The construct automatically creates:

## Testing

See the [Testing Guide](../testing/) for comprehensive testing utilities and patterns specific to the Lambda Function construct.
See the [Testing Guide](../testing/index.md) for comprehensive testing utilities and patterns specific to the Lambda Function construct.

## Examples

For more real-world examples, see the [Examples](../examples/) section.
For more real-world examples, see the [Examples](../examples/index.md) section.
26 changes: 10 additions & 16 deletions docs/constructs/static-site.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
---
layout: default
title: Static Site Construct
permalink: /constructs/static-site/
---

# Static Site Construct

The `StaticSiteConstruct` provides complete static website hosting with S3, CloudFront CDN, SSL certificates, Route53 DNS management, and optional API proxying.

## Features
## :globe_with_meridians: Features

- **S3 Website Hosting**: Optimized S3 bucket configuration for static websites
- **CloudFront CDN**: Global content delivery with custom error pages
- **SSL Certificates**: Automatic SSL certificate provisioning and management
- **Route53 DNS**: DNS record management for primary and alternate domains
- **API Proxy Support**: Optional CloudFront behavior for `/api/*` paths
- **Asset Deployment**: Automatic deployment with cache invalidation
- **Custom Error Pages**: 404 and 403 error page handling
- **:file_cabinet: S3 Website Hosting**: Optimized S3 bucket configuration for static websites
- **:zap: CloudFront CDN**: Global content delivery with custom error pages
- **:lock: SSL Certificates**: Automatic SSL certificate provisioning and management
- **:globe_with_meridians: Route53 DNS**: DNS record management for primary and alternate domains
- **:arrows_counterclockwise: API Proxy Support**: Optional CloudFront behavior for `/api/*` paths
- **:package: Asset Deployment**: Automatic deployment with cache invalidation
- **:warning: Custom Error Pages**: 404 and 403 error page handling

## Basic Usage

Expand Down Expand Up @@ -211,8 +205,8 @@ var docs = new StaticSiteConstruct(this, "Docs", new StaticSiteConstructProps

## Testing

See the [Testing Guide](../testing/) for comprehensive testing utilities and patterns specific to the Static Site construct.
See the [Testing Guide](../testing/index.md) for comprehensive testing utilities and patterns specific to the Static Site construct.

## Examples

For more real-world examples, see the [Examples](../examples/) section.
For more real-world examples, see the [Examples](../examples/index.md) section.
20 changes: 12 additions & 8 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ layout: default
title: LayeredCraft CDK Constructs
---

# LayeredCraft CDK Constructs

[![Build Status](https://github.com/LayeredCraft/cdk-constructs/actions/workflows/build.yaml/badge.svg)](https://github.com/LayeredCraft/cdk-constructs/actions/workflows/build.yaml)
[![NuGet](https://img.shields.io/nuget/v/LayeredCraft.Cdk.Constructs.svg)](https://www.nuget.org/packages/LayeredCraft.Cdk.Constructs/)
[![Downloads](https://img.shields.io/nuget/dt/LayeredCraft.Cdk.Constructs.svg)](https://www.nuget.org/packages/LayeredCraft.Cdk.Constructs/)
Expand Down Expand Up @@ -61,34 +59,40 @@ public class MyStack : Stack

## Available Constructs

### [Lambda Function Construct](constructs/lambda-function)
### [Lambda Function Construct](constructs/lambda-function.md)

Full-featured Lambda functions with:

- OpenTelemetry integration
- IAM roles and policies
- Environment variables
- Function URLs
- SnapStart support
- Versioning and aliases

### [Static Site Construct](constructs/static-site)
### [Static Site Construct](constructs/static-site.md)

Complete static website hosting with:

- S3 website hosting
- CloudFront CDN
- SSL certificates
- Route53 DNS
- API proxy support

### [DynamoDB Table Construct](constructs/dynamodb-table)
### [DynamoDB Table Construct](constructs/dynamodb-table.md)

Production-ready DynamoDB tables with:

- Global secondary indexes
- DynamoDB streams
- TTL configuration
- Lambda stream integration

## Documentation

- **[Testing Guide](testing/)** - Comprehensive testing utilities and patterns
- **[Examples](examples/)** - Real-world usage examples and patterns
- **[Testing Guide](testing/index.md)** - Comprehensive testing utilities and patterns
- **[Examples](examples/index.md)** - Real-world usage examples and patterns

## Requirements

Expand All @@ -103,4 +107,4 @@ See the main [README](https://github.com/LayeredCraft/cdk-constructs#contributin

## License

This project is licensed under the [MIT License](https://github.com/LayeredCraft/cdk-constructs/blob/main/LICENSE).
This project is licensed under the [MIT License](https://github.com/LayeredCraft/cdk-constructs/blob/main/LICENSE).
Loading