-
Notifications
You must be signed in to change notification settings - Fork 4
/
main.tf
114 lines (85 loc) · 3.87 KB
/
main.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
##############################################################################
# Provider
##############################################################################
provider ibm {
ibmcloud_api_key = var.ibmcloud_api_key
region = var.ibm_region
ibmcloud_timeout = 60
generation = var.generation
}
##############################################################################
##############################################################################
# Resource Group
##############################################################################
data ibm_resource_group group {
name = var.resource_group
}
##############################################################################
##############################################################################
# Cluster Data
##############################################################################
data ibm_container_cluster_config cluster {
cluster_name_id = var.cluster_name
resource_group_id = data.ibm_resource_group.group.id
admin = true
}
##############################################################################
##############################################################################
# Kubernetes Provider
##############################################################################
provider kubernetes {
load_config_file = false
host = data.ibm_container_cluster_config.cluster.host
client_certificate = data.ibm_container_cluster_config.cluster.admin_certificate
client_key = data.ibm_container_cluster_config.cluster.admin_key
cluster_ca_certificate = data.ibm_container_cluster_config.cluster.ca_certificate
}
##############################################################################
##############################################################################
# Activity Tracker
##############################################################################
resource ibm_resource_instance activity_tracker {
count = var.provision_activity_tracker ? 1 : 0
name = var.activity_tracker_name
service = "logdnaat"
plan = var.logging_plan
location = var.ibm_region
resource_group_id = data.ibm_resource_group.group.id
parameters = {
service-endpoints = var.logging_endpoint
}
}
##############################################################################
##############################################################################
# Cluster Logging Setup
##############################################################################
module logging {
source = "./logging"
resource_group_id = data.ibm_resource_group.group.id
use_data = var.bring_your_own_logging
ibm_region = var.ibm_region
name = var.logging_instance_name
logdna_agent_image = var.logging_agent_image
logdna_endpoint = var.logging_endpoint
logging_plan = var.logging_plan
tags = var.tags
end_points = var.service_end_points
}
##############################################################################
##############################################################################
# Cluster Monitoring Setup
##############################################################################
module monitor {
source = "./monitoring"
resource_group_id = data.ibm_resource_group.group.id
use_data = var.bring_your_own_monitor
ibm_region = var.ibm_region
name = var.monitor_name
cluster_name = var.cluster_name
sysdig_image = var.monitor_agent_image
sysdig_endpoint = var.monitor_endpoint
monitor_plan = var.monitor_plan
tags = var.tags
end_points = var.service_end_points
}
##############################################################################