forked from coreos/tectonic-installer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.tf
218 lines (184 loc) · 7.55 KB
/
config.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
variable "tectonic_config_version" {
description = <<EOF
This declares the version of the global configuration variables.
It has no impact on generated assets but declares the version contract of the configuration.
EOF
default = "1.0"
}
terraform {
required_version = ">= 0.9.4"
}
variable "tectonic_container_images" {
description = "Container images to use"
type = "map"
default = {
hyperkube = "quay.io/coreos/hyperkube:v1.6.2_coreos.0"
pod_checkpointer = "quay.io/coreos/pod-checkpointer:20cf8b9a6018731a0770192f30dfa7a1941521e3"
bootkube = "quay.io/coreos/bootkube:v0.4.1"
console = "quay.io/coreos/tectonic-console:v1.4.2"
identity = "quay.io/coreos/dex:v2.3.0"
kube_version_operator = "quay.io/coreos/kube-version-operator:7da46d189c36092f43d07ca381a61897402fa13c"
tectonic_channel_operator = "quay.io/coreos/tectonic-channel-operator:15c001bd7c008a04394390d08ac71046e723ac48"
node_agent = "quay.io/coreos/node-agent:53f6c8dcc7657b49d1468f7e24933d3897ae8ea7"
prometheus_operator = "quay.io/coreos/prometheus-operator:v0.8.2"
tectonic_prometheus_operator = "quay.io/coreos/tectonic-prometheus-operator:v1.1.0"
node_exporter = "quay.io/prometheus/node-exporter:v0.13.0"
config_reload = "quay.io/coreos/configmap-reload:v0.0.1"
heapster = "gcr.io/google_containers/heapster:v1.3.0"
addon_resizer = "gcr.io/google_containers/addon-resizer:1.7"
stats_emitter = "quay.io/coreos/tectonic-stats:6e882361357fe4b773adbf279cddf48cb50164c1"
stats_extender = "quay.io/coreos/tectonic-stats-extender:487b3da4e175da96dabfb44fba65cdb8b823db2e"
error_server = "quay.io/coreos/tectonic-error-server:1.0"
ingress_controller = "gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.3"
kubedns = "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1"
kubednsmasq = "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1"
kubedns_sidecar = "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1"
flannel = "quay.io/coreos/flannel:v0.7.1-amd64"
etcd = "quay.io/coreos/etcd:v3.1.6"
etcd_operator = "quay.io/coreos/etcd-operator:v0.2.5"
kenc = "quay.io/coreos/kenc:48b6feceeee56c657ea9263f47b6ea091e8d3035"
awscli = "quay.io/coreos/awscli:025a357f05242fdad6a81e8a6b520098aa65a600"
kube_version = "quay.io/coreos/kube-version:0.1.0"
}
}
variable "tectonic_versions" {
description = "Versions of the components to use"
type = "map"
default = {
etcd = "v3.1.6"
prometheus = "v1.6.1"
monitoring = "1.1.0"
kubernetes = "1.6.2+tectonic.0"
tectonic = "1.6.2-tectonic.0"
}
}
variable "tectonic_kube_apiserver_service_ip" {
type = "string"
description = "Service IP used to reach kube-apiserver inside the cluster"
default = "10.3.0.1"
}
variable "tectonic_kube_etcd_service_ip" {
type = "string"
description = "Service IP used to reach self-hosted etcd"
default = "10.3.0.15"
}
variable "tectonic_kube_dns_service_ip" {
type = "string"
description = "Service IP used to reach kube-dns"
default = "10.3.0.10"
}
variable "tectonic_service_cidr" {
description = "A CIDR notation IP range from which to assign service cluster IPs"
type = "string"
default = "10.3.0.0/16"
}
variable "tectonic_cluster_cidr" {
description = "A CIDR notation IP range from which to assign pod IPs"
type = "string"
default = "10.2.0.0/16"
}
variable "tectonic_master_count" {
type = "string"
description = "The number of master nodes to be created."
default = "1"
}
variable "tectonic_worker_count" {
type = "string"
description = "The number of worker nodes to be created."
default = "3"
}
variable "tectonic_etcd_count" {
type = "string"
default = "-1"
description = "The number of etcd nodes to be created. If not set, the count of etcd nodes will be determined automatically (currently only supported on AWS)."
}
variable "tectonic_etcd_servers" {
description = "List of external etcd v3 servers to connect with (hostnames/IPs only). Optionally used if using an external etcd cluster."
type = "list"
default = [""]
}
variable "tectonic_etcd_ca_cert_path" {
description = "The path to the etcd CA certificate for TLS communication with etcd (optional)."
type = "string"
default = ""
}
variable "tectonic_etcd_client_cert_path" {
description = "The path to the etcd client certificate for TLS communication with etcd (optional)."
type = "string"
default = ""
}
variable "tectonic_etcd_client_key_path" {
description = "The path to the etcd client key for TLS communication with etcd (optional)."
type = "string"
default = ""
}
variable "tectonic_base_domain" {
type = "string"
description = "The base DNS domain of the cluster. Example: `openstack.dev.coreos.systems`."
}
variable "tectonic_cluster_name" {
type = "string"
description = "The name of the cluster. This will be prepended to `tectonic_base_domain` resulting in the URL to the Tectonic console."
}
variable "tectonic_pull_secret_path" {
type = "string"
description = "The path the pull secret file in JSON format."
}
variable "tectonic_license_path" {
type = "string"
description = "The path to the tectonic licence file."
}
variable "tectonic_cl_channel" {
type = "string"
default = "stable"
description = <<EOF
The Container Linux update channel.
Examples: `stable`, `beta`, `alpha`
EOF
}
variable "tectonic_update_server" {
type = "string"
default = "https://tectonic.update.core-os.net"
description = "The URL of the Tectonic Omaha update server"
}
variable "tectonic_update_channel" {
type = "string"
default = "tectonic-1.5"
description = "The Tectonic Omaha update channel"
}
variable "tectonic_update_app_id" {
type = "string"
default = "6bc7b986-4654-4a0f-94b3-84ce6feb1db4"
description = "The Tectonic Omaha update App ID"
}
variable "tectonic_admin_email" {
type = "string"
description = "e-mail address used to login to Tectonic"
}
variable "tectonic_admin_password_hash" {
type = "string"
description = "bcrypt hash of admin password to use with Tectonic Console"
}
variable "tectonic_ca_cert" {
type = "string"
description = "PEM-encoded CA certificate, used to generate Tectonic Console's server certificate. Optional, if left blank, a CA certificate will be automatically generated."
default = ""
}
variable "tectonic_ca_key" {
type = "string"
description = "PEM-encoded CA key, used to generate Tectonic Console's server certificate. Optional if tectonic_ca_cert is left blank"
default = ""
}
variable "tectonic_ca_key_alg" {
type = "string"
description = "Algorithm used to generate tectonic_ca_key. Optional if tectonic_ca_cert is left blank."
default = "RSA"
}
variable "tectonic_vanilla_k8s" {
description = "If set to true, a vanilla Kubernetes cluster will be deployed, omitting the tectonic assets."
default = false
}
variable "tectonic_experimental" {
description = "If set to true, experimental Tectonic assets are being deployed."
default = false
}