An open API service indexing awesome lists of open source software.

https://github.com/dasmeta/terraform-aws-msk

Terraform module for creating AWS MSK cluster
https://github.com/dasmeta/terraform-aws-msk

aws cluster module msk terraform terraform-module

Last synced: 3 months ago
JSON representation

Terraform module for creating AWS MSK cluster

Awesome Lists containing this project

README

        

# terraform-aws-msk

## Module create AWS MSK cluster with sasl/scram auth mechanism

```hcl
module "this" {
source = "../../"

name = "msk"
kms_key_owner_username = "dasmeta.julia"
client_authentication = {
"iam" : false,
"sasl" : {
"scram" : true
},
"tls" : null,
"unauthenticated" : false
}

kafka_auth = {
username = "username",
password = "password"
}

vpc_id = "vpc-000000000000000"
ingress_access = ["10.0.0.0/16"]
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |
| [aws](#requirement\_aws) | ~> 5.0 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | ~> 5.0 |

## Modules

| Name | Source | Version |
|------|--------|---------|
| [kafka](#module\_kafka) | terraform-aws-modules/msk-kafka-cluster/aws | 2.1.0 |
| [kms](#module\_kms) | terraform-aws-modules/kms/aws | 2.0.0 |
| [secrets](#module\_secrets) | dasmeta/modules/aws//modules/secret | 2.6.3 |

## Resources

| Name | Type |
|------|------|
| [aws_security_group.allow_kafka_connection](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_iam_policy_document.kms_key_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
| [aws_subnets.private](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/subnets) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [broker\_node\_instance\_type](#input\_broker\_node\_instance\_type) | A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster | `string` | `"kafka.t3.small"` | no |
| [client\_authentication](#input\_client\_authentication) | Configuration block for specifying a client authentication | `any` | `{}` | no |
| [cloudwatch\_logs\_enabled](#input\_cloudwatch\_logs\_enabled) | Indicates whether you want to enable or disable streaming broker logs to Cloudwatch Logs | `bool` | `true` | no |
| [create\_scram\_secret\_association](#input\_create\_scram\_secret\_association) | Determines whether to create SASL/SCRAM secret association | `bool` | `true` | no |
| [enable\_kms\_key\_rotation](#input\_enable\_kms\_key\_rotation) | KMS key rotation | `bool` | `true` | no |
| [ingress\_access](#input\_ingress\_access) | Use cidr for get access to connect kafka | `list(string)` | n/a | yes |
| [kafka\_auth](#input\_kafka\_auth) | Credentials which is using for connect kafka | `any` | n/a | yes |
| [kafka\_version](#input\_kafka\_version) | Specify the desired Kafka software version | `string` | `"3.4.0"` | no |
| [kms\_key\_owner\_username](#input\_kms\_key\_owner\_username) | KMS key owner aws account username | `string` | n/a | yes |
| [name](#input\_name) | Kafka name | `string` | n/a | yes |
| [number\_of\_broker\_nodes](#input\_number\_of\_broker\_nodes) | The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets | `number` | `1` | no |
| [vpc\_id](#input\_vpc\_id) | The vpc where redis cluster will be created | `string` | n/a | yes |

## Outputs

No outputs.