Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support EKS clusters with IAM creds #1304

Closed
gregdurham opened this issue Mar 20, 2019 · 4 comments
Closed

Support EKS clusters with IAM creds #1304

gregdurham opened this issue Mar 20, 2019 · 4 comments

Comments

@gregdurham
Copy link

Looking at ArgoCD, it appears that we cannot set IAM creds per cluster, instead it appears everything is wired through role ARNs. If someone has multiple clusters in multiple distinct AWS accounts, this may prove difficult. Do you have any options available to support this?

@jessesuen
Copy link
Member

This should be supported. When adding clusters to Argo CD you can provide --aws-role-arn. This role is the one argo-cd will assume before interfacing with the other cluster. Then the role that Argo CD runs as, must have privileges to assume that specified role, which would need to be whitelisted on the cluster side.

$ argocd cluster add --help
argocd cluster add CONTEXT

Usage:
  argocd cluster add [flags]

Flags:
      --aws-cluster-name string   AWS Cluster name if set then aws-iam-authenticator will be used to access cluster
      --aws-role-arn string       Optional AWS role arn. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.

Under the covers, we simply use the exec auth provider with aws-iam-authenticator, which only has the option to specify the role arn and cluster id:

$ aws-iam-authenticator token --help
Authenticate using AWS IAM and get token for Kubernetes

Usage:
  heptio-authenticator-aws token [flags]

Flags:
  -h, --help          help for token
  -r, --role string   Assume an IAM Role ARN before signing this token

Global Flags:
  -i, --cluster-id ID     Specify the cluster ID, a unique-per-cluster identifier for your heptio-authenticator-aws installation.
  -c, --config filename   Load configuration from filename

@eupestov
Copy link

I can confirm it worked at least with 0.12.3

@alexec
Copy link
Contributor

alexec commented May 16, 2019

It'd be great to have a guide on how to do this. @eupestov would contributing docs be something you'd be interested in please?

@alexec
Copy link
Contributor

alexec commented Jun 13, 2019

Please re-open if you have more questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants