forked from GuyBarros/terraform-com-showcase-pipeline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
292 lines (238 loc) · 6.56 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
variable "application_name" {
type = string
description = "the application identifier which will create github repo, terraform workspace, vault namespace"
}
variable "vault_namespace" {
description = "the HCP Vault namespace we will use for mounting the database secret engine"
default = "admin"
}
variable "vault_address" {
description = "the Vault Address"
}
variable "vault_token" {
description = "the Vault Address"
sensitive = true
}
variable "consul_address" {
description = "the Consul Address"
}
variable "consul_token" {
description = "the Consul Token to set up the Vault backend"
sensitive = true
}
variable "nomad_address" {
description = "the Nomad Address"
}
variable "tfe_username" {
description = ""
}
variable "tfe_organization" {
description = ""
}
variable "tfe_token" {
description = ""
sensitive = true
}
variable "tfe_oauth_token_id" {
description = ""
sensitive = true
}
variable "github_default_lease_ttl" {
type = string
description = "Default lease TTL for Vault tokens"
default = "12h"
}
variable "github_max_lease_ttl" {
type = string
description = "Maximum lease TTL for Vault tokens"
default = "768h"
}
variable "github_token_type" {
type = string
description = "Token type for Vault tokens"
default = "default-service"
}
variable "github_provider_token" {
type = string
description = "Token for Github provider"
sensitive = true
}
variable "docker_hub_namespace" {
type = string
description = "Docker Hub namespace where repo will be created"
sensitive = false
}
variable "docker_hub_username" {
type = string
description = "Docker Hub username"
sensitive = false
}
variable "docker_hub_password" {
type = string
description = "Docker Hub password"
sensitive = true
}
variable "gitlab_default_lease_ttl" {
type = string
description = "Default lease TTL for Vault tokens"
default = "12h"
}
variable "gitlab_max_lease_ttl" {
type = string
description = "Maximum lease TTL for Vault tokens"
default = "768h"
}
variable "gitlab_token_type" {
type = string
description = "Token type for Vault tokens"
default = "default-service"
}
variable "gitlab_token" {
type = string
description = "Gitlab provider token"
sensitive = true
}
///////////////////////////////////OKTA/////////////////////////////////////
variable "okta_org_name" {
type = string
description = "The org name, ie for dev environments `dev-123456`"
}
variable "okta_base_url" {
type = string
description = "The Okta SaaS endpoint, usually okta.com or oktapreview.com"
}
variable "okta_base_url_full" {
type = string
description = "Full URL of Okta login, usually instanceID.okta.com, ie https://dev-208447.okta.com"
}
variable "okta_issue_mode" {
type = string
description = "Indicates whether the Okta Authorization Server uses the original Okta org domain URL or a custom domain URL as the issuer of ID token for this client. ORG_URL = foo.okta.com, CUSTOM_URL = custom domain"
default = "ORG_URL"
}
variable "okta_api_token" {
type = string
description = "Okta API key"
}
variable "okta_allowed_groups" {
type = list(any)
description = "Okta group for Vault admins"
default = ["vault_admins"]
}
variable "okta_mount_path" {
type = string
description = "Mount path for Okta auth"
default = "okta_oidc"
}
variable "okta_user_email" {
type = string
description = "e-mail of a user to dynamically add to the groups created by this config"
}
# variable "okta_tile_app_label" {
# type = string
# description = "HCP Vault"
# }
# variable "okta_client_id" {
# type = string
# description = "Okta Vault app client ID"
# }
# variable "okta_client_secret" {
# type = string
# description = "Okta Vault app client secret"
# }
# variable "okta_bound_audiences" {
# type = list(any)
# description = "A list of allowed token audiences"
# }
variable "okta_auth_audience" {
type = string
description = ""
default = "api://vault"
}
variable "cli_port" {
type = number
description = "Port to open locally to login with the CLI"
default = 8250
}
variable "okta_default_lease_ttl" {
type = string
description = "Default lease TTL for Vault tokens"
default = "12h"
}
variable "okta_max_lease_ttl" {
type = string
description = "Maximum lease TTL for Vault tokens"
default = "768h"
}
variable "okta_token_type" {
type = string
description = "Token type for Vault tokens"
default = "default-service"
}
variable "roles" {
type = map(any)
default = {}
description = <<EOF
Map of Vault role names to their bound groups and token policies. Structure looks like this:
```
roles = {
okta_admin = {
token_policies = ["admin-policy","superadmin"]
bound_groups = ["vault-admins-test1"]
},
okta_devs = {
token_policies = ["devs-policy","superadmin"]
bound_groups = ["vault-devs-test1"]
}
}
```
EOF
}
######################################### Boundary #################################################
variable "boundary_address" {
description = "Boundary Host"
default = ""
}
variable "auth_method_id" {
description = "Boundary Auth Method"
default = ""
}
variable "username" {
description = "Boundary Username"
default = "admin"
}
variable "password" {
description = "Boundary Password"
default = ""
}
variable "backend_server_ips" {
type = set(string)
default = [
"server-0.eu-guystack.original.aws.hashidemos.io",
"server-1.eu-guystack.original.aws.hashidemos.io",
"server-2.eu-guystack.original.aws.hashidemos.io",
]
}
# Vault Dynamic DB Cred
//PostgresSQL
variable "postgres_hostname" {
description = "the hostname of the MySQL Database we will configure in Vault"
}
variable "postgres_port" {
description = "the port of the MySQL Database we will configure in Vault"
}
variable "postgres_name" {
description = "the Name of the MySQL Database we will configure in Vault"
}
variable "postgres_username" {
description = "the admin username of the MySQL Database we will configure in Vault"
}
variable "postgres_password" {
description = "the password for admin username of the MySQL Database we will configure in Vault(this will be rotated after config)"
}
variable "sshca_public_key"{
description = "the public key that will be signed by the SSH CA Secret Engine"
}
variable "sshca_hostname"{
description = "the FQDN for the SSH CA target"
}