Exhibitor Shared Config
View SourceRelease NotesThis module creates an S3 bucket and IAM permissions that can be used by Exhibitor to store shared ZooKeeper configuration. By storing the config in S3, the Exhibitor process on each ZooKeeper server can detect and roll out config changes.
This module is used by the zookeeper-cluster module, so you typically won't have to use it directly. However, we keep this module separate in case you decide to ZooKeeper on top of a different type of cluster (e.g., co-located with Kafka), in which case you can include this module to handle the S3 bucket details for you.
Sample Usage
- Terraform
- Terragrunt
# ------------------------------------------------------------------------------------------------------
# DEPLOY GRUNTWORK'S EXHIBITOR-SHARED-CONFIG MODULE
# ------------------------------------------------------------------------------------------------------
module "exhibitor_shared_config" {
source = "git::git@github.com:gruntwork-io/terraform-aws-zookeeper.git//modules/exhibitor-shared-config?ref=v0.12.0"
# ----------------------------------------------------------------------------------------------------
# REQUIRED VARIABLES
# ----------------------------------------------------------------------------------------------------
# The name to use for the S3 bucket that will store shared ZooKeeper config
s3_bucket_name = <INPUT REQUIRED>
# The ID of the IAM Role used by the nodes in the ZooKeeper cluster
zookeeper_aws_iam_role_id = <INPUT REQUIRED>
# ----------------------------------------------------------------------------------------------------
# OPTIONAL VARIABLES
# ----------------------------------------------------------------------------------------------------
# If you set this to true, when you run terraform destroy, this tells Terraform to
# delete all the objects in the S3 bucket used for shared config storage. You
# should NOT set this to true in production! This property is only here so
# automated tests can clean up after themselves.
force_destroy_shared_config_s3_bucket = false
# The Amazon Resource Name (ARN) of the KMS Key that will be used to
# encrypt/decrypt config files in the S3 bucket. The default value of null will
# use the managed aws/s3 key.
s3_bucket_kms_key_arn = null
}
# Coming soon!
Reference
- Inputs
- Outputs
Required
s3_bucket_namestringThe name to use for the S3 bucket that will store shared ZooKeeper config
The ID of the IAM Role used by the nodes in the ZooKeeper cluster
Optional
If you set this to true, when you run terraform destroy, this tells Terraform to delete all the objects in the S3 bucket used for shared config storage. You should NOT set this to true in production! This property is only here so automated tests can clean up after themselves.
falses3_bucket_kms_key_arnstringThe Amazon Resource Name (ARN) of the KMS Key that will be used to encrypt/decrypt config files in the S3 bucket. The default value of null will use the managed aws/s3 key.
null