{"id":29943178,"url":"https://github.com/sourcefuse/terraform-aws-arc-redshift","last_synced_at":"2026-06-05T07:01:44.300Z","repository":{"id":307601094,"uuid":"1003400489","full_name":"sourcefuse/terraform-aws-arc-redshift","owner":"sourcefuse","description":"Provisions Amazon Redshift infrastructure including provisioned clusters and Redshift Serverless workgroups and namespaces. Supports parameter groups, subnet groups, encryption, and snapshot management.","archived":false,"fork":false,"pushed_at":"2026-06-03T11:19:06.000Z","size":828,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T13:12:32.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/sourcefuse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-17T05:09:17.000Z","updated_at":"2026-05-28T12:31:35.000Z","dependencies_parsed_at":"2025-08-01T05:56:06.842Z","dependency_job_id":"256297f2-b799-4926-9359-1b56fcb60186","html_url":"https://github.com/sourcefuse/terraform-aws-arc-redshift","commit_stats":null,"previous_names":["sourcefuse/terraform-aws-arc-redshift"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sourcefuse/terraform-aws-arc-redshift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-redshift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-redshift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-redshift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-redshift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcefuse","download_url":"https://codeload.github.com/sourcefuse/terraform-aws-arc-redshift/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-redshift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33932048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-08-03T02:14:29.367Z","updated_at":"2026-06-05T07:01:44.288Z","avatar_url":"https://github.com/sourcefuse.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Module Banner](./static/banner.png)\n\n# [terraform-aws-arc-redshift](https://github.com/sourcefuse/terraform-aws-arc-redshift)\n\n\u003e **Module:** `sourcefuse/arc-redshift/aws`\n\n\u003e **Registry:** [https://registry.terraform.io/modules/sourcefuse/arc-redshift/aws](https://registry.terraform.io/modules/sourcefuse/arc-redshift/aws)\n\n\u003e **Category:** Analytics / Data Warehouse\n\n\u003e **Source:** [https://github.com/sourcefuse/terraform-aws-arc-redshift](https://github.com/sourcefuse/terraform-aws-arc-redshift)\n\n[![Latest Release](https://img.shields.io/github/release/sourcefuse/terraform-aws-arc-redshift.svg?style=for-the-badge)](https://github.com/sourcefuse/terraform-aws-arc-redshift/releases/latest)\n[![Last Updated](https://img.shields.io/github/last-commit/sourcefuse/terraform-aws-arc-redshift.svg?style=for-the-badge)](https://github.com/sourcefuse/terraform-aws-arc-redshift/commits)\n![Terraform](https://img.shields.io/badge/terraform-%235835CC.svg?style=for-the-badge\u0026logo=terraform\u0026logoColor=white)\n![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white)\n\n[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=sourcefuse_terraform-aws-arc-redshift\u0026token=a5aa0cb6f6f72af1f9146e6f0fa91e9de79ae952)](https://sonarcloud.io/summary/new_code?id=sourcefuse_terraform-aws-arc-redshift)\n\n\n## Overview\n\nCreates Amazon Redshift clusters or Redshift Serverless workgroups with VPC, encryption, parameter groups, and snapshot management.\n\n## Architecture\n\n![Architecture Diagram](./static/arch.png)\n\n## What It Does\n\n- Redshift provisioned cluster or Serverless workgroup\n- VPC and security group configuration\n- KMS encryption at rest\n- Parameter groups for cluster tuning\n- Automated snapshots and cross-region copy\n- IAM roles for S3 and Glue integration\n- Enhanced VPC routing\n\nFor more information about this repository and its usage, please see [Terraform AWS Redshift Module Usage Guide](https://github.com/sourcefuse/terraform-aws-arc-redshift/blob/main/docs/module-usage-guide/README.md).\n\n## Quickstart\n\n```hcl\nmodule \"redshift\" {\n  source                 = \"sourcefuse/arc-redshift/aws\"\n  version                = \"0.0.1\"\n\n  namespace   = var.namespace\n  environment = var.environment\n  name        = var.name\n\n  # Network configuration - using the subnets we created\n  vpc_id     = data.aws_vpc.vpc.id\n  subnet_ids = data.aws_subnets.private.ids\n\n  # Cluster configuration\n  database_name        = var.database_name\n  master_username      = var.master_username\n  manage_user_password = var.manage_user_password\n  security_group_data    = var.security_group_data\n  security_group_name           = var.security_group_name\n  node_type            = var.node_type\n  number_of_nodes      = var.node_count\n  cluster_type         = var.node_count \u003e 1 ? \"multi-node\" : \"single-node\"\n\n  # Other configuration\n  skip_final_snapshot = true\n  publicly_accessible = false\n  encrypted           = true\n\n  tags = module.tags.tags\n}\n```\n\n## Required Inputs\n\n| Name | Type | Description |\n|------|------|-------------|\n| `namespace` | `string` | Namespace prefix |\n| `environment` | `string` | Deployment environment |\n| `vpc_id` | `string` | VPC ID |\n| `subnet_ids` | `list(string)` | Subnet IDs |\n| `database_name` | `string` | Initial database name |\n| `master_username` | `string` | Master username |\n## Key Outputs\n\n| Name | Description |\n|------|-------------|\n| `cluster_endpoint` | Redshift cluster endpoint |\n| `cluster_id` | Redshift cluster identifier |\n## Full Variable \u0026 Output Reference\n\nThe complete inputs/outputs reference is auto-generated below.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.5.0 |\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.5.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 5.0 |\n| \u003ca name=\"requirement_random\"\u003e\u003c/a\u003e [random](#requirement\\_random) | ~\u003e 3.1 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 4.67.0 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_redshift_cluster\"\u003e\u003c/a\u003e [redshift\\_cluster](#module\\_redshift\\_cluster) | ./modules/redshift-cluster | n/a |\n| \u003ca name=\"module_redshift_serverless\"\u003e\u003c/a\u003e [redshift\\_serverless](#module\\_redshift\\_serverless) | ./modules/redshift-serverless | n/a |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_security_group_ids\"\u003e\u003c/a\u003e [additional\\_security\\_group\\_ids](#input\\_additional\\_security\\_group\\_ids) | Additional security group IDs to be added to the Redshift Serverless workgroup. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_admin_password\"\u003e\u003c/a\u003e [admin\\_password](#input\\_admin\\_password) | n/a | `string` | `null` | no |\n| \u003ca name=\"input_admin_username\"\u003e\u003c/a\u003e [admin\\_username](#input\\_admin\\_username) | Admin username for the Redshift Serverless namespace. | `string` | `\"admin\"` | no |\n| \u003ca name=\"input_allow_version_upgrade\"\u003e\u003c/a\u003e [allow\\_version\\_upgrade](#input\\_allow\\_version\\_upgrade) | If true, major version upgrades can be applied during maintenance windows | `bool` | `true` | no |\n| \u003ca name=\"input_automated_snapshot_retention_period\"\u003e\u003c/a\u003e [automated\\_snapshot\\_retention\\_period](#input\\_automated\\_snapshot\\_retention\\_period) | The number of days that automated snapshots are retained | `number` | `7` | no |\n| \u003ca name=\"input_base_capacity\"\u003e\u003c/a\u003e [base\\_capacity](#input\\_base\\_capacity) | The base data warehouse capacity in Redshift Processing Units (RPUs) | `number` | `32` | no |\n| \u003ca name=\"input_cluster_identifier\"\u003e\u003c/a\u003e [cluster\\_identifier](#input\\_cluster\\_identifier) | The Cluster Identifier | `string` | `null` | no |\n| \u003ca name=\"input_cluster_parameter_group_name\"\u003e\u003c/a\u003e [cluster\\_parameter\\_group\\_name](#input\\_cluster\\_parameter\\_group\\_name) | The name of the parameter group to be associated with this cluster | `string` | `null` | no |\n| \u003ca name=\"input_cluster_subnet_group_name\"\u003e\u003c/a\u003e [cluster\\_subnet\\_group\\_name](#input\\_cluster\\_subnet\\_group\\_name) | The name of a cluster subnet group to be associated with this cluster. If not specified, a new subnet group will be created | `string` | `null` | no |\n| \u003ca name=\"input_cluster_type\"\u003e\u003c/a\u003e [cluster\\_type](#input\\_cluster\\_type) | The cluster type to use. Either 'single-node' or 'multi-node' | `string` | `\"single-node\"` | no |\n| \u003ca name=\"input_config_parameters\"\u003e\u003c/a\u003e [config\\_parameters](#input\\_config\\_parameters) | A list of configuration parameters to apply to the Redshift Serverless namespace. | \u003cpre\u003elist(object({\u003cbr/\u003e    parameter_key   = string\u003cbr/\u003e    parameter_value = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_create_random_password\"\u003e\u003c/a\u003e [create\\_random\\_password](#input\\_create\\_random\\_password) | Determines whether to create random password for cluster `master_password` | `bool` | `true` | no |\n| \u003ca name=\"input_create_security_groups\"\u003e\u003c/a\u003e [create\\_security\\_groups](#input\\_create\\_security\\_groups) | Whether to create security groups for Redshift Serverless resources | `bool` | `true` | no |\n| \u003ca name=\"input_database_name\"\u003e\u003c/a\u003e [database\\_name](#input\\_database\\_name) | The name of the database to create | `string` | n/a | yes |\n| \u003ca name=\"input_egress_rules\"\u003e\u003c/a\u003e [egress\\_rules](#input\\_egress\\_rules) | A list of egress rules for the security group. | \u003cpre\u003elist(object({\u003cbr/\u003e    from_port   = number\u003cbr/\u003e    to_port     = number\u003cbr/\u003e    protocol    = string\u003cbr/\u003e    cidr_blocks = list(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_enable_serverless\"\u003e\u003c/a\u003e [enable\\_serverless](#input\\_enable\\_serverless) | Enable Redshift Serverless. If true, creates the serverless module; if false, creates the standard cluster module. | `bool` | `false` | no |\n| \u003ca name=\"input_encrypted\"\u003e\u003c/a\u003e [encrypted](#input\\_encrypted) | If true, the data in the cluster is encrypted at rest | `bool` | `true` | no |\n| \u003ca name=\"input_enhanced_vpc_routing\"\u003e\u003c/a\u003e [enhanced\\_vpc\\_routing](#input\\_enhanced\\_vpc\\_routing) | If true, enhanced VPC routing is enabled | `bool` | `false` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Name of the environment, i.e. dev, stage, prod | `string` | n/a | yes |\n| \u003ca name=\"input_final_snapshot_identifier\"\u003e\u003c/a\u003e [final\\_snapshot\\_identifier](#input\\_final\\_snapshot\\_identifier) | The identifier of the final snapshot that is to be created immediately before deleting the cluster | `string` | `null` | no |\n| \u003ca name=\"input_ingress_rules\"\u003e\u003c/a\u003e [ingress\\_rules](#input\\_ingress\\_rules) | A list of ingress rules for the security group. | \u003cpre\u003elist(object({\u003cbr/\u003e    from_port   = number\u003cbr/\u003e    to_port     = number\u003cbr/\u003e    protocol    = string\u003cbr/\u003e    cidr_blocks = list(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_kms_key_id\"\u003e\u003c/a\u003e [kms\\_key\\_id](#input\\_kms\\_key\\_id) | The ARN for the KMS encryption key | `string` | `null` | no |\n| \u003ca name=\"input_manage_admin_password\"\u003e\u003c/a\u003e [manage\\_admin\\_password](#input\\_manage\\_admin\\_password) | If true, Redshift will manage the admin password | `bool` | `false` | no |\n| \u003ca name=\"input_manage_user_password\"\u003e\u003c/a\u003e [manage\\_user\\_password](#input\\_manage\\_user\\_password) | Set to true to allow RDS to manage the master user password in Secrets Manager | `bool` | `null` | no |\n| \u003ca name=\"input_master_password\"\u003e\u003c/a\u003e [master\\_password](#input\\_master\\_password) | Password for the master DB user. If null, a random password will be generated | `string` | `null` | no |\n| \u003ca name=\"input_master_username\"\u003e\u003c/a\u003e [master\\_username](#input\\_master\\_username) | Username for the master DB user | `string` | n/a | yes |\n| \u003ca name=\"input_max_capacity\"\u003e\u003c/a\u003e [max\\_capacity](#input\\_max\\_capacity) | The maximum data warehouse capacity in Redshift Processing Units (RPUs) | `number` | `512` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name for the Redshift resources | `string` | n/a | yes |\n| \u003ca name=\"input_namespace\"\u003e\u003c/a\u003e [namespace](#input\\_namespace) | Namespace of the project, i.e. arc | `string` | n/a | yes |\n| \u003ca name=\"input_namespace_name\"\u003e\u003c/a\u003e [namespace\\_name](#input\\_namespace\\_name) | The name of the Redshift Serverless namespace | `string` | `null` | no |\n| \u003ca name=\"input_node_type\"\u003e\u003c/a\u003e [node\\_type](#input\\_node\\_type) | The node type to be provisioned for the cluster | `string` | `\"dc2.large\"` | no |\n| \u003ca name=\"input_number_of_nodes\"\u003e\u003c/a\u003e [number\\_of\\_nodes](#input\\_number\\_of\\_nodes) | Number of nodes in the cluster | `number` | `1` | no |\n| \u003ca name=\"input_port\"\u003e\u003c/a\u003e [port](#input\\_port) | The port number on which the cluster accepts incoming connections | `number` | `5439` | no |\n| \u003ca name=\"input_publicly_accessible\"\u003e\u003c/a\u003e [publicly\\_accessible](#input\\_publicly\\_accessible) | If true, the cluster can be accessed from a public network | `bool` | `false` | no |\n| \u003ca name=\"input_security_group_data\"\u003e\u003c/a\u003e [security\\_group\\_data](#input\\_security\\_group\\_data) | (optional) Security Group data | \u003cpre\u003eobject({\u003cbr/\u003e    security_group_ids_to_attach = optional(list(string), [])\u003cbr/\u003e    create                       = optional(bool, true)\u003cbr/\u003e    description                  = optional(string, null)\u003cbr/\u003e    ingress_rules = optional(list(object({\u003cbr/\u003e      description              = optional(string, null)\u003cbr/\u003e      cidr_block               = optional(string, null)\u003cbr/\u003e      source_security_group_id = optional(string, null)\u003cbr/\u003e      from_port                = number\u003cbr/\u003e      ip_protocol              = string\u003cbr/\u003e      to_port                  = string\u003cbr/\u003e      self                     = optional(bool, false)\u003cbr/\u003e    })), [])\u003cbr/\u003e    egress_rules = optional(list(object({\u003cbr/\u003e      description                   = optional(string, null)\u003cbr/\u003e      cidr_block                    = optional(string, null)\u003cbr/\u003e      destination_security_group_id = optional(string, null)\u003cbr/\u003e      from_port                     = number\u003cbr/\u003e      ip_protocol                   = string\u003cbr/\u003e      to_port                       = string\u003cbr/\u003e      prefix_list_id                = optional(string, null)\u003cbr/\u003e    })), [])\u003cbr/\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr/\u003e  \"create\": false\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_security_group_name\"\u003e\u003c/a\u003e [security\\_group\\_name](#input\\_security\\_group\\_name) | Redshift Serverless resourcesr security group name | `string` | `\"Redshift-Serverless-sg\"` | no |\n| \u003ca name=\"input_skip_final_snapshot\"\u003e\u003c/a\u003e [skip\\_final\\_snapshot](#input\\_skip\\_final\\_snapshot) | Determines whether a final snapshot of the cluster is created before Redshift deletes it | `bool` | `false` | no |\n| \u003ca name=\"input_snapshot_identifier\"\u003e\u003c/a\u003e [snapshot\\_identifier](#input\\_snapshot\\_identifier) | The name of the snapshot from which to create the new cluster | `string` | `null` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | List of subnet IDs for the Redshift subnet group | `list(string)` | `[]` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to apply to resources | `map(string)` | `{}` | no |\n| \u003ca name=\"input_track_name\"\u003e\u003c/a\u003e [track\\_name](#input\\_track\\_name) | Optional track name for Redshift Serverless (used for versioning or preview tracks). | `string` | `null` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | ID of the VPC for Redshift | `string` | `null` | no |\n| \u003ca name=\"input_vpc_security_group_ids\"\u003e\u003c/a\u003e [vpc\\_security\\_group\\_ids](#input\\_vpc\\_security\\_group\\_ids) | A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster | `list(string)` | `[]` | no |\n| \u003ca name=\"input_workgroup_name\"\u003e\u003c/a\u003e [workgroup\\_name](#input\\_workgroup\\_name) | The name of the Redshift Serverless workgroup | `string` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_redshift_cluster_arn\"\u003e\u003c/a\u003e [redshift\\_cluster\\_arn](#output\\_redshift\\_cluster\\_arn) | The ARN of the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_database_name\"\u003e\u003c/a\u003e [redshift\\_cluster\\_database\\_name](#output\\_redshift\\_cluster\\_database\\_name) | The name of the default database in the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_endpoint\"\u003e\u003c/a\u003e [redshift\\_cluster\\_endpoint](#output\\_redshift\\_cluster\\_endpoint) | The connection endpoint for the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_hostname\"\u003e\u003c/a\u003e [redshift\\_cluster\\_hostname](#output\\_redshift\\_cluster\\_hostname) | The hostname of the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_id\"\u003e\u003c/a\u003e [redshift\\_cluster\\_id](#output\\_redshift\\_cluster\\_id) | The ID of the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_namespace_arn\"\u003e\u003c/a\u003e [redshift\\_cluster\\_namespace\\_arn](#output\\_redshift\\_cluster\\_namespace\\_arn) | The ARN of the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_port\"\u003e\u003c/a\u003e [redshift\\_cluster\\_port](#output\\_redshift\\_cluster\\_port) | The port of the Redshift cluster |\n| \u003ca name=\"output_redshift_cluster_security_group_id\"\u003e\u003c/a\u003e [redshift\\_cluster\\_security\\_group\\_id](#output\\_redshift\\_cluster\\_security\\_group\\_id) | The ID of the security group associated with the Redshift cluster |\n| \u003ca name=\"output_redshift_database_name\"\u003e\u003c/a\u003e [redshift\\_database\\_name](#output\\_redshift\\_database\\_name) | The name of the database in the Redshift deployment |\n| \u003ca name=\"output_redshift_endpoint\"\u003e\u003c/a\u003e [redshift\\_endpoint](#output\\_redshift\\_endpoint) | The endpoint of the Redshift deployment (either cluster or serverless) |\n| \u003ca name=\"output_redshift_serverless_endpoint\"\u003e\u003c/a\u003e [redshift\\_serverless\\_endpoint](#output\\_redshift\\_serverless\\_endpoint) | The endpoint URL for the Redshift Serverless workgroup |\n| \u003ca name=\"output_redshift_serverless_namespace_arn\"\u003e\u003c/a\u003e [redshift\\_serverless\\_namespace\\_arn](#output\\_redshift\\_serverless\\_namespace\\_arn) | The ARN of the Redshift Serverless namespace |\n| \u003ca name=\"output_redshift_serverless_namespace_id\"\u003e\u003c/a\u003e [redshift\\_serverless\\_namespace\\_id](#output\\_redshift\\_serverless\\_namespace\\_id) | The ID of the Redshift Serverless namespace |\n| \u003ca name=\"output_redshift_serverless_workgroup_arn\"\u003e\u003c/a\u003e [redshift\\_serverless\\_workgroup\\_arn](#output\\_redshift\\_serverless\\_workgroup\\_arn) | The ARN of the Redshift Serverless workgroup |\n| \u003ca name=\"output_redshift_serverless_workgroup_id\"\u003e\u003c/a\u003e [redshift\\_serverless\\_workgroup\\_id](#output\\_redshift\\_serverless\\_workgroup\\_id) | The ID of the Redshift Serverless workgroup |\n| \u003ca name=\"output_redshift_subnet_group_id\"\u003e\u003c/a\u003e [redshift\\_subnet\\_group\\_id](#output\\_redshift\\_subnet\\_group\\_id) | The ID of the Redshift subnet group |\n\u003c!-- END_TF_DOCS --\u003e\n\n## Versioning  \nThis project uses a `.version` file at the root of the repo which the pipeline reads from and does a git tag.  \n\nWhen you intend to commit to `main`, you will need to increment this version. Once the project is merged,\nthe pipeline will kick off and tag the latest git commit.  \n\n## Development\n\n### Prerequisites\n\n- [terraform](https://learn.hashicorp.com/terraform/getting-started/install#installing-terraform)\n- [terraform-docs](https://github.com/segmentio/terraform-docs)\n- [pre-commit](https://pre-commit.com/#install)\n- [golang](https://golang.org/doc/install#install)\n- [golint](https://github.com/golang/lint#installation)\n\n### Configurations\n\n- Configure pre-commit hooks\n  ```sh\n  pre-commit install\n  ```\n\n### Versioning\n\nwhile Contributing or doing git commit please specify the breaking change in your commit message whether its major,minor or patch\n\nFor Example\n\n```sh\ngit commit -m \"your commit message #major\"\n```\nBy specifying this , it will bump the version and if you don't specify this in your commit message then by default it will consider patch and will bump that accordingly\n\n### Tests\n- Tests are available in `test` directory\n- Configure the dependencies\n  ```sh\n  cd test/\n  go mod init github.com/sourcefuse/terraform-aws-refarch-\u003cmodule_name\u003e\n  go get github.com/gruntwork-io/terratest/modules/terraform\n  ```\n- Now execute the test  \n  ```sh\n  go test -timeout  30m\n  ```\n\n## Contributing\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for commit conventions and development setup.\n\n## Authors\n\nThis project is authored by:\n- SourceFuse ARC Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-redshift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-redshift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-redshift/lists"}