appmod-catalog-blueprints 1.1.0__py3-none-any.whl → 1.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,226 +1,159 @@
1
1
  r'''
2
- # AppMod Use Case Blueprints
2
+ ---
3
3
 
4
- Serverless infrastructure components for modern application development. This catalog provides composable building blocks organized by business use cases, enabling rapid deployment of secure, scalable solutions.
5
4
 
6
- ## Quick Start
5
+ ## title: Introduction
7
6
 
8
- **Deploy a working example in 5 minutes:**
7
+ # AppMod Catalog Blueprints
9
8
 
10
- Clone the repository, build the project, then navigate to any example directory and deploy using CDK with your AWS profile and region.
9
+ Application Modernization (AppMod) Catalog Blueprints is a comprehensive library of production-ready, use case-driven infrastructure blueprints in the form of composable multi-layered building blocks built using [AWS Cloud Development Kit](https://aws.amazon.com/cdk/) (CDK) [L3 constructs](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html). These blueprints offer use case-driven solutions with multiple implementation pathways and industry-specific implementations that are designed to accelerate serverless development and modernization on AWS.
11
10
 
12
- ## Core Use Cases
13
-
14
- ### 1. 📄 Document Processing
15
-
16
- Serverless document processing pipeline with AI-powered classification, extraction, and workflow orchestration.
17
-
18
- **Architecture:**
19
-
20
- ```
21
- S3 Upload → SQS → Step Functions → Bedrock Models → DynamoDB
22
- ↓ ↓ ↓ ↓ ↓
23
- [Storage] [Buffer] [Workflow] [AI Processing] [Results]
24
- ```
25
-
26
- **Key Features:**
27
-
28
- * **Event-Driven Pipeline**: S3 upload triggers SQS → Step Functions workflow
29
- * **AI-Powered Processing**: Amazon Bedrock for document classification and extraction
30
- * **Multi-format Support**: PDF, JPG, PNG document processing
31
- * **Flexible Workflows**: Base construct with extensible processing steps
32
- * **State Management**: DynamoDB for workflow state and document metadata
33
- * **Error Handling**: Dead letter queues and retry mechanisms with observability
34
-
35
- **Available Constructs:**
36
-
37
- **BaseDocumentProcessing** - Foundation construct providing:
38
-
39
- * S3 bucket with organized prefixes (raw/, processed/, failed/)
40
- * SQS queue with configurable visibility timeout and DLQ
41
- * DynamoDB table for document metadata and workflow state
42
- * Step Functions workflow with customizable processing steps
43
- * Built-in observability and monitoring
44
-
45
- **BedrockDocumentProcessing** - AI-powered document analysis:
46
-
47
- * Document classification using Claude 3.5 Sonnet
48
- * Entity extraction and content analysis
49
- * Configurable prompts for classification and extraction
50
- * Optional enrichment Lambda function integration
51
- * Automatic workflow state management
52
-
53
- **AgenticDocumentProcessing** - Multi-agent document workflows:
11
+ Built with [JSII](https://aws.github.io/jsii/), these constructs are available in TypeScript, Python, Java, and .NET, enabling teams to use their preferred programming language while leveraging the same proven infrastructure patterns.
54
12
 
55
- * Advanced multi-step processing with agent coordination
56
- * Complex document understanding and analysis
57
- * Configurable agent behaviors and processing flows
13
+ Get started by exploring the [use case constructs](use-cases) and deployable [examples](examples). Learn more from [documentation](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/) and [Construct Hub](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints).
58
14
 
59
- ### 2. 🌐 Frontend Web Applications
60
-
61
- Static web application hosting with CloudFront distribution and security best practices.
15
+ ## Core Use Cases
62
16
 
63
- **Architecture:**
17
+ | Use Case | Description | Quick Deploy Examples |
18
+ |----------|-------------|----------------------|
19
+ | **[Document Processing](./use-cases/document-processing/)** | AI-powered document processing workflows with classification, extraction, and agentic capabilities | • [Bedrock Document Processing](./examples/document-processing/bedrock-document-processing/)<br/>• [Agentic Document Processing](./examples/document-processing/agentic-document-processing/)<br/>• [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
20
+ | **[Web Application](./use-cases/webapp/)** | Static web application hosting with global CDN, security headers, and SPA support | • [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
64
21
 
65
- ```
66
- CloudFront → S3 Static Website → Security Headers
67
- ↓ ↓ ↓
68
- [Global CDN] [Static Assets] [Security Functions]
69
- ```
22
+ ## Foundation and Utilities
70
23
 
71
- **Key Features:**
24
+ | Component | Description |
25
+ |-----------|-------------|
26
+ | **[Observability & Monitoring](./use-cases/utilities/observability/)** | Comprehensive monitoring, logging, and alerting with automatic property injection and Lambda Powertools integration |
27
+ | **[Data Masking](./use-cases/utilities/lambda_layers/data-masking/)** | Lambda layer for data masking and PII protection in serverless applications |
28
+ | **[Infrastructure Foundation](./use-cases/framework/)** | Core infrastructure components and utilities for building scalable applications |
72
29
 
73
- * **Global Distribution**: CloudFront CDN for low-latency content delivery
74
- * **Security Headers**: Automatic injection of security headers via CloudFront functions
75
- * **SSL/TLS**: Automatic HTTPS with AWS Certificate Manager
76
- * **Custom Domains**: Support for custom domain names with Route 53 integration
77
- * **Error Pages**: Custom 404/403 error page handling
78
- * **Access Logging**: CloudFront access logs for analytics
30
+ ## Key Design Principles
79
31
 
80
- **Available Constructs:**
32
+ AppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:
81
33
 
82
- **FrontendConstruct** - Complete static website hosting:
34
+ ### Composable Architecture
83
35
 
84
- * S3 bucket configured for static website hosting
85
- * CloudFront distribution with optimized caching
86
- * Security headers function for OWASP compliance
87
- * Optional custom domain and SSL certificate
88
- * Access logging and monitoring integration
36
+ Build complex enterprise systems by combining independent, reusable components with standardized interfaces.
89
37
 
90
- ### 3. 📊 Observability & Monitoring
38
+ * **Independent components** with clear interfaces and loose coupling for maximum flexibility
39
+ * **Mix and match building blocks** to create custom solutions across different contexts and use cases
40
+ * **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization
91
41
 
92
- Comprehensive monitoring, logging, and alerting for AWS infrastructure with automatic property injection and Lambda Powertools integration.
42
+ ### Multi-Layered Building Blocks Architecture
93
43
 
94
- **Features:**
44
+ Our blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:
95
45
 
96
- * **Property Injection**: Automatic observability configuration across AWS services
97
- * **Lambda Powertools**: Structured logging, metrics, and tracing for Python/Node.js
98
- * **CloudWatch Integration**: Dashboards, alarms, and custom metrics
99
- * **X-Ray Tracing**: End-to-end request flow visualization
100
- * **Bedrock Monitoring**: Specialized observability for Amazon Bedrock workloads
101
- * **Cost Optimization**: Intelligent log retention and metric filtering
46
+ | Layer | Implementation Type | Purpose | Key Features |
47
+ |-------|-------------------|---------|--------------|
48
+ | **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |
49
+ | **General Use Case Implementation** | Concrete implementation classes | Production-ready implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |
50
+ | **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |
102
51
 
103
- **Available Components:**
52
+ ### Production-Ready with Smart Defaults
104
53
 
105
- **Property Injectors:**
54
+ AppMod Catalog Blueprints serves both **rapid deployment** needs (for teams wanting immediate solutions) and **custom development** requirements (for teams needing tailored implementations), providing flexibility without compromising on production readiness.
106
55
 
107
- * `LambdaObservabilityPropertyInjector` - Auto-enables X-Ray tracing for Lambda functions
108
- * `StateMachineObservabilityPropertyInjector` - Enables logging for Step Functions
109
- * `CloudfrontDistributionObservabilityPropertyInjector` - CDN monitoring and logging
56
+ | Approach | Best For | Capabilities |
57
+ |----------|----------|--------------|
58
+ | **Out-of-the-Box Deployment** | Rapid deployment and evaluation | • Deploy complete solutions in minutes using examples for immediate value<br/>• Pre-configured security, monitoring, and best practices for production readiness<br/>• Sensible defaults with production-ready configurations that work immediately<br/>• No infrastructure boilerplate required with minimal learning curve |
59
+ | **Intelligent Customization** | Custom development and integration | • Override defaults to modify behavior without changing core implementation<br/>• Enable/disable optional features to meet specific requirements<br/>• Inject custom logic at predefined extension points while maintaining production readiness<br/>• Configure parameters for different environments and use cases |
110
60
 
111
- **Observability Constructs:**
61
+ ### Security & Compliance
112
62
 
113
- * `BedrockObservability` - Comprehensive monitoring for Bedrock workloads with log groups, encryption, and data protection
114
- * `PowertoolsConfig` - Lambda Powertools configuration for structured logging and metrics
115
- * `Observable` interface - Standardized observability contract for constructs
63
+ All components include enterprise-grade security by default:
116
64
 
117
- **Data Protection:**
118
-
119
- * `LogGroupDataProtectionProps` - Configurable data protection policies for CloudWatch logs
65
+ * **CDK Nag Integration**: Automated security compliance checking
66
+ * **AWS Well-Architected**: Security, reliability, and performance best practices
67
+ * **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access
68
+ * **Compliance Reports**: Generate reports with `npm test -- --testPathPattern="nag.test.ts"`
120
69
 
121
- ### 4. 🏗️ Foundation & Framework
70
+ ## Essential Commands
122
71
 
123
- Core infrastructure components and utilities for building scalable applications.
72
+ ### Environment Setup
124
73
 
125
- **Available Components:**
74
+ ```bash
75
+ # Clone the repository
76
+ git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
126
77
 
127
- **Network Foundation:**
78
+ # Configure AWS credentials and region
79
+ aws configure
80
+ # OR set AWS profile: export AWS_PROFILE=your-profile-name
128
81
 
129
- * `Network` - VPC with public/private subnets, NAT gateways, and security groups
130
- * `AccessLog` - Centralized access logging configuration for AWS services
131
- * `EventBridgeBroker` - Event-driven architecture with custom EventBridge bus
82
+ # Bootstrap your AWS environment (one-time setup)
83
+ npx cdk bootstrap
84
+ ```
132
85
 
133
- **Utilities:**
86
+ ### Quick Start
134
87
 
135
- * `DataLoader` - Custom resource for loading initial data into databases and services
136
- * `LambdaIamUtils` - Utility functions for Lambda IAM role and policy management
137
- * `DefaultRuntimes` - Standardized Lambda runtime configurations
88
+ Deploy a working example in **5 minutes**:
138
89
 
139
- **Lambda Layers:**
90
+ ```bash
91
+ # Navigate to any example and deploy
92
+ cd examples/document-processing/agentic-document-processing
93
+ npm install
94
+ npm run deploy
95
+ ```
140
96
 
141
- * `DataMasking` - Layer for data masking and PII protection in Lambda functions
97
+ ### Build & Deploy Project
142
98
 
143
- ## Essential Commands
99
+ ```bash
100
+ # Build entire project
101
+ npx projen build
144
102
 
145
- **Build & Deploy:**
103
+ # Deploy with specific profile/region
104
+ npx cdk deploy --require-approval never
146
105
 
147
- Build entire project with npx projen build. Deploy with specific profile/region using npx cdk deploy --require-approval never. Update CDK CLI if needed with npm install aws-cdk@latest.
106
+ # Update CDK CLI if needed
107
+ npm install aws-cdk@latest
108
+ ```
148
109
 
149
- **Development:**
110
+ ### Development
150
111
 
151
- Run tests with npm test. Run specific test pattern with npm test -- --testPathPattern="document-processing". Generate CDK Nag compliance reports with npm test -- --testPathPattern="nag.test.ts".
112
+ ```bash
113
+ # Run all tests
114
+ npm test
152
115
 
153
- ## Repository Structure
116
+ # Run specific test pattern
117
+ npm test -- --testPathPattern="document-processing"
154
118
 
155
- ```
156
- appmod-usecase-blueprints/
157
- ├── use-cases/
158
- │ ├── document-processing/ # Document processing components
159
- │ │ ├── base-document-processing.ts
160
- │ │ ├── bedrock-document-processing.ts
161
- │ │ ├── agentic-document-processing.ts
162
- │ │ ├── resources/ # Lambda functions
163
- │ │ └── tests/ # Unit and CDK Nag tests
164
- │ ├── webapp/ # Web application components
165
- │ │ ├── frontend-construct.ts
166
- │ │ └── tests/ # Unit and CDK Nag tests
167
- │ ├── framework/ # Core infrastructure
168
- │ │ ├── foundation/ # Network, access logs, EventBridge
169
- │ │ ├── quickstart/ # Base quickstart patterns
170
- │ │ └── custom-resource/ # Default runtimes
171
- │ └── utilities/
172
- │ ├── observability/ # Monitoring components
173
- │ ├── lambda_layers/ # Shared Lambda layers
174
- │ ├── data-loader.ts # Custom resource for data loading
175
- │ └── lambda-iam-utils.ts # IAM utilities
176
- ├── examples/ # Ready-to-deploy examples
177
- │ └── document-processing/
178
- │ ├── bedrock-document-processing/
179
- │ ├── agentic-document-processing/
180
- │ └── doc-processing-fullstack-webapp/
181
- └── README.md
119
+ # Generate CDK Nag compliance reports
120
+ npm test -- --testPathPattern="nag.test.ts"
182
121
  ```
183
122
 
184
- ## Security & Compliance
123
+ ## How to Use This Library
185
124
 
186
- All components include:
125
+ ### Quick Start (Deploy Examples)
187
126
 
188
- * **CDK Nag Integration**: Automated security compliance checking
189
- * **AWS Well-Architected**: Following best practices for security, reliability, performance
190
- * **Encryption**: At-rest and in-transit encryption by default
191
- * **IAM Least Privilege**: Minimal required permissions
192
- * **VPC Isolation**: Private subnets and security groups
127
+ 1. **Browse Examples**: Start with the [examples](./examples/) folder to see working implementations
128
+ 2. **Deploy & Test**: Use `npm run deploy` in any example to get a working system in minutes
129
+ 3. **Customize**: Modify example parameters to fit your specific requirements
130
+
131
+ ### Using Individual Constructs
193
132
 
194
- **Generate Compliance Reports:**
133
+ 1. **Import Constructs**: Add `@cdklabs/appmod-catalog-blueprints` to your CDK project
134
+ 2. **Choose Your Layer**: Pick the right abstraction level for your needs
135
+ 3. **Configure**: Use the configuration options documented in each construct
195
136
 
196
- Run npm test with testPathPattern="nag.test.ts" to generate reports in cdk.out/*-NagReport.csv
137
+ ### Understanding the Layers
197
138
 
198
- ## Examples
139
+ **Foundation Layer** (`use-cases/framework/`, `use-cases/utilities/`)
199
140
 
200
- ### Document Processing
141
+ * **When to use**: Building custom solutions or need specific infrastructure components
142
+ * **Components**: VPC networking, observability utilities, data management tools, etc.
201
143
 
202
- * **Bedrock Document Processing**: AI-powered document analysis with Claude 3.5 Sonnet
203
- * **Agentic Document Processing**: Multi-agent document workflows with complex processing
204
- * **Full-Stack Document Processing Webapp**: Complete document processing application with frontend interface
144
+ **Use Case Layer** (`use-cases/document-processing/`, `use-cases/webapp/`)
205
145
 
206
- Each example includes deployment scripts, sample files, and comprehensive documentation.
146
+ * **When to use**: Need proven patterns for common business problems
147
+ * **Components**: Document processing workflows, web application hosting, data transformation patterns, etc.
207
148
 
208
- ## Key AWS Services
149
+ **Example Layer** (`examples/`)
209
150
 
210
- * **Compute**: Lambda, ECS Fargate, Step Functions
211
- * **Storage**: S3, DynamoDB
212
- * **Database**: RDS (MySQL/PostgreSQL)
213
- * **Networking**: VPC, CloudFront, Application Load Balancer
214
- * **AI/ML**: Amazon Bedrock, Textract
215
- * **Monitoring**: CloudWatch, X-Ray
216
- * **Security**: KMS, Secrets Manager, IAM
151
+ * **When to use**: Want complete, deployable solutions
152
+ * **Components**: Industry-specific configurations, end-to-end applications, reference implementations, etc.
217
153
 
218
154
  ## Contributing
219
155
 
220
- 1. **Add New Use Case**: Create directory under `use-cases/`
221
- 2. **Follow Structure**: Include constructs, tests, and documentation
222
- 3. **Security First**: All components must pass CDK Nag checks
223
- 4. **Include Monitoring**: Include monitoring, error handling, and cost optimization
156
+ See [CONTRIBUTING.md](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.
224
157
 
225
158
  ## Disclaimer
226
159
 
@@ -228,7 +161,7 @@ These application solutions are not supported products in their own right, but e
228
161
 
229
162
  ## License
230
163
 
231
- Apache License 2.0 - see [LICENSE](./LICENSE) file for details.
164
+ Apache License 2.0 - see [LICENSE](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/LICENSE) file for details.
232
165
  '''
