Skip to main content

advanced-cdk-constructs

Project description

Advanced CDK Constructs

codecov

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

  1. Clone the repository:
git clone git@github.com:spensireli/advanced-cdk-constructs.git
cd advanced-cdk-constructs
  1. Install dependencies:
npm install
  1. Build the project:
npx projen build

Testing

Run the test suite:

npx projen test

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spensireli_advanced_cdk_constructs-0.0.2.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file spensireli_advanced_cdk_constructs-0.0.2.tar.gz.

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c2e89983b9434431f0ecf1df4f57489b4b76c8d5d7913dc27ffd69ede012f1b4
MD5 93999d0cc151199b5088830b51af004b
BLAKE2b-256 fdf628155c3c5f109083513e7d380fa7e1c4b2597cb82d05f6f6b611c9c56b39

See more details on using hashes here.

File details

Details for the file spensireli_advanced_cdk_constructs-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f10fc0b7d63458d728a2b101cfd8e43660b59bea758d15ab61bd86faad240b9
MD5 2d76e14dd38adf99c3323dd3b6165f02
BLAKE2b-256 bb5df0f71b022e6d76fc82302ea61c8ddc4455eff00a96ab451762066e8f1d06

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page