2121 app_name :
2222 description : " Application name from Terraform outputs"
2323 value : ${{ jobs.terraform.outputs.app_name }}
24+ karpenter_nodepool_name :
25+ description : " Karpenter NodePool name from Terraform outputs"
26+ value : ${{ jobs.terraform.outputs.karpenter_nodepool_name }}
27+ karpenter_nodeclass_name :
28+ description : " Karpenter EC2NodeClass name from Terraform outputs"
29+ value : ${{ jobs.terraform.outputs.karpenter_nodeclass_name }}
30+ karpenter_node_role :
31+ description : " Karpenter node IAM role from Terraform outputs"
32+ value : ${{ jobs.terraform.outputs.karpenter_node_role }}
33+ karpenter_instance_profile :
34+ description : " Karpenter instance profile from Terraform outputs"
35+ value : ${{ jobs.terraform.outputs.karpenter_instance_profile }}
36+ karpenter_namespace :
37+ description : " Karpenter namespace from Terraform outputs"
38+ value : ${{ jobs.terraform.outputs.karpenter_namespace }}
2439
2540
2641
4055 app_namespace : ${{ steps.terraform-outputs.outputs.app_namespace }}
4156 monitoring_namespace : ${{ steps.terraform-outputs.outputs.monitoring_namespace }}
4257 argocd_namespace : ${{ steps.terraform-outputs.outputs.argocd_namespace }}
43- app_name : ${{ steps.terraform-outputs.outputs.app_name }}
58+ app_name : ${{ steps.terraform-outputs.outputs.app_name }}
59+ karpenter_nodepool_name : ${{ steps.terraform-outputs.outputs.karpenter_nodepool_name }}
60+ karpenter_nodeclass_name : ${{ steps.terraform-outputs.outputs.karpenter_nodeclass_name }}
61+ karpenter_node_role : ${{ steps.terraform-outputs.outputs.karpenter_node_role }}
62+ karpenter_instance_profile : ${{ steps.terraform-outputs.outputs.karpenter_instance_profile }}
4463
4564 steps :
4665 - name : Checkout Repository
@@ -102,6 +121,33 @@ jobs:
102121 echo "monitoring_namespace=$MONITORING_NAMESPACE" >> $GITHUB_OUTPUT
103122 echo "argocd_namespace=$ARGOCD_NAMESPACE" >> $GITHUB_OUTPUT
104123 echo "app_name=$APP_NAME" >> $GITHUB_OUTPUT
124+
125+ KARPENTER_NODEPOOL_NAME=$(terraform output -raw karpenter_nodepool_name)
126+ KARPENTER_NODECLASS_NAME=$(terraform output -raw karpenter_nodeclass_name)
127+ KARPENTER_NODE_ROLE=$(terraform output -raw karpenter_node_role)
128+ KARPENTER_INSTANCE_PROFILE=$(terraform output -raw karpenter_instance_profile)
129+ KARPENTER_NAMESPACE=$(terraform output -raw karpenter_namespace)
130+
131+ echo "KARPENTER_NODEPOOL_NAME=$KARPENTER_NODEPOOL_NAME" >> $GITHUB_ENV
132+ echo "KARPENTER_NODECLASS_NAME=$KARPENTER_NODECLASS_NAME" >> $GITHUB_ENV
133+ echo "KARPENTER_NODE_ROLE=$KARPENTER_NODE_ROLE" >> $GITHUB_ENV
134+ echo "KARPENTER_INSTANCE_PROFILE=$KARPENTER_INSTANCE_PROFILE" >> $GITHUB_ENV
135+ echo "KARPENTER_NAMESPACE=$KARPENTER_NAMESPACE" >> $GITHUB_ENV
136+
137+ echo "karpenter_nodepool_name=$KARPENTER_NODEPOOL_NAME" >> $GITHUB_OUTPUT
138+ echo "karpenter_nodeclass_name=$KARPENTER_NODECLASS_NAME" >> $GITHUB_OUTPUT
139+ echo "karpenter_node_role=$KARPENTER_NODE_ROLE" >> $GITHUB_OUTPUT
140+ echo "karpenter_instance_profile=$KARPENTER_INSTANCE_PROFILE" >> $GITHUB_OUTPUT
141+ echo "karpenter_namespace=$KARPENTER_NAMESPACE" >> $GITHUB_OUTPUT
142+ KARPENTER_CONTROLLER_CPU_REQUEST=$(terraform output -raw karpenter_controller_cpu_request)
143+ KARPENTER_CONTROLLER_MEMORY_REQUEST=$(terraform output -raw karpenter_controller_memory_request)
144+ KARPENTER_CONTROLLER_CPU_LIMIT=$(terraform output -raw karpenter_controller_cpu_limit)
145+ KARPENTER_CONTROLLER_MEMORY_LIMIT=$(terraform output -raw karpenter_controller_memory_limit)
146+
147+ echo "karpenter_controller_cpu_request=$KARPENTER_CONTROLLER_CPU_REQUEST" >> $GITHUB_OUTPUT
148+ echo "karpenter_controller_memory_request=$KARPENTER_CONTROLLER_MEMORY_REQUEST" >> $GITHUB_OUTPUT
149+ echo "karpenter_controller_cpu_limit=$KARPENTER_CONTROLLER_CPU_LIMIT" >> $GITHUB_OUTPUT
150+ echo "karpenter_controller_memory_limit=$KARPENTER_CONTROLLER_MEMORY_LIMIT" >> $GITHUB_OUTPUT
105151 working-directory : ./Terraform
106152
107153 - name : Set GitHub repository variables
@@ -111,13 +157,23 @@ jobs:
111157 MONITORING_NAMESPACE=$(terraform output -raw monitoring_namespace)
112158 ARGOCD_NAMESPACE=$(terraform output -raw argocd_namespace)
113159 APP_NAME=$(terraform output -raw app_name)
160+ KARPENTER_NODEPOOL_NAME=$(terraform output -raw karpenter_nodepool_name)
161+ KARPENTER_NODECLASS_NAME=$(terraform output -raw karpenter_nodeclass_name)
162+ KARPENTER_NODE_ROLE=$(terraform output -raw karpenter_node_role)
163+ KARPENTER_INSTANCE_PROFILE=$(terraform output -raw karpenter_instance_profile)
164+ KARPENTER_NAMESPACE=$(terraform output -raw karpenter_namespace)
114165
115166 # Create or update repo variables via GitHub CLI
116167 gh variable set CLUSTER_NAME --body "$CLUSTER_NAME" --repo $GITHUB_REPOSITORY
117168 gh variable set APP_NAMESPACE --body "$APP_NAMESPACE" --repo $GITHUB_REPOSITORY
118169 gh variable set MONITORING_NAMESPACE --body "$MONITORING_NAMESPACE" --repo $GITHUB_REPOSITORY
119170 gh variable set ARGOCD_NAMESPACE --body "$ARGOCD_NAMESPACE" --repo $GITHUB_REPOSITORY
120171 gh variable set APP_NAME --body "$APP_NAME" --repo $GITHUB_REPOSITORY
172+ gh variable set KARPENTER_NODEPOOL_NAME --body "$KARPENTER_NODEPOOL_NAME" --repo $GITHUB_REPOSITORY
173+ gh variable set KARPENTER_NODECLASS_NAME --body "$KARPENTER_NODECLASS_NAME" --repo $GITHUB_REPOSITORY
174+ gh variable set KARPENTER_NODE_ROLE --body "$KARPENTER_NODE_ROLE" --repo $GITHUB_REPOSITORY
175+ gh variable set KARPENTER_INSTANCE_PROFILE --body "$KARPENTER_INSTANCE_PROFILE" --repo $GITHUB_REPOSITORY
176+ gh variable set KARPENTER_NAMESPACE --body "$KARPENTER_NAMESPACE" --repo $GITHUB_REPOSITORY
121177 env :
122178 GITHUB_TOKEN : ${{ secrets.PAT_GITHUB }}
123179 working-directory : ./Terraform
0 commit comments