-
Notifications
You must be signed in to change notification settings - Fork 1
/
variables.tf
155 lines (130 loc) · 3.99 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
variable "doks_cluster_name" {
type = string
description = "DOKS cluster name"
}
variable "postgres_cluster_name" {
type = string
description = "Name of the existing Postgres Database Cluster"
default = ""
}
variable "redis_cluster_name" {
type = string
description = "Name of the existing Redis Database Cluster"
default = ""
}
variable "harbor_namespace" {
type = string
description = "Namespace in which to deploy Harbor"
default = "harbor"
}
variable "harbor_chart_version" {
type = string
description = "Harbor Helm chart version to install"
default = "1.8.1"
}
# Helm chart deployment can sometimes take longer than the default 5 minutes
variable "harbor_chart_timeout_seconds" {
type = number
default = 800 # 10 minutes
}
variable "values_file" {
type = string
description = "Name of the custom chart values file to use"
default = "values.yaml"
}
variable "harbor_expose_type" {
type = string
description = "Set the method by which to expose the Harbor service."
default = "clusterip"
validation {
condition = length(regexall("^clusterip|ingress|traefik$", var.harbor_expose_type)) > 0
error_message = "Invalid Expose Type. Valid options are clusterip, ingress or traefik."
}
}
variable "harbor_cert_cn" {
type = string
description = "Common name for the automatically generated Harbor TLS cert"
default = "local"
}
variable "harbor_tls_secret_name" {
type = string
description = "The name of the TLS secret"
default = ""
}
variable "harbor_tls_notary_secret_name" {
type = string
description = "The name of the Notary TLS secret"
default = ""
}
variable "harbor_ext_url" {
type = string
description = "Set Harbor's external URL"
default = "local" # Use kubectl port-forward to test access to Harbor web UI
}
variable "harbor_admin_password" {
type = string
description = "The initial password of the Harbor admin"
default = "Harbor12345"
}
variable "firewall_databases" {
type = bool
description = "Firewall both Postgres and Redis databases. Connections permitted from the specified DOKS cluster only"
default = true
}
# variable "redis_deployment" {
# type = string
# description = "Deploy Redis on the DOKS cluster, or a managed Redis (managed) or none (none)."
# default = "managed"
# validation {
# condition = length(regexall("^managed|cluster|none$", var.redis_deployment)) > 0
# error_message = "Invalid Redis option. Valid options are managed, cluster or none."
# }
# }
# variable "redis_chart_version" {
# type = string
# description = "Redis Helm chart version to install"
# default = "15.6.4"
# }
variable "database_user_pg" {
type = string
description = "Postgres database user name."
default = "harbor"
}
variable "database_size_pg" {
type = string
description = "Database Droplet size associated with the Postgres cluster (ex. db-s-1vcpu-1gb)"
default = "db-s-1vcpu-1gb"
}
variable "database_node_count_pg" {
type = number
description = "Number of nodes that comprise the Postgres database cluster"
default = 1
}
variable "database_size_redis" {
type = string
description = "Database Droplet size associated with the Redis cluster (ex. db-s-1vcpu-1gb)"
default = "db-s-1vcpu-1gb"
}
variable "database_node_count_redis" {
type = number
description = "Number of nodes that comprise the Redis database cluster"
default = 1
}
# variable "redis_addr" {
# type = string
# description = "Redis DB host IP/URL"
# default = null
# }
# variable "redis_password" {
# type = string
# description = "Redis DB Password"
# default = null
# }
variable "spaces_access_id" {
type = string
description = "DigitalOcean Spaces Access ID"
}
variable "spaces_secret_key" {
type = string
description = "DigitalOcean Spaces Secret Key"
}