File tree 8 files changed +61
-7
lines changed
8 files changed +61
-7
lines changed Original file line number Diff line number Diff line change 45
45
name : Configure AWS Credentials
46
46
uses : aws-actions/configure-aws-credentials@v4
47
47
with :
48
- role-to-assume : arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-${{ inputs.service_name }} -role
48
+ role-to-assume : arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-kubernetes -role
49
49
role-session-name : ga-${{ inputs.service_name }}
50
50
aws-region : eu-central-1
51
51
-
@@ -114,10 +114,28 @@ jobs:
114
114
run : |
115
115
terraform validate -no-color
116
116
-
117
- name : Terraform
117
+ name : Verify Kubeconfig
118
118
working-directory : ./scripts/crossplane
119
119
run : |
120
- echo "${{ secrets.PROD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
120
+ if [ -z "$KUBECONFIG" ]; then
121
+ echo "Error: KUBECONFIG environment variable is not set"
122
+ exit 1
123
+ fi
124
+
125
+ # Test if we can connect to the cluster using the kubeconfig directly
126
+ if ! echo "$KUBECONFIG" | base64 -d | kubectl --kubeconfig=/dev/stdin cluster-info; then
127
+ echo "Error: Unable to connect to Kubernetes cluster"
128
+ exit 1
129
+ fi
130
+
131
+ echo "Kubeconfig verification successful"
132
+ env :
133
+ KUBECONFIG : ${{ secrets.PRD_KUBECONFIG }}
134
+
135
+ - name : Terraform
136
+ working-directory : ./scripts/crossplane
137
+ run : |
138
+ echo "${{ secrets.PRD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
121
139
export KUBECONFIG=${{ github.workspace }}/kubeconfig.yaml
122
140
terraform apply -auto-approve -no-color \
123
141
-var-file=${{ inputs.environment }}.tfvars \
Original file line number Diff line number Diff line change
1
+ apiVersion: v1
2
+ kind: Config
3
+ preferences: {}
4
+ current-context: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
5
+
6
+ clusters:
7
+ - name: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
8
+ cluster:
9
+ server: https://6FAE7EA31F6ABDC83D35085CD36856A9.gr7.eu-central-1.eks.amazonaws.com
10
+ certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJZXBDbzlyUGFBN1V3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBME1ETXhOekk1TlRGYUZ3MHpOVEEwTURFeE56TTBOVEZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURsYXRxcENFaHhjNHZuR1Q2U3htbzcwY3pFZ0M2Nm5TR2NwaDdNeTl4Njg4UTZTSWV6MFFyTnNPM3IKdExjaGRsaWtpREdZU1RwK2dmUlVNWDN5UjdYVTVyTHVEaktWWkh1N21XTTR4RFEwenhkNlVKcGd5NFRzK0kvbwpmc0NESnZoOUdtRjk4Z2kxdTdvTnorU0d3OXdFd3U1MzJsbEVtUXRTclpSemZuNHFYOUk1b1hRSXB0dkd3ekxXCk1ON0RmSjVTTGZIWlloblZPTmJUeCtQOWN4QW0yMXhVdGRYUlFIaXRJbklxZnFsTlhsYWlLbWlwQUNNRlJtazQKeTFETElVM1lWZDk0eGtJcDlVTFdMTnRjZ2NtWEdvZUMyMGhDUXJnRkJWaC9LRlNlQmNkOWQ2eVdySjFhVCtKUgovWEJTa1BvMWNBMDBjYy9jajNjWjVhZ3ozSXEvQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJSeUF5aGd2Rm1LY2plTFcvNUNia0M0R2hYUFVEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ0VQNUVzc0pnMAo5VW03TkZId0FRN0JWdCs0VWJkR3VQZEdaU0JDVWFwS1pCN05tUlFKdGtac05oRHJkQngydlpGZjVDWm1iUzB1CkhrRVJpSjc3K2hweWtuSEVKZmdyMjV0NWZ1cFBUdXRWU3V6ZTBicEJFMmZheEZpQy9kQlQ5bjBlK2lRVnd0SUkKemxGbVZBQUVRU2VSQjNqdFhFTk1CSUdOSXhoSUw4ZGRPVnFLQmdRWm9tZGlvdzhRRVRYV29iSzZLM3ZUVmRKcwozYmVUZ204NTZYdnRuSGtWM0JmTTFRK1dMTm1DYlYzeS9SODBHd3drQXJaK01VN2J1Q1hOUkhqem9qTkx0UEdTCmk3cjdZVmlUenlvTHFubVBub3N6VFZzTVh4YWxLelNnSGlQOGxFNUhWM2xQYm9TeUFnMm13ZEVVRFQ2ZkFzb0cKK2ROY1BBUnNwVUpvCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
11
+
12
+ contexts:
13
+ - name: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
14
+ context:
15
+ cluster: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
16
+ user: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
17
+
18
+ users:
19
+ - name: arn:aws:eks:eu-central-1:279707217826:cluster/prd-eks-v2
20
+ user:
21
+ exec:
22
+ apiVersion: client.authentication.k8s.io/v1beta1
23
+ command: aws
24
+ args:
25
+ - --region
26
+ - eu-central-1
27
+ - eks
28
+ - get-token
29
+ - --cluster-name
30
+ - prd-eks-v2
Original file line number Diff line number Diff line change @@ -120,7 +120,7 @@ jobs:
120
120
- name : Terraform apply
121
121
id : apply
122
122
run : |
123
- echo "${{ secrets.PROD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
123
+ echo "${{ secrets.PRD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
124
124
export KUBECONFIG=${{ github.workspace }}/kubeconfig.yaml
125
125
cd ${{ github.workspace }}/configs/crossplane && terraform init && terraform apply -auto-approve
126
126
env :
Original file line number Diff line number Diff line change 78
78
release : ${{ inputs.release_name }}
79
79
namespace : ${{ inputs.namespace }}
80
80
env :
81
- KUBECONFIG_FILE : ${{ secrets.PROD_KUBECONFIG }}
81
+ KUBECONFIG_FILE : ${{ secrets.PRD_KUBECONFIG }}
Original file line number Diff line number Diff line change 49
49
- name : Terraform Apply - Prod Crossplane
50
50
id : apply-crossplane
51
51
run : |
52
- echo "${{ secrets.PROD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
52
+ echo "${{ secrets.PRD_KUBECONFIG }}" > ${{ github.workspace }}/kubeconfig.yaml
53
53
export KUBECONFIG=${{ github.workspace }}/kubeconfig.yaml
54
54
cd ${{ github.workspace }}/configs/crossplane
55
55
ls
Original file line number Diff line number Diff line change 1
- cluster_name = " prod -eks-v2"
1
+ cluster_name = " prd -eks-v2"
2
2
vault_id = " 37y43e5v2qd3iptgt7wgyk34ga"
Original file line number Diff line number Diff line change @@ -17,3 +17,4 @@ variable "vault_id" {
17
17
description = " 1password vault id"
18
18
type = string
19
19
}
20
+
Original file line number Diff line number Diff line change @@ -23,3 +23,8 @@ terraform {
23
23
}
24
24
}
25
25
26
+ provider "kubectl" {
27
+ apply_retry_count = 5
28
+ load_config_file = false
29
+ }
30
+
You can’t perform that action at this time.
0 commit comments