forked from ICU2017Schematics/ICU2017Lab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodules.tf
66 lines (62 loc) · 3.07 KB
/
modules.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
##############################################################################
# IBM Kubernetes Cluster
# https://ibm-bluemix.github.io/tf-ibm-docs/v0.4.0/r/container_cluster.html
##############################################################################
##############################################################################
# Call the module to create a free Kubernetes cluster - use either or
##############################################################################
module "shopCluster" {
source = "./free-cluster"
ibm_bmx_api_key = "${var.ibm_bmx_api_key}"
myOrg = "${var.myOrg}"
mySpace = "${var.mySpace}"
myClustername = "${var.myClustername}"
}
##############################################################################
# Call the module to create a paid 2-node Kubernetes cluster - use either or
##############################################################################
// module "shopCluster" {
// source = "./shop-cluster"
// ibm_bmx_api_key = "${var.ibm_bmx_api_key}"
// ibm_sl_username = "${var.ibm_sl_username}"
// ibm_sl_api_key = "${var.ibm_sl_api_key}"
// myOrg = "${var.myOrg}"
// mySpace = "${var.mySpace}"
// myClustername = "${var.myClustername}"
// private_vlan_id = "${var.private_vlan_id}"
// public_vlan_id = "${var.public_vlan_id}"
// }
##############################################################################
# Create the load-balanced VMs to host the
##############################################################################
module "load-balanced-vms" {
source = "./lb_vms"
ibm_bmx_api_key = "${var.ibm_bmx_api_key}"
ibm_sl_username = "${var.ibm_sl_username}"
ibm_sl_api_key = "${var.ibm_sl_api_key}"
}
##############################################################################
# Call the module to reference the already existing database
##############################################################################
module "shopDBCloudant" {
source = "./cloudant"
ibm_bmx_api_key = "${var.ibm_bmx_api_key}"
myOrg = "${var.myOrg}"
mySpace = "${var.mySpace}"
subdir = "./cloudant"
}
##############################################################################
# Deploy the shop application on the free K8s cluster
##############################################################################
resource "null_resource" "kube-deploy" {
provisioner "local-exec" {
command = <<EOT
CLOUDANT_USER="${module.shopDBCloudant.shopDbUser}" \
CLOUDANT_PASS="${module.shopDBCloudant.shopDbPassword}" \
CLOUDANT_URL="https://${module.shopDBCloudant.shopDbHost}" \
SHIP_ENDPOINT="http://${module.load-balanced-vms.loadbalancer_ipv4}"
KUBECONFIG="${module.shopCluster.cluster_config}" \
./deployments/shop/kube-deploy-free.sh
EOT
}
}