Skip to content

Module Banner

terraform-aws-arc-kinesis-stream

Module: sourcefuse/arc-kinesis-stream/aws

Registry: https://registry.terraform.io/modules/sourcefuse/arc-kinesis-stream/aws

Category: Streaming / Data Ingestion

Source: https://github.com/sourcefuse/terraform-aws-arc-kinesis-stream

Latest Release Last Updated Terraform GitHub Actions

Quality gate

Tip

🤖 New: Use this module with AI assistants via the ARC IaC MCP Server — search, scaffold, and security-scan ARC modules from natural language. Quick setup ↓

Overview

Creates Kinesis Data Streams with configurable shard count, enhanced fan-out consumers, and KMS encryption.

What It Does

  • Kinesis Data Stream with configurable shard count
  • Enhanced fan-out consumers for parallel processing
  • On-demand or provisioned capacity mode
  • KMS encryption for data at rest
  • CloudWatch metrics and alarms
  • Retention period configuration

Quickstart

1
2
3
4
5
6
7
8
9
module "kinesis" {
  source         = "sourcefuse/arc-kinesis-stream/aws"
  version        = "0.0.1"
  name           = "${var.namespace}-${var.environment}-kinesis"
  shard_count    = var.shard_count
  consumer_count = var.consumer_count

  tags = module.tags.tags
}

Required Inputs

Name Type Description
name string Kinesis stream name
shard_count number Number of shards
## Key Outputs
Name Description
name Stream name
arn Stream ARN
stream_id Stream ID
## Full Variable & Output Reference

The complete inputs/outputs reference is auto-generated below.

Requirements

Name Version
terraform ~> 1.5, < 2.0.0
aws >= 4.0, < 6.0

Providers

Name Version
aws 5.58.0

Modules

No modules.

Resources

Name Type
aws_kinesis_stream.this resource
aws_kinesis_stream_consumer.this resource

Inputs

Name Description Type Default Required
consumer_count Number of consumers to register with Kinesis stream number 0 no
encryption_type The encryption type to use. Acceptable values are NONE and KMS. string "KMS" no
enforce_consumer_deletion A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. bool true no
kms_key_id The GUID for the customer-managed KMS key to use for encryption. string "alias/aws/kinesis" no
name Name of kinesis-stream string n/a yes
retention_period Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours. Minimum value is 24. Default is 24. number 24 no
shard_count The number of shards that the stream will use number 1 no
shard_level_metrics A list of shard-level CloudWatch metrics which can be enabled for the stream. list(string)
[
"IncomingBytes",
"OutgoingBytes"
]
no
stream_mode Specifies the capacity mode of the stream. Must be either PROVISIONED or ON_DEMAND. If ON_DEMAND is used, then shard_count is ignored. string null no
tags Tags for AWS elasticache redis map(string) n/a yes

Outputs

Name Description
consumers List of consumers registered with Kinesis stream.
name Name of the Kinesis stream.
shard_count Number of shards provisioned.
stream_arn ARN of the Kinesis stream.

Git commits

while Contributing or doing git commit please specify the breaking change in your commit message whether its major,minor or patch

For Example

git commit -m "your commit message #major"
By specifying this , it will bump the version and if you dont specify this in your commit message then by default it will consider patch and will bump that accordingly

Development

Prerequisites

Configurations

  • Configure pre-commit hooks
    pre-commit install
    

Tests

  • Tests are available in test directory
  • Configure the dependencies
    1
    2
    3
    cd test/
    go mod init github.com/sourcefuse/terraform-aws-refarch-<module_name>
    go get github.com/gruntwork-io/terratest/modules/terraform
    
  • Now execute the test
    go test -timeout  30m
    

AI Assistant Integration (ARC IaC MCP)

The ARC IaC MCP Server is a hosted Model Context Protocol service that lets AI assistants browse, search, scaffold, compare, and security-scan any of the SourceFuse ARC Terraform modules — directly from natural language.

What you can do with it:

  • Discover — search and filter modules by keyword or AWS resource type.
  • Understand — get inputs, outputs, and resources for any module without leaving your editor.
  • Scaffold — generate production-ready, multi-file Terraform with cross-module wiring already done.
  • Secure — scan generated or existing HCL for misconfigurations before it hits a PR.
  • Compare — diff modules side-by-side to make informed architectural decisions.

Setup (one minute)

The MCP endpoint is https://arc-iac-mcp.sourcef.us/mcp. Pick your client:

Claude Code CLI:

claude mcp add arc-iac --transport http https://arc-iac-mcp.sourcef.us/mcp

Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json:

1
2
3
4
5
6
7
{
  "mcpServers": {
    "arc-iac": {
      "url": "https://arc-iac-mcp.sourcef.us/mcp"
    }
  }
}

Cursor / Windsurf / Kiro — add the same block to .cursor/mcp.json (or the equivalent for your client).

Example prompts to try

  • "List all ARC modules sorted by downloads"
  • "What inputs does arc-ecs require?"
  • "Scaffold a production-ready arc-db Aurora setup with Secrets Manager"
  • "Compare arc-eks and arc-ecs for running 10 microservices"
  • "Scan this Terraform before I raise a PR: <paste HCL>"

See the ARC IaC MCP repo for the full tool reference, troubleshooting tips, and local-development instructions.

Contributing

See CONTRIBUTING.md for commit conventions and development setup.

Authors

This project is authored by: - SourceFuse