advanced-cdk-constructs
Project description
Advanced CDK Constructs
A collection of advanced AWS CDK constructs to simplify AWS.
Installation
From NPM
npm install advanced-cdk-constructs
From GitHub
npm install git+https://github.com/spensireli/advanced-cdk-constructs.git
Available Constructs
GuardDuty Construct
The GuardDutyConstruct provides a simplified way to deploy AWS GuardDuty with common security configurations.
Import
import { GuardDutyConstruct, GuardDutyConstructProps } from 'advanced-cdk-constructs';
Basic Usage
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { GuardDutyConstruct } from 'advanced-cdk-constructs';
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
// Create GuardDuty with default settings
const guardDuty = new GuardDutyConstruct(this, 'MyGuardDuty');
}
}
Advanced Configuration
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { GuardDutyConstruct, GuardDutyConstructProps } from 'advanced-cdk-constructs';
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const guardDutyProps: GuardDutyConstructProps = {
enableGuardDuty: true,
kubernetesAuditLogs: true,
malwareProtection: true,
s3Logs: true,
};
const guardDuty = new GuardDutyConstruct(this, 'MyGuardDuty', guardDutyProps);
// Access the detector ID for other resources
console.log('GuardDuty Detector ID:', guardDuty.detectorId);
}
}
Configuration Options
| Property | Type | Default | Description |
|---|---|---|---|
enableGuardDuty |
boolean |
true |
Whether to enable GuardDuty |
kubernetesAuditLogs |
boolean |
true |
Enable Kubernetes audit logs monitoring |
malwareProtection |
boolean |
true |
Enable malware protection for EC2 instances |
s3Logs |
boolean |
true |
Enable S3 logs monitoring |
Features
- Runtime Monitoring: Automatically enabled for comprehensive threat detection
- Kubernetes Audit Logs: Monitors Kubernetes cluster activities
- Malware Protection: Scans EC2 instances for malware
- S3 Logs Monitoring: Monitors S3 bucket activities for suspicious behavior
- Detector ID Access: Public property to reference the detector in other constructs
Development
Prerequisites
- Node.js 22.0.0 or higher
- AWS CDK CLI
- TypeScript
Setup
- Clone the repository:
git clone git@github.com:spensireli/advanced-cdk-constructs.git
cd advanced-cdk-constructs
- Install dependencies:
npm install
- Build the project:
npx projen build
Testing
Run the test suite:
npx projen test
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and questions, please open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spensireli_advanced_cdk_constructs-0.0.10.tar.gz.
File metadata
- Download URL: spensireli_advanced_cdk_constructs-0.0.10.tar.gz
- Upload date:
- Size: 79.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcdcd93bc0d5f0b3154a938564e426ab6769fc0c58f5a4d211f977fbe311644c
|
|
| MD5 |
6d2b253f5b05f5925a1ee77b98efe3f3
|
|
| BLAKE2b-256 |
615d8a83cbded330a63a0e138008a8bb11079e5fb517c81f320549dad5f206a4
|
File details
Details for the file spensireli_advanced_cdk_constructs-0.0.10-py3-none-any.whl.
File metadata
- Download URL: spensireli_advanced_cdk_constructs-0.0.10-py3-none-any.whl
- Upload date:
- Size: 77.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b416ae5d5821a10ab1d3175626a3a3bcb7c0ef0256bdf8e124d453545e5fc5cb
|
|
| MD5 |
a6d31d8d5a524aa2452edc7c5af6ea6e
|
|
| BLAKE2b-256 |
d9e310f0564b3b12f656e904a7ac01bcb6c0edde81ded89229bea16a2c70dfaf
|