{"id":18898760,"url":"https://github.com/tedilabs/terraform-aws-db","last_synced_at":"2025-04-15T02:33:05.383Z","repository":{"id":62835136,"uuid":"541094666","full_name":"tedilabs/terraform-aws-db","owner":"tedilabs","description":"🌳 A sustainable Terraform Package which creates resources for Databases on AWS","archived":false,"fork":false,"pushed_at":"2024-06-28T05:44:20.000Z","size":80,"stargazers_count":12,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-28T06:46:22.214Z","etag":null,"topics":["aws","aws-db","aws-elasticache","aws-rds","devops","hacktoberfest","hcl2","iac","lang-hcl","sre","tedilabs","terraform","terraform-aws","terraform-module","terraform-modules"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/tedilabs/db/aws","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tedilabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"tedilabs","patreon":"posquit0","ko_fi":"posquit0","custom":"https://www.paypal.me/posquit0"}},"created_at":"2022-09-25T07:48:58.000Z","updated_at":"2024-06-28T05:44:24.000Z","dependencies_parsed_at":"2023-10-02T18:52:30.754Z","dependency_job_id":"7d7ac604-6790-42bb-bb87-801ff1797de0","html_url":"https://github.com/tedilabs/terraform-aws-db","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedilabs%2Fterraform-aws-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedilabs%2Fterraform-aws-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedilabs%2Fterraform-aws-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedilabs%2Fterraform-aws-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tedilabs","download_url":"https://codeload.github.com/tedilabs/terraform-aws-db/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223657439,"owners_count":17181009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-db","aws-elasticache","aws-rds","devops","hacktoberfest","hcl2","iac","lang-hcl","sre","tedilabs","terraform","terraform-aws","terraform-module","terraform-modules"],"created_at":"2024-11-08T08:44:04.724Z","updated_at":"2024-11-08T08:44:05.326Z","avatar_url":"https://github.com/tedilabs.png","language":"HCL","funding_links":["https://github.com/sponsors/tedilabs","https://patreon.com/posquit0","https://ko-fi.com/posquit0","https://www.paypal.me/posquit0"],"categories":[],"sub_categories":[],"readme":"# terraform-aws-db\n\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/tedilabs/terraform-aws-db?color=blue\u0026sort=semver\u0026style=flat-square)\n![GitHub](https://img.shields.io/github/license/tedilabs/terraform-aws-db?color=blue\u0026style=flat-square)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\u0026style=flat-square)](https://github.com/pre-commit/pre-commit)\n\nTerraform module which creates db related resources on AWS.\n\n- [elasticache-redis-cluster](./modules/elasticache-redis-cluster)\n- [elasticache-redis-user](./modules/elasticache-redis-user)\n- [elasticache-redis-user-group](./modules/elasticache-redis-user-group)\n\n\n## Target AWS Services\n\nTerraform Modules from [this package](https://github.com/tedilabs/terraform-aws-db) were written to manage the following AWS Services with Terraform.\n\n- **AWS RDS (Relational Database Service)**\n  - (comming sooon!)\n- **AWS ElastiCache**\n  - Redis Cluster\n  - Redis User RBAC\n\n\n## Usage\n\n### ElastiCache Redis\n\n```tf\nmodule \"cluster\" {\n  source  = \"tedilabs/db/aws//modules/elasticache-redis-cluster\"\n  version = \"~\u003e 0.2.0\"\n\n  name        = \"example-redis-full\"\n  description = \"Managed by Terraform.\"\n\n  redis_version      = \"6.2\"\n  node_instance_type = \"cache.t4g.micro\"\n  # node_size          = 1\n  sharding = {\n    enabled    = true\n    shard_size = 3\n    replicas   = 2\n  }\n\n\n  ## Network\n  port                         = 6379\n  vpc_id                       = null\n  subnet_group                 = null\n  preferred_availability_zones = []\n\n  default_security_group = {\n    eanbled     = true\n    name        = \"example-redis-full-default-sg\"\n    description = \"Managed by Terraform.\"\n\n    ingress_rules = [\n      {\n        cidr_blocks = [\"0.0.0.0/0\"]\n      }\n    ]\n  }\n  security_groups = []\n\n\n  ## Parameters\n  parameter_group = {\n    enabled     = true\n    name        = \"example-redis-full-parameter-group\"\n    description = \"Managed by Terraform.\"\n    parameters = {\n      \"lazyfree-lazy-eviction\"   = \"yes\"\n      \"lazyfree-lazy-expire\"     = \"yes\"\n      \"lazyfree-lazy-server-del\" = \"yes\"\n      \"rename-commands\"          = \"KEYS BLOCKED\"\n    }\n  }\n  custom_parameter_group = null\n\n\n  ## Auth\n  password    = sensitive(\"helloworld!#!!1234\")\n  user_groups = []\n\n\n  ## Encryption\n  encryption_at_rest = {\n    enabled = true\n    kms_key = null\n  }\n  encryption_in_transit = {\n    enabled = true\n  }\n\n\n  ## Backup\n  backup_enabled             = true\n  backup_window              = \"16:00-17:00\"\n  backup_retention           = 1\n  backup_final_snapshot_name = \"example-redis-full-final\"\n\n\n  ## Source\n  source_backup_name = null\n  source_rdb_s3_arns = null\n\n\n  ## Maintenance\n  maintenance_window                 = \"fri:18:00-fri:20:00\"\n  auto_upgrade_minor_version_enabled = true\n  notification_sns_topic             = null\n\n\n  ## Logging\n  logging_slow_log = {\n    enabled = false\n    format  = \"JSON\"\n\n    destination_type = \"CLOUDWATCH_LOGS\"\n    destination      = null\n  }\n  logging_engine_log = {\n    enabled = false\n    format  = \"JSON\"\n\n    destination_type = \"CLOUDWATCH_LOGS\"\n    destination      = null\n  }\n\n\n  ## Attributes\n  multi_az_enabled      = true\n  auto_failover_enabled = true\n  apply_immediately     = true\n\n  timeouts = {\n    create = \"60m\"\n    update = \"40m\"\n    delete = \"40m\"\n  }\n\n  tags = {\n    \"project\" = \"terraform-aws-db-examples\"\n  }\n}\n```\n\n\n## Examples\n\n### ElastiCache Redis\n\n- [Singie Redis Instance](./examples/elasticache-redis-single)\n- [Multi-AZs Redis Cluster (Sharding Disabled)](./examples/elasticache-redis-multi-az)\n- [Full Redis Cluster (Sharding Enabled)](./examples/elasticache-redis-full)\n- [Redis Cluster with RBAC(Role Based Access Control)](./examples/elasticache-redis-with-users)\n\n\n## Self Promotion\n\nLike this project? Follow the repository on [GitHub](https://github.com/tedilabs/terraform-aws-db). And if you're feeling especially charitable, follow **[posquit0](https://github.com/posquit0)** on GitHub.\n\n\n## License\n\nProvided under the terms of the [Apache License](LICENSE).\n\nCopyright © 2022-2023, [Byungjin Park](https://www.posquit0.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftedilabs%2Fterraform-aws-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftedilabs%2Fterraform-aws-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftedilabs%2Fterraform-aws-db/lists"}