Skip to main content

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

  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:
npm run build

Testing

Run the test suite:

npm 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.1.tar.gz (32.0 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.1.tar.gz.

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7aead40f7f6ee831aecaed87285d62233042791c702526c370d9eba2ab7ee59f
MD5 e68ea63365dbfd7751ea5e2d5b1e52b4
BLAKE2b-256 4fbe6b01efebedca43e9cb7c6dde64ae5621379c5bd6c484426b7521aa253e2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spensireli_advanced_cdk_constructs-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd5b01bf635c7a50876800238afa7d59504a763c8dd9e8ca29e2f4234f9ab8ef
MD5 eee093a693d3b0fbbaddaa7055997d86
BLAKE2b-256 06868efced41f847c669c2bb2c7273e4dd89eeb3009b0e7b6b52165eb9dbef44

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