fix: use direct in-cluster kubernetes auth instead of kubeconfig file

- providers.tf: use host + token + ca_crt from mounted service account secrets
- workflow: remove kubeconfig generation step (no longer needed)
- variables.tf: remove unused kubeconfig_path variable

This is the standard pattern for running terraform inside k8s pods.
This commit is contained in:
Story Crater Bot
2026-07-15 21:26:09 -07:00
parent 9d1d79b774
commit be2e5c321f
3 changed files with 8 additions and 35 deletions
-27
View File
@@ -40,30 +40,6 @@ jobs:
run: terraform fmt -check -recursive terraform/
continue-on-error: true
- name: Generate In-Cluster Kubeconfig
run: |
mkdir -p /tmp
cat > /tmp/kubeconfig << 'EOF'
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
server: https://kubernetes.default:443
name: in-cluster
contexts:
- context:
cluster: in-cluster
user: terraform
name: in-cluster
current-context: in-cluster
users:
- name: terraform
user:
tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
EOF
chmod 600 /tmp/kubeconfig
- name: Configure AWS Credentials
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
@@ -82,7 +58,6 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
TF_VAR_kubeconfig_path: /tmp/kubeconfig
TF_SKIP_CREDENTIALS_VALIDATION: "true"
TF_SKIP_REGION_VALIDATION: "true"
TF_SKIP_REQUESTING_ACCOUNT_ID: "true"
@@ -120,7 +95,6 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
TF_VAR_kubeconfig_path: /tmp/kubeconfig
TF_SKIP_CREDENTIALS_VALIDATION: "true"
run: |
terraform plan -out=tfplan
@@ -130,7 +104,6 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
TF_VAR_kubeconfig_path: /tmp/kubeconfig
TF_SKIP_CREDENTIALS_VALIDATION: "true"
run: |
terraform apply -auto-approve tfplan