Skip to content

Commit 26213e5

Browse files
committed
improved main.yml, extracted infra ouputs
1 parent da415fe commit 26213e5

File tree

5 files changed

+43
-46
lines changed

5 files changed

+43
-46
lines changed

.github/workflows/main.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,25 @@ jobs:
3535
with:
3636
terraform_version: 1.5.0
3737

38-
- name: 📦 Terraform Init
39-
run: terraform -chdir=infra init
38+
# - name: 📦 Terraform Init
39+
# run: terraform -chdir=infra init
4040

41-
- name: 🐛 Debug Terraform Outputs
42-
run: terraform -chdir=infra output
41+
# - name: 🐛 Debug Terraform Outputs
42+
# run: terraform -chdir=infra output
4343

4444
- name: 📤 Export Terraform Outputs
4545
id: tf
4646
run: |
4747
json=$(terraform -chdir=infra output -json)
4848
echo "DB_HOST=$(echo $json | jq -r '.mysql_fqdn.value')" >> $GITHUB_ENV
4949
echo "DB_USER=$(echo $json | jq -r '.mysql_admin_user.value')" >> $GITHUB_ENV
50-
echo "DB_PASS=$(echo $json | jq -r '.mysql_admin_pwd.value')" >> $GITHUB_ENV
5150
echo "DB_NAME=$(echo $json | jq -r '.mysql_database_name.value')" >> $GITHUB_ENV
51+
echo "DB_PASS<<EOF" >> $GITHUB_ENV
52+
echo "$(echo $json | jq -r '.mysql_admin_pwd.value')" >> $GITHUB_ENV
53+
echo "EOF" >> $GITHUB_ENV
54+
# Mask the password and pass it securely
55+
# echo "DB_PASS=$(echo $json | jq -r '.mysql_admin_pwd.value')" >> $GITHUB_ENV
56+
5257

5358
- name: ✅ Validate Terraform Outputs
5459
run: |

.github/workflows/terraform.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,6 @@ jobs:
110110
run: |
111111
terraform -chdir=infra output -json > infra/tf_outputs.json
112112
113-
# cat infra/tf_outputs.json
114-
# echo "Trying to extract IP:"
115-
# jq -r '.control_node_public_ip' infra/tf_outputs.json
116-
117113
- name: 📦 Upload inventory.ini as artifact
118114
uses: actions/upload-artifact@v4
119115
with:
@@ -127,10 +123,4 @@ jobs:
127123
chmod 600 ~/.ssh/vm_ssh_key
128124
echo -e "Host *\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
129125
130-
# - name: 📤 Copy inventory.ini to jumpbox
131-
# run: |
132-
# CONTROL_IP=$(terraform -chdir=infra output -raw control_node_public_ip.value)
133-
# SSH_USER=$(terraform -chdir=infra output -raw ssh_user.value)
134-
# echo "Using IP: $CONTROL_IP and user: $SSH_USER"
135-
# scp -i ~/.ssh/vm_ssh_key ansible/inventory.ini $SSH_USER@$CONTROL_IP:~/inventory.ini
136126

infra/main.tf

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -91,34 +91,4 @@ module "app-service" {
9191
environment = local.environment
9292
}
9393

94-
output "mysql_fqdn" {
95-
value = module.mysql-database.mysql_fqdn
96-
}
97-
98-
output "mysql_admin_user" {
99-
value = module.mysql-database.mysql_admin_user
100-
sensitive = true
101-
}
102-
103-
output "mysql_admin_pwd" {
104-
value = module.mysql-database.mysql_admin_pwd
105-
sensitive = true
106-
}
107-
108-
output "mysql_database_name" {
109-
value = module.mysql-database.mysql_database_name
110-
}
111-
112-
output "lb_api_url" {
113-
value = module.load-balancer.lb_api_url
114-
}
11594

116-
output "control_node_public_ip" {
117-
description = "Jumpbox IP"
118-
value = module.load-balancer.control_node_public_ip
119-
}
120-
121-
output "ssh_user" {
122-
description = "SSH admin user for VMs"
123-
value = var.admin_username
124-
}

infra/outputs.tf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
output "mysql_fqdn" {
2+
value = module.mysql-database.mysql_fqdn
3+
}
4+
5+
output "mysql_admin_user" {
6+
value = module.mysql-database.mysql_admin_user
7+
sensitive = true
8+
}
9+
10+
output "mysql_admin_pwd" {
11+
value = module.mysql-database.mysql_admin_pwd
12+
sensitive = true
13+
}
14+
15+
output "mysql_database_name" {
16+
value = module.mysql-database.mysql_database_name
17+
}
18+
19+
output "lb_api_url" {
20+
value = module.load-balancer.lb_api_url
21+
}
22+
23+
output "control_node_public_ip" {
24+
description = "Jumpbox IP"
25+
value = module.load-balancer.control_node_public_ip
26+
}
27+
28+
output "ssh_user" {
29+
description = "SSH admin user for VMs"
30+
value = var.admin_username
31+
}

infra/variables.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ variable "mysql_user" {
3838
}
3939

4040
variable "admin_username" {
41-
default = "adminuser"
41+
default = "adminuser"
42+
sensitive = true
4243
}
4344

4445
variable "allowed_ssh_ip" {

0 commit comments

Comments
 (0)