-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
319 lines (267 loc) · 7.93 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
variable "environment" {
type = string
default = "production"
description = "Development environment. Eg: staging, production, etc."
}
variable "vpc_id" {
type = string
description = "Id for VPC where Gitlab instance is located."
}
variable "ami_id" {
type = string
default = "ami-00c7d9a63c83ba329"
description = "Gitlab published AMI id. Default is GitLab CE 14.9.3 ap-south-1 region AMI."
}
variable "instance_type" {
type = string
default = "c5.xlarge"
description = "Gitlab EC2 instance type. Default is c5.xlarge."
}
variable "private_subnet_id" {
type = string
description = "Id of a private subnet for the VPC where Gitlab instance is located."
}
variable "volume_type" {
type = string
default = "gp3"
description = "Root EBS volume type for Gitlab instance."
}
variable "volume_size" {
type = number
default = 100
description = "Size of root EBS volume for Gitlab instance."
}
variable "volume_iops" {
type = number
default = 3000
description = "IOPS for the Gitlab EBS volume"
}
variable "public_subnet_ids" {
type = list(string)
description = "List of public subnet Ids for Gitlab load balancer."
}
variable "create_gitlab_route53_record" {
type = bool
default = true
description = "Whether to create a domain in Route53 for your Gitlab."
}
variable "gitlab_fqdn" {
type = string
description = "Fully qualified domain name for the hosted Gitlab instance. Eg: gitlab.example.com"
}
variable "gitlab_domain" {
type = string
description = "Domain name for the hosted Gitlab instance. Eg: gitlab in gitlab.example.com"
}
variable "hosted_zone" {
type = string
description = "Route53 hosted zone where gitlab domain will be created. Eg: example.com"
}
variable "create_acm_certificate" {
type = bool
default = true
description = "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."
}
variable "acm_certificate_arn" {
type = string
default = null
description = "ARN for ACM certificate to use for Gitlab domain."
}
variable "healthcheck_healthy_threshold" {
type = number
description = "Number of consecutive health checks successes required before considering an unhealthy target healthy."
default = 3
}
variable "healthcheck_unhealthy_threshold" {
type = number
description = "Number of consecutive health check failures required before considering the target unhealthy."
default = 3
}
variable "healthcheck_interval" {
type = number
description = "Approximate amount of time, in seconds, between health checks of an individual target."
default = 30
}
variable "healthcheck_path" {
type = string
default = "/-/readiness"
description = "Destination for the health check request."
}
variable "healthcheck_port" {
type = string
description = "Port to use to connect with the target."
default = "80"
}
variable "healthcheck_protocol" {
type = string
description = "Protocol to use to connect with the target."
default = "HTTP"
}
variable "healthcheck_timeout" {
type = number
description = "Amount of time, in seconds, during which no response means a failed health check."
default = 5
}
variable "gitlab_ssh_public_key" {
type = string
description = "Public key to the key pair to access Gitlab over SSH"
default = null
}
variable "gitlab_pg_create_db_parameter_group" {
type = bool
description = "Create parameter group for Gitlab RDS"
default = false
}
variable "gitlab_pg_parameter_group_name" {
type = string
description = "Parameter Group name for Gitlab RDS Postgres"
default = null
}
variable "gitlab_pg_parameters" {
type = list(map(string))
description = "Parameter list for Gitlab RDS"
default = []
}
variable "gitlab_pg_subnet_ids" {
type = list(string)
description = "List of subnet-ids for Gitlab RDS"
}
variable "gitlab_pg_allocated_storage" {
type = number
default = 100
description = "Gitlab RDS Postgres allocated storage"
}
variable "gitlab_pg_storage_type" {
type = string
default = "gp3"
description = "Storage type for Gitlab RDS Postgres"
}
variable "gitlab_pg_db_name" {
type = string
default = "gitlabhq-production"
description = "Postgres DB name for Gitlab"
}
variable "gitlab_pg_port" {
type = number
description = "The port on which the DB accepts connections"
default = 5432
}
variable "gitlab_pg_engine_version" {
type = string
default = "12.11"
description = "Postgres engine version"
}
variable "gitlab_pg_db_instance_class" {
type = string
default = "db.m5.large"
description = "Postgres RDS instance class"
}
variable "gitlab_pg_username" {
type = string
description = "Username for Gitlab Postgres DB"
}
variable "gitlab_pg_password" {
type = string
description = "Password for Gitlab Postgres DB"
sensitive = true
}
variable "gitlab_pg_publicly_accessible" {
type = bool
default = false
description = "Allow Gitlab RDS publicly accessible"
}
variable "gitlab_redis_node_type" {
type = string
default = "cache.t3.medium"
description = "Instance class for Gitlab Redis"
}
variable "gitlab_redis_num_cache_nodes" {
type = number
description = "Number of cache node in Gitlab Redis"
default = 1
}
variable "gitlab_redis_create_parameter_group" {
type = bool
description = "Create parameter group for Gitlab Redis"
default = false
}
variable "gitlab_redis_parameter_group_name" {
type = string
description = "Parameter group name for Gitlab Redis"
default = null
}
variable "gitlab_redis_engine_version" {
type = string
default = "7.0"
description = "Redis engine version for Gitlab Redis"
}
variable "gitlab_redis_port" {
type = number
description = "Redis port for Gitlab Redis"
default = 6379
}
variable "gitlab_redis_create_subnet_group" {
type = bool
description = "Create subnet group for Gitlab Redis"
default = true
}
variable "gitlab_redis_subnet_group_name" {
type = string
description = "Subnet group name for Gitlab Redis"
default = null
}
variable "gitlab_redis_subnet_ids" {
type = list(string)
description = "List of subnet-ids for Gitlab Redis"
default = []
}
variable "gitlab_redis_parameter_group" {
type = object({
name = string
family = string
})
description = "Gitlab Redis Parameter group config"
default = {
name = null
family = null
}
}
variable "enable_gitlab_backup_to_s3" {
type = bool
default = false
description = "Enable Gitlab backup on S3 bucket"
}
variable "gitlab_backup_bucket_name" {
type = string
default = null
description = "Name of S3 bucket to be used for Gitlab backup"
}
variable "private_key" {
type = string
description = "Private key to execute ansible playbook on Gitlab instance."
}
variable "create_ses_identity" {
type = bool
description = "Create a Amazon SES domain identity for Gitlab SMTP service. The domain should be hosted on Route53."
default = false
}
variable "ses_domain" {
type = string
description = "Route53 hosted domain name for Amazon SES. If no value provided, value of Gitlab hosted zone will be assumed as default."
default = null
}
variable "aws_region" {
type = string
description = "AWS region code. Eg: ap-south-1"
default = "ap-south-1"
}
variable "ses_username" {
type = string
description = "Username for Gitlab SMTP user"
default = "gitlab-smtp-user"
}
variable "additional_tags" {
type = map(string)
default = {}
description = "A map of additional tags to attach to the resources."
}