-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
163 lines (126 loc) · 4.91 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
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
terraform {
# Configure the remote backend for Terraform Cloud
backend "remote" {
# Replace these values with your actual details
organization = "MostafaEwida"
workspaces {
name = "hackmaze-iac"
}
}
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.87.0"
}
}
}
provider "azurerm" {
features {}
}
locals {
#rc vars
rc-name = module.rc-group.name
rc-location = module.rc-group.location
rc-tags = module.rc-group.tags
#compute vars
jump_static_private_ip = module.compute.jump_static_private_ip
control_static_private_ip = module.compute.control_static_private_ip
worker1_static_private_ip = module.compute.worker1_static_private_ip
worker2_static_private_ip = module.compute.worker2_static_private_ip
admin_username = module.compute.admin_username
jump_nic_id = module.compute.jump_nic_id
control_nic_id = module.compute.control_nic_id
worker1_nic_id = module.compute.worker1_nic_id
worker2_nic_id = module.compute.worker2_nic_id
jump_private_key_content = module.compute.jump_private_key_content
#network vars
subnet_id = module.network.subnet_id
jump_public_ip = module.network.jump_public_ip
jump_public_ip_id = module.network.jump_public_ip_id
hackmaze_vnet_address_range = module.network.hackmaze_vnet_address_range
hackmaze_subnet_01_address_rang = module.network.hackmaze_subnet_01_address_rang
#security vars
jump_sg_id = module.security.jump_sg_id
control_sg_id = module.security.control_sg_id
worker_sg_id = module.security.worker_sg_id
}
module "rc-group" {
source = "./modules/rc-group" # Path to the compute module directory
# Pass any required variables to the compute module
# For example:
# variable_name = value
}
module "network" {
source = "./modules/network" # Path to the compute module directory
depends_on = [module.rc-group]
# For example:
# variable_name = value
rc-name = local.rc-name
rc-location = local.rc-location
rc-tags = local.rc-tags
control_static_private_ip = local.control_static_private_ip
worker1_static_private_ip = local.worker1_static_private_ip
worker2_static_private_ip = local.worker2_static_private_ip
}
module "compute" {
source = "./modules/compute" # Path to the compute module directory
depends_on = [ module.rc-group]
# Pass any required variables to the compute module
# For example:
# variable_name = value
rc-name = local.rc-name
rc-location = local.rc-location
rc-tags = local.rc-tags
subnet_id = local.subnet_id
jump_public_ip = local.jump_public_ip
jump_public_ip_id = local.jump_public_ip_id
jump_sg_id = local.jump_sg_id
control_sg_id = local.control_sg_id
worker_sg_id = local.worker_sg_id
hackmaze-user-discord-url = var.hackmaze-user-discord-url
}
module "security" {
source = "./modules/security" # Path to the compute module directory
depends_on = [module.rc-group]
# Pass any required variables to the compute module
# For example:
# variable_name = value
rc-name = local.rc-name
rc-location = local.rc-location
rc-tags = local.rc-tags
hackmaze_vnet_address_range = local.hackmaze_vnet_address_range
subnet_id = local.subnet_id
control_nic_id = local.control_nic_id
jump_nic_id = local.jump_nic_id
jump_static_private_ip = local.jump_static_private_ip
worker1_nic_id = local.worker1_nic_id
worker2_nic_id = local.worker2_nic_id
}
module "ansible" {
source = "./modules/ansible" # Path to the compute module directory
depends_on = [module.compute,module.network, module.security ]
# Pass any required variables to the compute module
# For example:
# variable_name = value
rc-name = local.rc-name
rc-location = local.rc-location
rc-tags = local.rc-tags
jump_public_ip = local.jump_public_ip
control_static_private_ip = local.control_static_private_ip
worker1_static_private_ip = local.worker1_static_private_ip
worker2_static_private_ip = local.worker2_static_private_ip
admin_username = local.admin_username
jump_private_key_content = local.jump_private_key_content
mostafawtoken = var.mostafawtoken
mostafawid = var.mostafawid
mrymwtoken = var.mrymwtoken
mrymwid = var.mrymwid
yusufwtoken = var.yusufwtoken
yusufwid = var.yusufwid
moaliwtoken = var.moaliwtoken
moaliwid = var.moaliwid
jubawtoken = var.jubawtoken
jubawid = var.jubawid
nourwtoken = var.nourwtoken
nourwid = var.nourwid
}