233
166
  from pkgutil import extend_path
234
167
  __path__ = extend_path(__path__, __name__)
@@ -34,9 +34,9 @@ import constructs._jsii
34
34
 
35
35
  __jsii_assembly__ = jsii.JSIIAssembly.load(
36
36
  "@cdklabs/cdk-appmod-catalog-blueprints",
37
- "1.1.0",
37
+ "1.2.1",
38
38
  __name__[0:-6],
39
- "cdk-appmod-catalog-blueprints@1.1.0.jsii.tgz",
39
+ "cdk-appmod-catalog-blueprints@1.2.1.jsii.tgz",
40
40
  )
41
41
 
42
42
  __all__ = [
@@ -0,0 +1,191 @@
1
+ Metadata-Version: 2.1
2
+ Name: appmod-catalog-blueprints
3
+ Version: 1.2.1
4
+ Summary: Serverless infrastructure components organized by business use cases
5
+ Home-page: https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
6
+ Author: Amazon Web Services<aws-cdk-dev@amazon.com>
7
+ License: Apache-2.0
8
+ Project-URL: Source, https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: JavaScript
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Typing :: Typed
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: License :: OSI Approved
19
+ Requires-Python: ~=3.9
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: aws-cdk-lib <3.0.0,>=2.218.0
23
+ Requires-Dist: aws-cdk.aws-lambda-python-alpha <3.0.0,>=2.218.0.a0
24
+ Requires-Dist: constructs <11.0.0,>=10.0.5
25
+ Requires-Dist: jsii <2.0.0,>=1.115.0
26
+ Requires-Dist: publication >=0.0.3
27
+ Requires-Dist: typeguard <4.3.0,>=2.13.3
28
+
29
+ ---
30
+
31
+
32
+ ## title: Introduction
33
+
34
+ # AppMod Catalog Blueprints
35
+
36
+ Application Modernization (AppMod) Catalog Blueprints is a comprehensive library of production-ready, use case-driven infrastructure blueprints in the form of composable multi-layered building blocks built using [AWS Cloud Development Kit](https://aws.amazon.com/cdk/) (CDK) [L3 constructs](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html). These blueprints offer use case-driven solutions with multiple implementation pathways and industry-specific implementations that are designed to accelerate serverless development and modernization on AWS.
37
+
38
+ Built with [JSII](https://aws.github.io/jsii/), these constructs are available in TypeScript, Python, Java, and .NET, enabling teams to use their preferred programming language while leveraging the same proven infrastructure patterns.
39
+
40
+ Get started by exploring the [use case constructs](use-cases) and deployable [examples](examples). Learn more from [documentation](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/) and [Construct Hub](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints).
41
+
42
+ ## Core Use Cases
43
+
44
+ | Use Case | Description | Quick Deploy Examples |
45
+ |----------|-------------|----------------------|
46
+ | **[Document Processing](./use-cases/document-processing/)** | AI-powered document processing workflows with classification, extraction, and agentic capabilities | • [Bedrock Document Processing](./examples/document-processing/bedrock-document-processing/)<br/>• [Agentic Document Processing](./examples/document-processing/agentic-document-processing/)<br/>• [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
47
+ | **[Web Application](./use-cases/webapp/)** | Static web application hosting with global CDN, security headers, and SPA support | • [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
48
+
49
+ ## Foundation and Utilities
50
+
51
+ | Component | Description |
52
+ |-----------|-------------|
53
+ | **[Observability & Monitoring](./use-cases/utilities/observability/)** | Comprehensive monitoring, logging, and alerting with automatic property injection and Lambda Powertools integration |
54
+ | **[Data Masking](./use-cases/utilities/lambda_layers/data-masking/)** | Lambda layer for data masking and PII protection in serverless applications |
55
+ | **[Infrastructure Foundation](./use-cases/framework/)** | Core infrastructure components and utilities for building scalable applications |
56
+
57
+ ## Key Design Principles
58
+
59
+ AppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:
60
+
61
+ ### Composable Architecture
62
+
63
+ Build complex enterprise systems by combining independent, reusable components with standardized interfaces.
64
+
65
+ * **Independent components** with clear interfaces and loose coupling for maximum flexibility
66
+ * **Mix and match building blocks** to create custom solutions across different contexts and use cases
67
+ * **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization
68
+
69
+ ### Multi-Layered Building Blocks Architecture
70
+
71
+ Our blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:
72
+
73
+ | Layer | Implementation Type | Purpose | Key Features |
74
+ |-------|-------------------|---------|--------------|
75
+ | **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |
76
+ | **General Use Case Implementation** | Concrete implementation classes | Production-ready implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |
77
+ | **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |
78
+
79
+ ### Production-Ready with Smart Defaults
80
+
81
+ AppMod Catalog Blueprints serves both **rapid deployment** needs (for teams wanting immediate solutions) and **custom development** requirements (for teams needing tailored implementations), providing flexibility without compromising on production readiness.
82
+
83
+ | Approach | Best For | Capabilities |
84
+ |----------|----------|--------------|
85
+ | **Out-of-the-Box Deployment** | Rapid deployment and evaluation | • Deploy complete solutions in minutes using examples for immediate value<br/>• Pre-configured security, monitoring, and best practices for production readiness<br/>• Sensible defaults with production-ready configurations that work immediately<br/>• No infrastructure boilerplate required with minimal learning curve |
86
+ | **Intelligent Customization** | Custom development and integration | • Override defaults to modify behavior without changing core implementation<br/>• Enable/disable optional features to meet specific requirements<br/>• Inject custom logic at predefined extension points while maintaining production readiness<br/>• Configure parameters for different environments and use cases |
87
+
88
+ ### Security & Compliance
89
+
90
+ All components include enterprise-grade security by default:
91
+
92
+ * **CDK Nag Integration**: Automated security compliance checking
93
+ * **AWS Well-Architected**: Security, reliability, and performance best practices
94
+ * **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access
95
+ * **Compliance Reports**: Generate reports with `npm test -- --testPathPattern="nag.test.ts"`
96
+
97
+ ## Essential Commands
98
+
99
+ ### Environment Setup
100
+
101
+ ```bash
102
+ # Clone the repository
103
+ git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
104
+
105
+ # Configure AWS credentials and region
106
+ aws configure
107
+ # OR set AWS profile: export AWS_PROFILE=your-profile-name
108
+
109
+ # Bootstrap your AWS environment (one-time setup)
110
+ npx cdk bootstrap
111
+ ```
112
+
113
+ ### Quick Start
114
+
115
+ Deploy a working example in **5 minutes**:
116
+
117
+ ```bash
118
+ # Navigate to any example and deploy
119
+ cd examples/document-processing/agentic-document-processing
120
+ npm install
121
+ npm run deploy
122
+ ```
123
+
124
+ ### Build & Deploy Project
125
+
126
+ ```bash
127
+ # Build entire project
128
+ npx projen build
129
+
130
+ # Deploy with specific profile/region
131
+ npx cdk deploy --require-approval never
132
+
133
+ # Update CDK CLI if needed
134
+ npm install aws-cdk@latest
135
+ ```
136
+
137
+ ### Development
138
+
139
+ ```bash
140
+ # Run all tests
141
+ npm test
142
+
143
+ # Run specific test pattern
144
+ npm test -- --testPathPattern="document-processing"
145
+
146
+ # Generate CDK Nag compliance reports
147
+ npm test -- --testPathPattern="nag.test.ts"
148
+ ```
149
+
150
+ ## How to Use This Library
151
+
152
+ ### Quick Start (Deploy Examples)
153
+
154
+ 1. **Browse Examples**: Start with the [examples](./examples/) folder to see working implementations
155
+ 2. **Deploy & Test**: Use `npm run deploy` in any example to get a working system in minutes
156
+ 3. **Customize**: Modify example parameters to fit your specific requirements
157
+
158
+ ### Using Individual Constructs
159
+
160
+ 1. **Import Constructs**: Add `@cdklabs/appmod-catalog-blueprints` to your CDK project
161
+ 2. **Choose Your Layer**: Pick the right abstraction level for your needs
162
+ 3. **Configure**: Use the configuration options documented in each construct
163
+
164
+ ### Understanding the Layers
165
+
166
+ **Foundation Layer** (`use-cases/framework/`, `use-cases/utilities/`)
167
+
168
+ * **When to use**: Building custom solutions or need specific infrastructure components
169
+ * **Components**: VPC networking, observability utilities, data management tools, etc.
170
+
171
+ **Use Case Layer** (`use-cases/document-processing/`, `use-cases/webapp/`)
172
+
173
+ * **When to use**: Need proven patterns for common business problems
174
+ * **Components**: Document processing workflows, web application hosting, data transformation patterns, etc.
175
+
176
+ **Example Layer** (`examples/`)
177
+
178
+ * **When to use**: Want complete, deployable solutions
179
+ * **Components**: Industry-specific configurations, end-to-end applications, reference implementations, etc.
180
+
181
+ ## Contributing
182
+
183
+ See [CONTRIBUTING.md](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.
184
+
185
+ ## Disclaimer
186
+
187
+ These application solutions are not supported products in their own right, but examples to help our customers use our products from their applications. As our customer, any applications you integrate these examples in should be thoroughly tested, secured, and optimized according to your business's security standards before deploying to production or handling production workloads.
188
+
189
+ ## License
190
+
191
+ Apache License 2.0 - see [LICENSE](https://github.com/cdklabs/cdk-appmod-catalog-blueprints/blob/main/LICENSE) file for details.
@@ -0,0 +1,9 @@
1
+ appmod_catalog_blueprints/__init__.py,sha256=g52FBAEIKGSv_v11vmSv6i1nSZo50HXxSrbkzB5Pdz0,298461
2
+ appmod_catalog_blueprints/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
+ appmod_catalog_blueprints/_jsii/__init__.py,sha256=b1gU67UEmho7m7xYV8Yr4RTT9LFXaPR6Pz7uq95kqSM,1536
4
+ appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.2.1.jsii.tgz,sha256=o-lvqbz5F_7awsGVos4u4tdFYjecd65_uUYW3YZ0UaQ,375043
5
+ appmod_catalog_blueprints-1.2.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
6
+ appmod_catalog_blueprints-1.2.1.dist-info/METADATA,sha256=B1yQidDlsUkGAqFgRjpPeiPk8MWddtlskiLlfp2QD5I,10056
7
+ appmod_catalog_blueprints-1.2.1.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
8
+ appmod_catalog_blueprints-1.2.1.dist-info/top_level.txt,sha256=Ol8da5ggs2v4ibcxVrkcmnuFeKelb3o03ZaLWHGGcho,26
9
+ appmod_catalog_blueprints-1.2.1.dist-info/RECORD,,
@@ -1,258 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: appmod-catalog-blueprints
3
- Version: 1.1.0
4
- Summary: Serverless infrastructure components organized by business use cases
5
- Home-page: https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
6
- Author: Amazon Web Services<aws-cdk-dev@amazon.com>
7
- License: Apache-2.0
8
- Project-URL: Source, https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: JavaScript
12
- Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Typing :: Typed
17
- Classifier: Development Status :: 4 - Beta
18
- Classifier: License :: OSI Approved
19
- Requires-Python: ~=3.9
20
- Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
- Requires-Dist: aws-cdk-lib <3.0.0,>=2.218.0
23
- Requires-Dist: aws-cdk.aws-lambda-python-alpha <3.0.0,>=2.218.0.a0
24
- Requires-Dist: constructs <11.0.0,>=10.0.5
25
- Requires-Dist: jsii <2.0.0,>=1.115.0
26
- Requires-Dist: publication >=0.0.3
27
- Requires-Dist: typeguard <4.3.0,>=2.13.3
28
-
29
- # AppMod Use Case Blueprints
30
-
31
- Serverless infrastructure components for modern application development. This catalog provides composable building blocks organized by business use cases, enabling rapid deployment of secure, scalable solutions.
32
-
33
- ## Quick Start
34
-
35
- **Deploy a working example in 5 minutes:**
36
-
37
- Clone the repository, build the project, then navigate to any example directory and deploy using CDK with your AWS profile and region.
38
-
39
- ## Core Use Cases
40
-
41
- ### 1. 📄 Document Processing
42
-
43
- Serverless document processing pipeline with AI-powered classification, extraction, and workflow orchestration.
44
-
45
- **Architecture:**
46
-
47
- ```
48
- S3 Upload → SQS → Step Functions → Bedrock Models → DynamoDB
49
- ↓ ↓ ↓ ↓ ↓
50
- [Storage] [Buffer] [Workflow] [AI Processing] [Results]
51
- ```
52
-
53
- **Key Features:**
54
-
55
- * **Event-Driven Pipeline**: S3 upload triggers SQS → Step Functions workflow
56
- * **AI-Powered Processing**: Amazon Bedrock for document classification and extraction
57
- * **Multi-format Support**: PDF, JPG, PNG document processing
58
- * **Flexible Workflows**: Base construct with extensible processing steps
59
- * **State Management**: DynamoDB for workflow state and document metadata
60
- * **Error Handling**: Dead letter queues and retry mechanisms with observability
61
-
62
- **Available Constructs:**
63
-
64
- **BaseDocumentProcessing** - Foundation construct providing:
65
-
66
- * S3 bucket with organized prefixes (raw/, processed/, failed/)
67
- * SQS queue with configurable visibility timeout and DLQ
68
- * DynamoDB table for document metadata and workflow state
69
- * Step Functions workflow with customizable processing steps
70
- * Built-in observability and monitoring
71
-
72
- **BedrockDocumentProcessing** - AI-powered document analysis:
73
-
74
- * Document classification using Claude 3.5 Sonnet
75
- * Entity extraction and content analysis
76
- * Configurable prompts for classification and extraction
77
- * Optional enrichment Lambda function integration
78
- * Automatic workflow state management
79
-
80
- **AgenticDocumentProcessing** - Multi-agent document workflows:
81
-
82
- * Advanced multi-step processing with agent coordination
83
- * Complex document understanding and analysis
84
- * Configurable agent behaviors and processing flows
85
-
86
- ### 2. 🌐 Frontend Web Applications
87
-
88
- Static web application hosting with CloudFront distribution and security best practices.
89
-
90
- **Architecture:**
91
-
92
- ```
93
- CloudFront → S3 Static Website → Security Headers
94
- ↓ ↓ ↓
95
- [Global CDN] [Static Assets] [Security Functions]
96
- ```
97
-
98
- **Key Features:**
99
-
100
- * **Global Distribution**: CloudFront CDN for low-latency content delivery
101
- * **Security Headers**: Automatic injection of security headers via CloudFront functions
102
- * **SSL/TLS**: Automatic HTTPS with AWS Certificate Manager
103
- * **Custom Domains**: Support for custom domain names with Route 53 integration
104
- * **Error Pages**: Custom 404/403 error page handling
105
- * **Access Logging**: CloudFront access logs for analytics
106
-
107
- **Available Constructs:**
108
-
109
- **FrontendConstruct** - Complete static website hosting:
110
-
111
- * S3 bucket configured for static website hosting
112
- * CloudFront distribution with optimized caching
113
- * Security headers function for OWASP compliance
114
- * Optional custom domain and SSL certificate
115
- * Access logging and monitoring integration
116
-
117
- ### 3. 📊 Observability & Monitoring
118
-
119
- Comprehensive monitoring, logging, and alerting for AWS infrastructure with automatic property injection and Lambda Powertools integration.
120
-
121
- **Features:**
122
-
123
- * **Property Injection**: Automatic observability configuration across AWS services
124
- * **Lambda Powertools**: Structured logging, metrics, and tracing for Python/Node.js
125
- * **CloudWatch Integration**: Dashboards, alarms, and custom metrics
126
- * **X-Ray Tracing**: End-to-end request flow visualization
127
- * **Bedrock Monitoring**: Specialized observability for Amazon Bedrock workloads
128
- * **Cost Optimization**: Intelligent log retention and metric filtering
129
-
130
- **Available Components:**
131
-
132
- **Property Injectors:**
133
-
134
- * `LambdaObservabilityPropertyInjector` - Auto-enables X-Ray tracing for Lambda functions
135
- * `StateMachineObservabilityPropertyInjector` - Enables logging for Step Functions
136
- * `CloudfrontDistributionObservabilityPropertyInjector` - CDN monitoring and logging
137
-
138
- **Observability Constructs:**
139
-
140
- * `BedrockObservability` - Comprehensive monitoring for Bedrock workloads with log groups, encryption, and data protection
141
- * `PowertoolsConfig` - Lambda Powertools configuration for structured logging and metrics
142
- * `Observable` interface - Standardized observability contract for constructs
143
-
144
- **Data Protection:**
145
-
146
- * `LogGroupDataProtectionProps` - Configurable data protection policies for CloudWatch logs
147
-
148
- ### 4. 🏗️ Foundation & Framework
149
-
150
- Core infrastructure components and utilities for building scalable applications.
151
-
152
- **Available Components:**
153
-
154
- **Network Foundation:**
155
-
156
- * `Network` - VPC with public/private subnets, NAT gateways, and security groups
157
- * `AccessLog` - Centralized access logging configuration for AWS services
158
- * `EventBridgeBroker` - Event-driven architecture with custom EventBridge bus
159
-
160
- **Utilities:**
161
-
162
- * `DataLoader` - Custom resource for loading initial data into databases and services
163
- * `LambdaIamUtils` - Utility functions for Lambda IAM role and policy management
164
- * `DefaultRuntimes` - Standardized Lambda runtime configurations
165
-
166
- **Lambda Layers:**
167
-
168
- * `DataMasking` - Layer for data masking and PII protection in Lambda functions
169
-
170
- ## Essential Commands
171
-
172
- **Build & Deploy:**
173
-
174
- Build entire project with npx projen build. Deploy with specific profile/region using npx cdk deploy --require-approval never. Update CDK CLI if needed with npm install aws-cdk@latest.
175
-
176
- **Development:**
177
-
178
- Run tests with npm test. Run specific test pattern with npm test -- --testPathPattern="document-processing". Generate CDK Nag compliance reports with npm test -- --testPathPattern="nag.test.ts".
179
-
180
- ## Repository Structure
181
-
182
- ```
183
- appmod-usecase-blueprints/
184
- ├── use-cases/
185
- │ ├── document-processing/ # Document processing components
186
- │ │ ├── base-document-processing.ts
187
- │ │ ├── bedrock-document-processing.ts
188
- │ │ ├── agentic-document-processing.ts
189
- │ │ ├── resources/ # Lambda functions
190
- │ │ └── tests/ # Unit and CDK Nag tests
191
- │ ├── webapp/ # Web application components
192
- │ │ ├── frontend-construct.ts
193
- │ │ └── tests/ # Unit and CDK Nag tests
194
- │ ├── framework/ # Core infrastructure
195
- │ │ ├── foundation/ # Network, access logs, EventBridge
196
- │ │ ├── quickstart/ # Base quickstart patterns
197
- │ │ └── custom-resource/ # Default runtimes
198
- │ └── utilities/
199
- │ ├── observability/ # Monitoring components
200
- │ ├── lambda_layers/ # Shared Lambda layers
201
- │ ├── data-loader.ts # Custom resource for data loading
202
- │ └── lambda-iam-utils.ts # IAM utilities
203
- ├── examples/ # Ready-to-deploy examples
204
- │ └── document-processing/
205
- │ ├── bedrock-document-processing/
206
- │ ├── agentic-document-processing/
207
- │ └── doc-processing-fullstack-webapp/
208
- └── README.md
209
- ```
210
-
211
- ## Security & Compliance
212
-
213
- All components include:
214
-
215
- * **CDK Nag Integration**: Automated security compliance checking
216
- * **AWS Well-Architected**: Following best practices for security, reliability, performance
217
- * **Encryption**: At-rest and in-transit encryption by default
218
- * **IAM Least Privilege**: Minimal required permissions
219
- * **VPC Isolation**: Private subnets and security groups
220
-
221
- **Generate Compliance Reports:**
222
-
223
- Run npm test with testPathPattern="nag.test.ts" to generate reports in cdk.out/*-NagReport.csv
224
-
225
- ## Examples
226
-
227
- ### Document Processing
228
-
229
- * **Bedrock Document Processing**: AI-powered document analysis with Claude 3.5 Sonnet
230
- * **Agentic Document Processing**: Multi-agent document workflows with complex processing
231
- * **Full-Stack Document Processing Webapp**: Complete document processing application with frontend interface
232
-
233
- Each example includes deployment scripts, sample files, and comprehensive documentation.
234
-
235
- ## Key AWS Services
236
-
237
- * **Compute**: Lambda, ECS Fargate, Step Functions
238
- * **Storage**: S3, DynamoDB
239
- * **Database**: RDS (MySQL/PostgreSQL)
240
- * **Networking**: VPC, CloudFront, Application Load Balancer
241
- * **AI/ML**: Amazon Bedrock, Textract
242
- * **Monitoring**: CloudWatch, X-Ray
243
- * **Security**: KMS, Secrets Manager, IAM
244
-
245
- ## Contributing
246
-
247
- 1. **Add New Use Case**: Create directory under `use-cases/`
248
- 2. **Follow Structure**: Include constructs, tests, and documentation
249
- 3. **Security First**: All components must pass CDK Nag checks
250
- 4. **Include Monitoring**: Include monitoring, error handling, and cost optimization
251
-
252
- ## Disclaimer
253
-
254
- These application solutions are not supported products in their own right, but examples to help our customers use our products from their applications. As our customer, any applications you integrate these examples in should be thoroughly tested, secured, and optimized according to your business's security standards before deploying to production or handling production workloads.
255
-
256
- ## License
257
-
258
- Apache License 2.0 - see [LICENSE](./LICENSE) file for details.
@@ -1,9 +0,0 @@
1
- appmod_catalog_blueprints/__init__.py,sha256=NmG_Yg1SW2nokxNYBVEneau6M67QnG4CTe_r55JGp98,298914
2
- appmod_catalog_blueprints/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
- appmod_catalog_blueprints/_jsii/__init__.py,sha256=om3wwi2qzUNZ8v6g014DsCk5aFE4Tfk2nLEY9dLvpPA,1536
4
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.1.0.jsii.tgz,sha256=RtQGRxKpJout-rUyYR_hGfX2RraWpZWdj-YY5yOVt80,375075
5
- appmod_catalog_blueprints-1.1.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
6
- appmod_catalog_blueprints-1.1.0.dist-info/METADATA,sha256=eFddTscje7W1_DqiF6R6zAOzZBEgFuBfiG_VP6CYdsM,10509
7
- appmod_catalog_blueprints-1.1.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
8
- appmod_catalog_blueprints-1.1.0.dist-info/top_level.txt,sha256=Ol8da5ggs2v4ibcxVrkcmnuFeKelb3o03ZaLWHGGcho,26
9
- appmod_catalog_blueprints-1.1.0.dist-info/RECORD,,