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.8.tar.gz (65.7 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.8.tar.gz.

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f75c235f16d6ea2f5e27b8a9ced1d1a5c77e1078fcd8d28c0d2f8aa3c8f99898
MD5 e3ebccba2de648de97a47b7b9cee0158
BLAKE2b-256 f9fb80f785762878aad6f165b647ac7086ddc71eb720021a0337aff66f6a7e6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b197a2a81e8e8b191d75b6fcd594a7384bc91e1875cdf721a227b821672fc277
MD5 27c1b1870fe5d4872cd4487e64c90cce
BLAKE2b-256 824278f084f0dd2c78ef52a4e37ae96d282e092441b2c444b11cf3b203d84a1e

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