aws / aws/aws-application-networking-k8s
Controller `Upgrade` procedure needs to be improved
- Dominant language
- Go
- Stars
- 278
- Forks
- 85
- PR merge metrics
- No merged PRs in 30d
Description
The eksctl command to setup IRSA is missing the --role-name argument. It is not a bug but it makes the tool create a IAM role with a random name.
The manifest to deploy CRDs and the Gateway Controller has a ServiceAccount definition for gateway-api-controller though we are creating the latter using eksctl. Again, this is not an issue until it is. If you unveil a new version, say, deploy-v0.0.2.yaml, and a user deletes the old manifest with kubectl delete -f and then does a kubectl apply -f with the new manifest, user will end up with a ServiceAccount definition without the IRSA annotation and it will break things.
Contributor guide
Research direction
Start by locating the eksctl command that creates IRSA and the manifest used to deploy the CRDs and Gateway Controller. Check how the ServiceAccount is defined across the upgrade sequence and verify the behavior of deleting the old manifest before applying a new one. Done means the role name is deterministic and redeploying the manifest does not remove the IRSA annotation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go, kubernetes
- Domain
- authentication, cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100