Skip to content

carnegierobotics/terraform-aws-datastore-storage

Repository files navigation

terraform-aws-datastore-storage

Carnegie Robotics, LLC

Terraform module for creating DataStore Storage infrastructure used for shared storage across other modules


Usage

TODO

Makefile Targets

Available targets:

  help                                Help screen
  help/all                            Display help for all targets
  help/short                          This help short screen

Requirements

Name Version
terraform ~> 0.13.0
aws ~> 3.32
external ~> 2.1
http ~> 2.0
template ~> 2.2
utils ~> 0.3

Providers

No providers.

Modules

Name Source Version
bucket cloudposse/s3-bucket/aws 0.36.0
rds_cluster cloudposse/rds-cluster/aws 0.45.0
subnets cloudposse/dynamic-subnets/aws 0.28.0
this cloudposse/label/null 0.24.1
vpc cloudposse/vpc/aws 0.17.0

Resources

No resources.

Inputs

Name Description Type Default Required
additional_tag_map Additional tags for appending to tags_as_list_of_maps. Not added to tags. map(string) {} no
admin_password (Required unless a snapshot_identifier is provided) Password for the master DB user string n/a yes
admin_user (Required unless a snapshot_identifier is provided) Username for the master DB user string n/a yes
attributes Additional attributes (e.g. 1) list(string) [] no
availability_zones n/a list(string) n/a yes
cluster_family The family of the DB cluster parameter group string n/a yes
cluster_size Number of DB instances to create in the cluster number n/a yes
context Single object for setting entire context at once.
See description of individual variables for details.
Leave string and numeric variables as null to use default value.
Individual variable settings (non-null) override settings in context object,
except for attributes, tags, and additional_tag_map, which are merged.
object({
enabled = bool
namespace = string
environment = string
stage = string
name = string
delimiter = string
attributes = list(string)
tags = map(string)
additional_tag_map = map(string)
regex_replace_chars = string
label_order = list(string)
id_length_limit = number
})
{
"additional_tag_map": {},
"attributes": [],
"delimiter": null,
"enabled": true,
"environment": null,
"id_length_limit": null,
"label_order": [],
"name": null,
"namespace": null,
"regex_replace_chars": null,
"stage": null,
"tags": {}
}
no
db_name Database name string n/a yes
delimiter Delimiter to be used between namespace, environment, stage, name and attributes.
Defaults to - (hyphen). Set to "" to use no delimiter at all.
string null no
enabled Set to false to prevent the module from creating any resources bool null no
engine The name of the database engine to be used for this DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql string n/a yes
engine_mode The database engine mode. Valid values: parallelquery, provisioned, serverless string n/a yes
engine_version The database engine version. string n/a yes
environment Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT' string null no
id_length_limit Limit id to this many characters.
Set to 0 for unlimited length.
Set to null for default, which is 0.
Does not affect id_full.
number null no
label_order The naming order of the id output and Name tag.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 elements, but at least one must be present.
list(string) null no
name Solution name, e.g. 'app' or 'jenkins' string null no
namespace Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp' string null no
regex_replace_chars Regex to replace chars with empty string in namespace, environment, stage and name.
If not set, "/[^a-zA-Z0-9-]/" is used to remove all characters other than hyphens, letters and digits.
string null no
stage Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release' string null no
tags Additional tags (e.g. map('BusinessUnit','XYZ') map(string) {} no

Outputs

Name Description
arn Amazon Resource Name (ARN) of the cluster
bucket_arn Bucket ARN for shared storage
bucket_id Bucket for shared storage
cluster_identifier Cluster Identifier
cluster_resource_id The region-unique, immutable identifie of the cluster
database_name Database name
dbi_resource_ids List of the region-unique, immutable identifiers for the DB instances in the cluster
endpoint The DNS address of the RDS instance
master_host DB Master hostname
master_username Username for the master DB user
private_subnet_cidrs Private subnet CIDR blocks
public_subnet_cidrs Public subnet CIDR blocks
reader_endpoint A read-only endpoint for the Aurora cluster, automatically load-balanced across replicas
replicas_host Replicas hostname
security_group_arn Security Group ARN
security_group_id Security Group ID
security_group_name Security Group name
vpc_cidr VPC CIDR

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull Request so that we can review your changes

NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!

Copyrights

Copyright © 2017-2021 Cloud Posse, LLC

Copyright © 2021-2021 Carnegie Robotics, LLC

Trademarks

All other trademarks referenced herein are the property of their respective owners.

About

This project is maintained and funded by Carnegie Robotics, LLC.

Carnegie Robotics, LLC

About

Terraform module for creating DataStore Storage infrastructure

Resources

Stars

Watchers

Forks

Packages

No packages published