{"id":13623398,"url":"https://github.com/infraspecdev/terraform-aws-gitlab","last_synced_at":"2026-01-27T03:32:37.880Z","repository":{"id":185013622,"uuid":"590402323","full_name":"infraspecdev/terraform-aws-gitlab","owner":"infraspecdev","description":"AWS Terraform module to setup single instance Omnibus Gitlab","archived":false,"fork":false,"pushed_at":"2024-05-14T08:12:30.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-01T00:52:50.162Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infraspecdev.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-18T10:33:38.000Z","updated_at":"2024-05-14T08:12:33.000Z","dependencies_parsed_at":"2024-06-12T10:18:22.021Z","dependency_job_id":"7a21a05d-7562-4067-9e8e-0cfad9df9ef8","html_url":"https://github.com/infraspecdev/terraform-aws-gitlab","commit_stats":null,"previous_names":["infraspecdev/terraform-aws-gitlab"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/infraspecdev/terraform-aws-gitlab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-gitlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-gitlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-gitlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-gitlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infraspecdev","download_url":"https://codeload.github.com/infraspecdev/terraform-aws-gitlab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infraspecdev%2Fterraform-aws-gitlab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28799506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T01:07:07.743Z","status":"online","status_checked_at":"2026-01-27T02:00:07.755Z","response_time":168,"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":"2024-08-01T21:01:31.331Z","updated_at":"2026-01-27T03:32:37.845Z","avatar_url":"https://github.com/infraspecdev.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"# Terraform module for Gitlab Omnibus on AWS\n\nThis terraform module create the entire infrastructure on AWS needed for setting up single instance Gitlab Omnibus. AWS hosted offerings for Postgres(RDS) and Redis(Elasticache) are used in this setup.\n\nAlong with that, the module takes care of setting up the following infrastructure components:\n\n- Classic load balancer with HTTPS and SSH connection support\n- Gitlab subdomain creation using Route53 and automatic certificate generation using ACM. _(Hosted zone is needed to be on Route53)._\n- Backup upload to Amazon S3\n- Support for Amazon SES as the SMTP service for Gitlab along with domain identity verification. _(Hosted zone should be on Route53)_\n\nAnsible playbook is used for configuring the _gitlab.rb_ file. Any change in gitlab config is detected at the time of _terraform apply_ \nand config changes are applied. Any additional configuration can be added to **./gitlab_config/gitlab_additional.rb** file and\nthe same will be applied to _gitlab.rb_ on _terraform apply._\n\n## Usage\n\n```hcl\nmodule \"gitlab\" {\n  source                              = \"infraspecdev/gitlab/aws\"\n  version                             = \"1.0.0\"\n  gitlab_domain                       = \"gitlab\"\n  gitlab_fqdn                         = \"gitlab.example.com\"\n  hosted_zone                         = \"example.com\"\n  private_subnet_id                   = \"subnet-ghdhdge3hduiawu\"\n  public_subnet_ids                   = [\"subnet-dgweyud78323d2\", \"subnet-d32dgt678q23dd23\", \"subnet-dh3278d8723hd823\"]\n  vpc_id                              = \"vpc-678dg328gd867gd2\"\n  gitlab_ssh_public_key               = \"ssh public_key\"\n  gitlab_pg_password                  = \"foobarbaz\"\n  gitlab_pg_subnet_ids                = [\"subnet-fhdeu7i8whdf78we\", \"subnet-dgt367gd7362h78d\"]\n  gitlab_pg_username                  = \"gitlab\"\n  gitlab_redis_create_parameter_group = true\n  gitlab_redis_parameter_group        = {\n    name   = \"gitlab-redis\"\n    family = \"redis7\"\n  }\n  gitlab_redis_subnet_ids             = [\"subnet-fhdeu7i8whdf78we\", \"subnet-dgt367gd7362h78d\"]\n  enable_gitlab_backup_to_s3          = true\n  gitlab_backup_bucket_name           = \"example-gitlab-backup\"\n  private_key                         = var.private_key\n  create_ses_identity                 = true\n}\n```\n\n## Examples\n\n[Example](examples/complete-gitlab-setup)\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.3.0  |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws)                   | \u003e= 4.49.0 |\n| \u003ca name=\"requirement_local\"\u003e\u003c/a\u003e [local](#requirement\\_local)             | \u003e= 2.3.0  |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null)                | \u003e= 3.2.1  |\n| \u003ca name=\"requirement_template\"\u003e\u003c/a\u003e [template](#requirement\\_template)    | \u003e= 2.2.0  |\n\n## Providers\n\n| Name                                                             | Version  |\n|------------------------------------------------------------------|----------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws)                | 4.50.0   |\n| \u003ca name=\"provider_local\"\u003e\u003c/a\u003e [local](#provider\\_local)          | \u003e= 2.3.0 |\n| \u003ca name=\"provider_null\"\u003e\u003c/a\u003e [null](#provider\\_null)             | \u003e= 3.2.1 |\n| \u003ca name=\"provider_template\"\u003e\u003c/a\u003e [template](#provider\\_template) | \u003e= 2.2.0 |\n\n## Modules\n\n| Name                                                              | Source                                             | Version  |\n|-------------------------------------------------------------------|----------------------------------------------------|----------|\n| \u003ca name=\"module_acm\"\u003e\u003c/a\u003e [acm](#module\\_acm)                     | terraform-aws-modules/acm/aws                      | ~\u003e 4.0   |\n| \u003ca name=\"module_elb\"\u003e\u003c/a\u003e [elb](#module\\_elb)                     | terraform-aws-modules/elb/aws                      | ~\u003e 2.0   |\n| \u003ca name=\"module_gitlab_pg\"\u003e\u003c/a\u003e [gitlab\\_pg](#module\\_gitlab\\_pg) | terraform-aws-modules/rds/aws                      | ~\u003e 5.2.3 |\n| \u003ca name=\"module_records\"\u003e\u003c/a\u003e [records](#module\\_records)         | terraform-aws-modules/route53/aws//modules/records | ~\u003e 2.0   |\n\n## Resources\n\n| Name                                                                                                                                                                           | Type        |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|\n| [aws_elasticache_cluster.gitlab_redis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_cluster)                                        | resource    |\n| [aws_elasticache_parameter_group.gitlab_redis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_parameter_group)                        | resource    |\n| [aws_elasticache_subnet_group.gitlab_redis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_subnet_group)                              | resource    |\n| [aws_iam_access_key.gitlab_smtp_user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_access_key)                                              | resource    |\n| [aws_iam_instance_profile.gitlab](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile)                                            | resource    |\n| [aws_iam_policy.gitlab_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy)                                                         | resource    |\n| [aws_iam_policy.gitlab_ses_sender](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy)                                                     | resource    |\n| [aws_iam_role.gitlab_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role)                                                             | resource    |\n| [aws_iam_user.gitlab_smtp_user](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user)                                                          | resource    |\n| [aws_iam_user_policy_attachment.gitlab_ses_sender](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy_attachment)                     | resource    |\n| [aws_instance.gitlab](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance)                                                                    | resource    |\n| [aws_key_pair.gitlab_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair)                                                                | resource    |\n| [aws_route53_record.email_domain_amazonses_verification_record](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record)                    | resource    |\n| [aws_s3_bucket.gitlab_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket)                                                           | resource    |\n| [aws_s3_bucket_acl.gitlab_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl)                                                   | resource    |\n| [aws_security_group.gitlab](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group)                                                        | resource    |\n| [aws_security_group.gitlab_lb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group)                                                     | resource    |\n| [aws_security_group.gitlab_rds](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group)                                                    | resource    |\n| [aws_security_group.gitlab_redis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group)                                                  | resource    |\n| [aws_ses_domain_identity.email_domain](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ses_domain_identity)                                        | resource    |\n| [aws_ses_domain_identity_verification.email_domain_verification](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ses_domain_identity_verification) | resource    |\n| [local_sensitive_file.gitlab_config_file](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/sensitive_file)                                        | resource    |\n| [local_sensitive_file.rendered_gitlab_config_file](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/sensitive_file)                               | resource    |\n| [null_resource.gitlab_reconfigure](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource)                                                      | resource    |\n| [aws_iam_policy_document.gitlab_s3_backup](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document)                                 | data source |\n| [aws_iam_policy_document.gitlab_ses_sender](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document)                                | data source |\n| [aws_route53_zone.email_domain](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone)                                                   | data source |\n| [aws_route53_zone.zone](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone)                                                           | data source |\n| [aws_vpc.vpc](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc)                                                                              | data source |\n| [local_sensitive_file.gitlab_additional_config](https://registry.terraform.io/providers/hashicorp/local/latest/docs/data-sources/sensitive_file)                               | data source |\n| [template_file.gitlab_config_template](https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/file)                                               | data source |\n\n## Inputs\n\n| Name                                                                                                                                                  | Description                                                                                                                                          | Type                                                                      | Default                                                  | Required |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|----------------------------------------------------------|:--------:|\n| \u003ca name=\"input_acm_certificate_arn\"\u003e\u003c/a\u003e [acm\\_certificate\\_arn](#input\\_acm\\_certificate\\_arn)                                                       | ARN for ACM certificate to use for Gitlab domain.                                                                                                    | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_additional_tags\"\u003e\u003c/a\u003e [additional\\_tags](#input\\_additional\\_tags)                                                                     | A map of additional tags to attach to the resources.                                                                                                 | `map(string)`                                                             | `{}`                                                     |    no    |\n| \u003ca name=\"input_ami_id\"\u003e\u003c/a\u003e [ami\\_id](#input\\_ami\\_id)                                                                                                | Gitlab published AMI id. Default is GitLab CE 14.9.3 ap-south-1 region AMI.                                                                          | `string`                                                                  | `\"ami-00c7d9a63c83ba329\"`                                |    no    |\n| \u003ca name=\"input_aws_region\"\u003e\u003c/a\u003e [aws\\_region](#input\\_aws\\_region)                                                                                    | AWS region code. Eg: ap-south-1                                                                                                                      | `string`                                                                  | `\"ap-south-1\"`                                           |    no    |\n| \u003ca name=\"input_create_acm_certificate\"\u003e\u003c/a\u003e [create\\_acm\\_certificate](#input\\_create\\_acm\\_certificate)                                              | Whether to create SSL certificate for the Gitlab domain. If false, yo need to provide a valid AMC certificate arn in acm\\_certificate\\_arn variable. | `bool`                                                                    | `true`                                                   |    no    |\n| \u003ca name=\"input_create_gitlab_route53_record\"\u003e\u003c/a\u003e [create\\_gitlab\\_route53\\_record](#input\\_create\\_gitlab\\_route53\\_record)                          | Whether to create a domain in Route53 for your Gitlab.                                                                                               | `bool`                                                                    | `true`                                                   |    no    |\n| \u003ca name=\"input_create_ses_identity\"\u003e\u003c/a\u003e [create\\_ses\\_identity](#input\\_create\\_ses\\_identity)                                                       | Create a Amazon SES domain identity for Gitlab SMTP service. The domain should be hosted on Route53.                                                 | `bool`                                                                    | `false`                                                  |    no    |\n| \u003ca name=\"input_enable_gitlab_backup_to_s3\"\u003e\u003c/a\u003e [enable\\_gitlab\\_backup\\_to\\_s3](#input\\_enable\\_gitlab\\_backup\\_to\\_s3)                              | Enable Gitlab backup on S3 bucket                                                                                                                    | `bool`                                                                    | `false`                                                  |    no    |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment)                                                                                   | Development environment. Eg: staging, production, etc.                                                                                               | `string`                                                                  | `\"production\"`                                           |    no    |\n| \u003ca name=\"input_gitlab_backup_bucket_name\"\u003e\u003c/a\u003e [gitlab\\_backup\\_bucket\\_name](#input\\_gitlab\\_backup\\_bucket\\_name)                                   | Name of S3 bucket to be used for Gitlab backup                                                                                                       | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_gitlab_domain\"\u003e\u003c/a\u003e [gitlab\\_domain](#input\\_gitlab\\_domain)                                                                           | Domain name for the hosted Gitlab instance. Eg: gitlab in gitlab.example.com                                                                         | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_gitlab_fqdn\"\u003e\u003c/a\u003e [gitlab\\_fqdn](#input\\_gitlab\\_fqdn)                                                                                 | Fully qualified domain name for the hosted Gitlab instance. Eg: gitlab.example.com                                                                   | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_gitlab_pg_allocated_storage\"\u003e\u003c/a\u003e [gitlab\\_pg\\_allocated\\_storage](#input\\_gitlab\\_pg\\_allocated\\_storage)                             | Gitlab RDS Postgres allocated storage                                                                                                                | `number`                                                                  | `100`                                                    |    no    |\n| \u003ca name=\"input_gitlab_pg_create_db_parameter_group\"\u003e\u003c/a\u003e [gitlab\\_pg\\_create\\_db\\_parameter\\_group](#input\\_gitlab\\_pg\\_create\\_db\\_parameter\\_group) | Create parameter group for Gitlab RDS                                                                                                                | `bool`                                                                    | `false`                                                  |    no    |\n| \u003ca name=\"input_gitlab_pg_db_instance_class\"\u003e\u003c/a\u003e [gitlab\\_pg\\_db\\_instance\\_class](#input\\_gitlab\\_pg\\_db\\_instance\\_class)                           | Postgres RDS instance class                                                                                                                          | `string`                                                                  | `\"db.m5.large\"`                                          |    no    |\n| \u003ca name=\"input_gitlab_pg_db_name\"\u003e\u003c/a\u003e [gitlab\\_pg\\_db\\_name](#input\\_gitlab\\_pg\\_db\\_name)                                                           | Postgres DB name for Gitlab                                                                                                                          | `string`                                                                  | `\"gitlabhq-production\"`                                  |    no    |\n| \u003ca name=\"input_gitlab_pg_engine_version\"\u003e\u003c/a\u003e [gitlab\\_pg\\_engine\\_version](#input\\_gitlab\\_pg\\_engine\\_version)                                      | Postgres engine version                                                                                                                              | `string`                                                                  | `\"12.11\"`                                                |    no    |\n| \u003ca name=\"input_gitlab_pg_parameter_group_name\"\u003e\u003c/a\u003e [gitlab\\_pg\\_parameter\\_group\\_name](#input\\_gitlab\\_pg\\_parameter\\_group\\_name)                  | Parameter Group name for Gitlab RDS Postgres                                                                                                         | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_gitlab_pg_parameters\"\u003e\u003c/a\u003e [gitlab\\_pg\\_parameters](#input\\_gitlab\\_pg\\_parameters)                                                    | Parameter list for Gitlab RDS                                                                                                                        | `list(map(string))`                                                       | `[]`                                                     |    no    |\n| \u003ca name=\"input_gitlab_pg_password\"\u003e\u003c/a\u003e [gitlab\\_pg\\_password](#input\\_gitlab\\_pg\\_password)                                                          | Password for Gitlab Postgres DB                                                                                                                      | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_gitlab_pg_port\"\u003e\u003c/a\u003e [gitlab\\_pg\\_port](#input\\_gitlab\\_pg\\_port)                                                                      | The port on which the DB accepts connections                                                                                                         | `number`                                                                  | `5432`                                                   |    no    |\n| \u003ca name=\"input_gitlab_pg_publicly_accessible\"\u003e\u003c/a\u003e [gitlab\\_pg\\_publicly\\_accessible](#input\\_gitlab\\_pg\\_publicly\\_accessible)                       | Allow Gitlab RDS publicly accessible                                                                                                                 | `bool`                                                                    | `false`                                                  |    no    |\n| \u003ca name=\"input_gitlab_pg_storage_type\"\u003e\u003c/a\u003e [gitlab\\_pg\\_storage\\_type](#input\\_gitlab\\_pg\\_storage\\_type)                                            | Storage type for Gitlab  RDS Postgres                                                                                                                | `string`                                                                  | `\"gp3\"`                                                  |    no    |\n| \u003ca name=\"input_gitlab_pg_subnet_ids\"\u003e\u003c/a\u003e [gitlab\\_pg\\_subnet\\_ids](#input\\_gitlab\\_pg\\_subnet\\_ids)                                                  | List of subnet-ids for Gitlab RDS                                                                                                                    | `list(string)`                                                            | n/a                                                      |   yes    |\n| \u003ca name=\"input_gitlab_pg_username\"\u003e\u003c/a\u003e [gitlab\\_pg\\_username](#input\\_gitlab\\_pg\\_username)                                                          | Username for Gitlab Postgres DB                                                                                                                      | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_gitlab_redis_create_parameter_group\"\u003e\u003c/a\u003e [gitlab\\_redis\\_create\\_parameter\\_group](#input\\_gitlab\\_redis\\_create\\_parameter\\_group)   | Create parameter group for Gitlab Redis                                                                                                              | `bool`                                                                    | `false`                                                  |    no    |\n| \u003ca name=\"input_gitlab_redis_create_subnet_group\"\u003e\u003c/a\u003e [gitlab\\_redis\\_create\\_subnet\\_group](#input\\_gitlab\\_redis\\_create\\_subnet\\_group)            | Create subnet group for Gitlab Redis                                                                                                                 | `bool`                                                                    | `true`                                                   |    no    |\n| \u003ca name=\"input_gitlab_redis_engine_version\"\u003e\u003c/a\u003e [gitlab\\_redis\\_engine\\_version](#input\\_gitlab\\_redis\\_engine\\_version)                             | Redis engine version for Gitlab Redis                                                                                                                | `string`                                                                  | `\"7.0\"`                                                  |    no    |\n| \u003ca name=\"input_gitlab_redis_node_type\"\u003e\u003c/a\u003e [gitlab\\_redis\\_node\\_type](#input\\_gitlab\\_redis\\_node\\_type)                                            | Instance class for Gitlab Redis                                                                                                                      | `string`                                                                  | `\"cache.t3.medium\"`                                      |    no    |\n| \u003ca name=\"input_gitlab_redis_num_cache_nodes\"\u003e\u003c/a\u003e [gitlab\\_redis\\_num\\_cache\\_nodes](#input\\_gitlab\\_redis\\_num\\_cache\\_nodes)                        | Number of cache node in Gitlab Redis                                                                                                                 | `number`                                                                  | `1`                                                      |    no    |\n| \u003ca name=\"input_gitlab_redis_parameter_group\"\u003e\u003c/a\u003e [gitlab\\_redis\\_parameter\\_group](#input\\_gitlab\\_redis\\_parameter\\_group)                          | Gitlab Redis Parameter group config                                                                                                                  | \u003cpre\u003eobject({\u003cbr\u003e    name   = string\u003cbr\u003e    family = string\u003cbr\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr\u003e  \"family\": null,\u003cbr\u003e  \"name\": null\u003cbr\u003e}\u003c/pre\u003e |    no    |\n| \u003ca name=\"input_gitlab_redis_parameter_group_name\"\u003e\u003c/a\u003e [gitlab\\_redis\\_parameter\\_group\\_name](#input\\_gitlab\\_redis\\_parameter\\_group\\_name)         | Parameter group name for Gitlab Redis                                                                                                                | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_gitlab_redis_port\"\u003e\u003c/a\u003e [gitlab\\_redis\\_port](#input\\_gitlab\\_redis\\_port)                                                             | Redis port for Gitlab Redis                                                                                                                          | `number`                                                                  | `6379`                                                   |    no    |\n| \u003ca name=\"input_gitlab_redis_subnet_group_name\"\u003e\u003c/a\u003e [gitlab\\_redis\\_subnet\\_group\\_name](#input\\_gitlab\\_redis\\_subnet\\_group\\_name)                  | Subnet group name for Gitlab Redis                                                                                                                   | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_gitlab_redis_subnet_ids\"\u003e\u003c/a\u003e [gitlab\\_redis\\_subnet\\_ids](#input\\_gitlab\\_redis\\_subnet\\_ids)                                         | List of subnet-ids for Gitlab Redis                                                                                                                  | `list(string)`                                                            | `[]`                                                     |    no    |\n| \u003ca name=\"input_gitlab_ssh_public_key\"\u003e\u003c/a\u003e [gitlab\\_ssh\\_public\\_key](#input\\_gitlab\\_ssh\\_public\\_key)                                               | Public key to the key pair to access Gitlab over SSH                                                                                                 | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_healthcheck_healthy_threshold\"\u003e\u003c/a\u003e [healthcheck\\_healthy\\_threshold](#input\\_healthcheck\\_healthy\\_threshold)                         | Number of consecutive health checks successes required before considering an unhealthy target healthy.                                               | `number`                                                                  | `3`                                                      |    no    |\n| \u003ca name=\"input_healthcheck_interval\"\u003e\u003c/a\u003e [healthcheck\\_interval](#input\\_healthcheck\\_interval)                                                      | Approximate amount of time, in seconds, between health checks of an individual target.                                                               | `number`                                                                  | `30`                                                     |    no    |\n| \u003ca name=\"input_healthcheck_path\"\u003e\u003c/a\u003e [healthcheck\\_path](#input\\_healthcheck\\_path)                                                                  | Destination for the health check request.                                                                                                            | `string`                                                                  | `\"/-/readiness\"`                                         |    no    |\n| \u003ca name=\"input_healthcheck_port\"\u003e\u003c/a\u003e [healthcheck\\_port](#input\\_healthcheck\\_port)                                                                  | Port to use to connect with the target.                                                                                                              | `string`                                                                  | `\"80\"`                                                   |    no    |\n| \u003ca name=\"input_healthcheck_protocol\"\u003e\u003c/a\u003e [healthcheck\\_protocol](#input\\_healthcheck\\_protocol)                                                      | Protocol to use to connect with the target.                                                                                                          | `string`                                                                  | `\"HTTP\"`                                                 |    no    |\n| \u003ca name=\"input_healthcheck_timeout\"\u003e\u003c/a\u003e [healthcheck\\_timeout](#input\\_healthcheck\\_timeout)                                                         | Amount of time, in seconds, during which no response means a failed health check.                                                                    | `number`                                                                  | `5`                                                      |    no    |\n| \u003ca name=\"input_healthcheck_unhealthy_threshold\"\u003e\u003c/a\u003e [healthcheck\\_unhealthy\\_threshold](#input\\_healthcheck\\_unhealthy\\_threshold)                   | Number of consecutive health check failures required before considering the target unhealthy.                                                        | `number`                                                                  | `3`                                                      |    no    |\n| \u003ca name=\"input_hosted_zone\"\u003e\u003c/a\u003e [hosted\\_zone](#input\\_hosted\\_zone)                                                                                 | Route53 hosted zone where gitlab domain will be created. Eg: example.com                                                                             | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_instance_type\"\u003e\u003c/a\u003e [instance\\_type](#input\\_instance\\_type)                                                                           | Gitlab EC2 instance type. Default is c5.xlarge.                                                                                                      | `string`                                                                  | `\"c5.xlarge\"`                                            |    no    |\n| \u003ca name=\"input_private_key\"\u003e\u003c/a\u003e [private\\_key](#input\\_private\\_key)                                                                                 | Private key to execute ansible playbook on Gitlab instance.                                                                                          | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_private_subnet_id\"\u003e\u003c/a\u003e [private\\_subnet\\_id](#input\\_private\\_subnet\\_id)                                                             | Id of a private subnet for the VPC where Gitlab instance is located.                                                                                 | `string`                                                                  | n/a                                                      |   yes    |\n| \u003ca name=\"input_public_subnet_ids\"\u003e\u003c/a\u003e [public\\_subnet\\_ids](#input\\_public\\_subnet\\_ids)                                                             | List of public subnet Ids for Gitlab load balancer.                                                                                                  | `list(string)`                                                            | n/a                                                      |   yes    |\n| \u003ca name=\"input_ses_domain\"\u003e\u003c/a\u003e [ses\\_domain](#input\\_ses\\_domain)                                                                                    | Route53 hosted domain name for Amazon SES. If no value provided, value of Gitlab hosted zone will be assumed as default.                             | `string`                                                                  | `null`                                                   |    no    |\n| \u003ca name=\"input_ses_username\"\u003e\u003c/a\u003e [ses\\_username](#input\\_ses\\_username)                                                                              | Username for Gitlab SMTP user                                                                                                                        | `string`                                                                  | `\"gitlab-smtp-user\"`                                     |    no    |\n| \u003ca name=\"input_volume_iops\"\u003e\u003c/a\u003e [volume\\_iops](#input\\_volume\\_iops)                                                                                 | IOPS for the Gitlab EBS volume                                                                                                                       | `number`                                                                  | `3000`                                                   |    no    |\n| \u003ca name=\"input_volume_size\"\u003e\u003c/a\u003e [volume\\_size](#input\\_volume\\_size)                                                                                 | Size of root EBS volume for Gitlab instance.                                                                                                         | `number`                                                                  | `100`                                                    |    no    |\n| \u003ca name=\"input_volume_type\"\u003e\u003c/a\u003e [volume\\_type](#input\\_volume\\_type)                                                                                 | Root EBS volume type for Gitlab instance.                                                                                                            | `string`                                                                  | `\"gp3\"`                                                  |    no    |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id)                                                                                                | Id for VPC where Gitlab instance is located.                                                                                                         | `string`                                                                  | n/a                                                      |   yes    |\n\n## Outputs\n\n| Name                                                                                                       | Description                                |\n|------------------------------------------------------------------------------------------------------------|--------------------------------------------|\n| \u003ca name=\"output_acm_certificate_arn\"\u003e\u003c/a\u003e [acm\\_certificate\\_arn](#output\\_acm\\_certificate\\_arn)          | The ARN of the certificate.                |\n| \u003ca name=\"output_acm_certificate_status\"\u003e\u003c/a\u003e [acm\\_certificate\\_status](#output\\_acm\\_certificate\\_status) | Status of the certificate.                 |\n| \u003ca name=\"output_gitlab_complete_url\"\u003e\u003c/a\u003e [gitlab\\_complete\\_url](#output\\_gitlab\\_complete\\_url)          | n/a                                        |\n| \u003ca name=\"output_gitlab_instance_id\"\u003e\u003c/a\u003e [gitlab\\_instance\\_id](#output\\_gitlab\\_instance\\_id)             | Instance Id of the Gitlab EC2 instance.    |\n| \u003ca name=\"output_gitlab_lb_arn\"\u003e\u003c/a\u003e [gitlab\\_lb\\_arn](#output\\_gitlab\\_lb\\_arn)                            | The ARN for Gitlab load balancer.          |\n| \u003ca name=\"output_gitlab_lb_sg_id\"\u003e\u003c/a\u003e [gitlab\\_lb\\_sg\\_id](#output\\_gitlab\\_lb\\_sg\\_id)                    | Id of Gitlab load balancer security group. |\n| \u003ca name=\"output_gitlab_pg_address\"\u003e\u003c/a\u003e [gitlab\\_pg\\_address](#output\\_gitlab\\_pg\\_address)                | Gitlab RDS DB instance address             |\n| \u003ca name=\"output_gitlab_redis_address\"\u003e\u003c/a\u003e [gitlab\\_redis\\_address](#output\\_gitlab\\_redis\\_address)       | Gitlab Redis cluster address               |\n| \u003ca name=\"output_gitlab_sg_id\"\u003e\u003c/a\u003e [gitlab\\_sg\\_id](#output\\_gitlab\\_sg\\_id)                               | Id of Gitlab instance security group.      |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfraspecdev%2Fterraform-aws-gitlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfraspecdev%2Fterraform-aws-gitlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfraspecdev%2Fterraform-aws-gitlab/lists"}