appmod-catalog-blueprints 1.1.0__py3-none-any.whl → 1.2.0__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.
- appmod_catalog_blueprints/__init__.py +101 -168
- appmod_catalog_blueprints/_jsii/__init__.py +2 -2
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.2.0.jsii.tgz +0 -0
- appmod_catalog_blueprints-1.2.0.dist-info/METADATA +191 -0
- appmod_catalog_blueprints-1.2.0.dist-info/RECORD +9 -0
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.1.0.jsii.tgz +0 -0
- appmod_catalog_blueprints-1.1.0.dist-info/METADATA +0 -258
- appmod_catalog_blueprints-1.1.0.dist-info/RECORD +0 -9
- {appmod_catalog_blueprints-1.1.0.dist-info → appmod_catalog_blueprints-1.2.0.dist-info}/LICENSE +0 -0
- {appmod_catalog_blueprints-1.1.0.dist-info → appmod_catalog_blueprints-1.2.0.dist-info}/WHEEL +0 -0
- {appmod_catalog_blueprints-1.1.0.dist-info → appmod_catalog_blueprints-1.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,226 +1,159 @@
|
|
|
1
1
|
r'''
|
|
2
|
-
|
|
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
|
-
##
|
|
5
|
+
## title: Introduction
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
# AppMod Catalog Blueprints
|
|
9
8
|
|
|
10
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
Static web application hosting with CloudFront distribution and security best practices.
|
|
15
|
+
## Core Use Cases
|
|
62
16
|
|
|
63
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
34
|
+
### Composable Architecture
|
|
83
35
|
|
|
84
|
-
|
|
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
|
-
|
|
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
|
-
|
|
42
|
+
### Multi-Layered Building Blocks Architecture
|
|
93
43
|
|
|
94
|
-
|
|
44
|
+
Our blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:
|
|
95
45
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
52
|
+
### Production-Ready with Smart Defaults
|
|
104
53
|
|
|
105
|
-
**
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
61
|
+
### Security & Compliance
|
|
112
62
|
|
|
113
|
-
|
|
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
|
-
**
|
|
118
|
-
|
|
119
|
-
*
|
|
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
|
-
|
|
70
|
+
## Essential Commands
|
|
122
71
|
|
|
123
|
-
|
|
72
|
+
### Environment Setup
|
|
124
73
|
|
|
125
|
-
|
|
74
|
+
```bash
|
|
75
|
+
# Clone the repository
|
|
76
|
+
git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
|
|
126
77
|
|
|
127
|
-
|
|
78
|
+
# Configure AWS credentials and region
|
|
79
|
+
aws configure
|
|
80
|
+
# OR set AWS profile: export AWS_PROFILE=your-profile-name
|
|
128
81
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
82
|
+
# Bootstrap your AWS environment (one-time setup)
|
|
83
|
+
npx cdk bootstrap
|
|
84
|
+
```
|
|
132
85
|
|
|
133
|
-
|
|
86
|
+
### Quick Start
|
|
134
87
|
|
|
135
|
-
|
|
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
|
-
|
|
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
|
-
|
|
97
|
+
### Build & Deploy Project
|
|
142
98
|
|
|
143
|
-
|
|
99
|
+
```bash
|
|
100
|
+
# Build entire project
|
|
101
|
+
npx projen build
|
|
144
102
|
|
|
145
|
-
|
|
103
|
+
# Deploy with specific profile/region
|
|
104
|
+
npx cdk deploy --require-approval never
|
|
146
105
|
|
|
147
|
-
|
|
106
|
+
# Update CDK CLI if needed
|
|
107
|
+
npm install aws-cdk@latest
|
|
108
|
+
```
|
|
148
109
|
|
|
149
|
-
|
|
110
|
+
### Development
|
|
150
111
|
|
|
151
|
-
|
|
112
|
+
```bash
|
|
113
|
+
# Run all tests
|
|
114
|
+
npm test
|
|
152
115
|
|
|
153
|
-
|
|
116
|
+
# Run specific test pattern
|
|
117
|
+
npm test -- --testPathPattern="document-processing"
|
|
154
118
|
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
##
|
|
123
|
+
## How to Use This Library
|
|
185
124
|
|
|
186
|
-
|
|
125
|
+
### Quick Start (Deploy Examples)
|
|
187
126
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
137
|
+
### Understanding the Layers
|
|
197
138
|
|
|
198
|
-
|
|
139
|
+
**Foundation Layer** (`use-cases/framework/`, `use-cases/utilities/`)
|
|
199
140
|
|
|
200
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
149
|
+
**Example Layer** (`examples/`)
|
|
209
150
|
|
|
210
|
-
* **
|
|
211
|
-
* **
|
|
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
|
-
|
|
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](
|
|
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.
|
|
37
|
+
"1.2.0",
|
|
38
38
|
__name__[0:-6],
|
|
39
|
-
"cdk-appmod-catalog-blueprints@1.
|
|
39
|
+
"cdk-appmod-catalog-blueprints@1.2.0.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.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
|
+
---
|
|
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=CNVosp08jmqu7xoOXm_GXG21smu3NlycP_bI0h9wgLA,1536
|
|
4
|
+
appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.2.0.jsii.tgz,sha256=4txx9U3yXbpPt5de6UhW7yIS6nKBkgzGhVpcbNbcugM,375050
|
|
5
|
+
appmod_catalog_blueprints-1.2.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
6
|
+
appmod_catalog_blueprints-1.2.0.dist-info/METADATA,sha256=wzADwaq-m9IUrQrejnn72NmdHAnAhbGDmBQcZg4UMxA,10056
|
|
7
|
+
appmod_catalog_blueprints-1.2.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
8
|
+
appmod_catalog_blueprints-1.2.0.dist-info/top_level.txt,sha256=Ol8da5ggs2v4ibcxVrkcmnuFeKelb3o03ZaLWHGGcho,26
|
|
9
|
+
appmod_catalog_blueprints-1.2.0.dist-info/RECORD,,
|
|
Binary file
|
|
@@ -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,,
|
{appmod_catalog_blueprints-1.1.0.dist-info → appmod_catalog_blueprints-1.2.0.dist-info}/LICENSE
RENAMED
|
File without changes
|
{appmod_catalog_blueprints-1.1.0.dist-info → appmod_catalog_blueprints-1.2.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|