· 7 years ago · Aug 10, 2018, 12:02 PM
1# Specify the provider and access details
2provider "aws" {
3 access_key = "${var.access_key}"
4 secret_key = "${var.secret_key}"
5 region = "${var.aws_region}"
6}
7
8## Network
9# Create VPC
10module "vpc" {
11 source = "./network/vpc"
12 eks_cluster_name = "${var.eks_cluster_name}"
13 cidr_block = "${var.cidr_block}"
14}
15
16# Create Subnets
17module "subnets" {
18 source = "./network/subnets"
19 eks_cluster_name = "${var.eks_cluster_name}"
20 vpc_id = "${module.vpc.vpc_id}"
21 vpc_cidr_block = "${module.vpc.vpc_cidr_block}"
22}
23
24# Configure Routes
25module "route" {
26 source = "./network/route"
27 main_route_table_id = "${module.vpc.main_route_table_id}"
28 gw_id = "${module.vpc.gw_id}"
29
30 subnets = [
31 "${module.subnets.subnets}",
32 ]
33}
34
35module "eks_iam_roles" {
36 source = "./eks/eks_iam_roles"
37}
38
39module "eks_sec_group" {
40 source = "./eks/eks_sec_group"
41 eks_cluster_name = "${var.eks_cluster_name}"
42 vpc_id = "${module.vpc.vpc_id}"
43}
44
45module "eks_cluster" {
46 source = "./eks/eks_cluster"
47 eks_cluster_name = "${var.eks_cluster_name}"
48 iam_cluster_arn = "${module.eks_iam_roles.iam_cluster_arn}"
49 iam_node_arn = "${module.eks_iam_roles.iam_node_arn}"
50
51 subnets = [
52 "${module.subnets.subnets}",
53 ]
54
55 security_group_cluster = "${module.eks_sec_group.security_group_cluster}"
56}
57
58module "eks_node" {
59 source = "./eks/eks_node"
60 eks_cluster_name = "${var.eks_cluster_name}"
61 eks_certificate_authority = "${module.eks_cluster.eks_certificate_authority}"
62 eks_endpoint = "${module.eks_cluster.eks_endpoint}"
63 iam_instance_profile = "${module.eks_iam_roles.iam_instance_profile}"
64 security_group_node = "${module.eks_sec_group.security_group_node}"
65
66 subnets = [
67 "${module.subnets.subnets}",
68 ]
69}
70
71module "sec_group_rds" {
72 source = "./network/sec_group"
73 vpc_id = "${module.vpc.vpc_id}"
74 vpc_cidr_block = "${module.vpc.vpc_cidr_block}"
75}
76
77
78module "rds" {
79 source = "./rds"
80
81 subnets = [
82 "${module.subnets.subnets}",
83 ]
84
85 sec_grp_rds = "${module.sec_group_rds.sec_grp_rds}"
86 identifier = "${var.identifier}"
87 storage_type = "${var.storage_type}"
88 allocated_storage = "${var.allocated_storage}"
89 db_engine = "${var.db_engine}"
90 engine_version = "${var.engine_version}"
91 instance_class = "${var.instance_class}"
92 db_username = "${var.db_username}"
93 db_password = "${var.db_password}"
94 sec_grp_rds = "${module.sec_group_rds.sec_grp_rds}"
95}