Home

Awesome

Cassandra Module

Description

This module creates a Cassandra cluster. The module is based upon the following white paper:

https://d0.awsstatic.com/whitepapers/Cassandra_on_AWS.pdf

Variables

NameDescriptionDefault
app_nameapplication name
availability_zonescomma separated list of AZs
az_countnumber of AZs to span
backup_hourcrontab hour for backup
backup_minutecrontab minute for backup
backup_retentionbackup retention period in days7
bastion_ipbastion IP address for ssh access
bastion_private_keylocal path to ssh private key for bastion access
cassandra_versionversion of Cassandra3.9
cloudwatch_alarm_arncloudwatch alarm ARN
commit_log_device_nameattach device for commit log volume/dev/xvdg
commit_log_mount_pointmount point for commit log volumecommitlog
data_device_nameattach device for data volume/dev/xvdf
data_dirdata directory for Docker mount/var/lib/cassandra
data_mount_pointmount point for data volumedata
environmentenvironment to configure
iam_instance_profileIAM instance profile name to allow nodes to create EBS snapshots
key_namekey pair for SSH access
nodes_per_aznumber of non-seed nodes per AZ
nonseed_commitlog_volume_idslist of non-seed commitlog volume IDs
nonseed_data_volume_idslist of non-seed data volume IDs
private_keylocal path to ssh private key
regionregion to configure
security_group_idslist of security groups
seed_addrnetwork number for seed IP
seed_commitlog_volume_idslist of seed commitlog volume IDs
seed_data_volume_idslist of seed data volume IDs
seed_subnet_idslist of subnet IDs for seed nodes (/24 CIDR)
stdenvenvironment lookup to use
subnet_idslist of subnet IDs for non-seed nodes

Outputs

NameDescription
node_ipscomma separated list of node IP addresses

Tests

The test documentation can be found in test/main.tf.