i’m completely stuck. I wrote terraform code to deploy an eks cluster with worker nodes and when i deploy it using terraform, everything works and I’am able to do kubectl get nodes, however, when I use push to github and use github actions, everything still deploys, but when I try to access the cluster using kubectl get nodes, I get this error:
E0505 22:34:58.473467 28812 memcache.go:265] couldn’t get current server API group list: the server has asked for the client to provide credentials
E0505 22:34:59.011805 28812 memcache.go:265] couldn’t get current server API group list: the server has asked for the client to provide credentials
E0505 22:34:59.764169 28812 memcache.go:265] couldn’t get current server API group list: the server has asked for the client to provide credentials
E0505 22:35:00.350556 28812 memcache.go:265] couldn’t get current server API group list: the server has asked for the client to provide credentials
E0505 22:35:01.067397 28812 memcache.go:265] couldn’t get current server API group list: the server has asked for the client to provide credentials
error: You must be logged in to the server (the server has asked for the client to provide credentials)
I should mentioned that in my github repo I made sure to add the IAM role arn of the GitHubActionsTerraformIAMrole which was part of the OIDC setup. I added it as an environment secret.
Here is my workflow file, Any help would be GREATLY appreciated!!
name: Terraform Deployment Workflow
on:
push:
branches:
– main
– dev
permissions:
id-token: write
contents: read
jobs:
terraform:
runs-on: ubuntu-latest
environment: ${{ (github.ref == ‘refs/heads/main’ && ‘production’) || (github.ref == ‘refs/heads/staging’ && ‘staging’) || ‘dev’ }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/[email protected]
with:
aws-region: us-east-1
role-to-assume: ${{ secrets.IAM_ROLE }}
audience: sts.amazonaws.com
- name: Terraform Initialize
run: terraform init -reconfigure -backend-config="bucket=project-x" -backend-config="key=terraform.tfstate" -backend-config="region=us-east-1"
working-directory: ./roots/main-eks-root/
- name: Terraform Plan
run: terraform plan -var-file="project.tfvars" -out=tfplan
working-directory: ./roots/main-eks-root/
- name: Terraform Apply
run: terraform apply -auto-approve "tfplan"
working-directory: ./roots/main-eks-root/
I tried deploying both configuration using the same tfvars file locally and github actions. only local worked so im guessing its something with github actions credentials but I’m not sure.
user24886951 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.