You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: implement IRSA support for AWS EKS
* refactor: use io instead of deprecated ioutils
* refactor: Small refactoring, get rid of if else statement
* refactor: set 777 to executable to enable k8s users to use the app with uid different than 100
* refactor: set default IRSA client id to aws-signing-proxy
* refactor: extract logic for client creation logic to separate methods
* docs: Adapt Readme for IRSA
Copy file name to clipboardexpand all lines: README.md
+18
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,16 @@ Supported AWS credentials:
14
14
* Fetching short-lived credentials from AWS via a OAuth2 authorization server
15
15
and [OpenID Connect (OIDC)](https://openid.net/connect/)
16
16
* Additionally, you can fetch these credentials asynchronously
17
+
* Fetching short-lived credentials via AWS [IRSA](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) (IAM Roles for Service Accounts)
17
18
18
19
For ready-to-use binaries have a look at [Releases](https://github.com/idealo/aws-signing-proxy/releases).
19
20
20
21
Additionally, we provide a [Docker image](https://hub.docker.com/r/idealo/aws-signing-proxy) which can be used as a sidecar in Kubernetes.
21
22
23
+
24
+
## 🎉 Version 2.1.0 Update 🎉
25
+
* Support for AWS [IRSA](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)
flags.Service=flag.String("service", e.Service, "AWS Service (e.g. es)")
137
-
138
-
flags.CredentialsProvider=flag.String("credentials-provider", e.CredentialsProvider, "Either retrieve credentials via OpenID or Vault. Valid values are: oidc, vault")
139
-
140
-
// Vault
141
-
flags.VaultUrl=flag.String("vault-url", e.VaultUrl, "base url of vault (e.g. 'https://foo.vault.invalid')")
142
-
flags.VaultPath=flag.String("vault-path", e.VaultCredentialsPath, "path for credentials (e.g. '/some-aws-engine/creds/some-aws-role')")
143
-
flags.VaultAuthToken=flag.String("vault-token", e.VaultAuthToken, "token for authenticating with vault (NOTE: use the environment variable ASP_VAULT_AUTH_TOKEN instead)")
144
-
145
-
// openID Connect
146
-
flags.OpenIdAuthServerUrl=flag.String("openid-auth-server-url", e.OpenIdAuthServerUrl, "The authorization server url")
flags.AsyncOpenIdCredentialsFetch=flag.Bool("async-open-id-creds-fetch", e.AsyncOpenIdCredentialsFetch, "Fetch AWS Credentials via OIDC asynchronously")
150
-
flags.RoleArn=flag.String("role-arn", e.RoleArn, "AWS role ARN to assume to")
151
-
152
-
flags.Region=flag.String("region", os.Getenv("AWS_REGION"), "AWS region for credentials (e.g. eu-central-1)")
153
-
flags.FlushInterval=flag.Duration("flush-interval", 0, "non essential: flush interval to flush to the client while copying the response body.")
154
-
flags.IdleConnTimeout=flag.Duration("idle-conn-timeout", 90*time.Second, "non essential: the maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. zero means no limit.")
155
-
flags.DialTimeout=flag.Duration("dial-timeout", 30*time.Second, "non essential: the maximum amount of time a dial will wait for a connect to complete.")
flags.Service=flag.String("service", e.Service, "AWS Service (e.g. es)")
184
+
185
+
flags.CredentialsProvider=flag.String("credentials-provider", e.CredentialsProvider, "Either retrieve credentials via IRSA, OpenID Connect or Vault. Valid values are: irsa, oidc, vault. Leave empty if you would like to use static credentials.")
186
+
187
+
flags.VaultUrl=flag.String("vault-url", e.VaultUrl, "base url of vault (e.g. 'https://foo.vault.invalid')")
188
+
flags.VaultPath=flag.String("vault-path", e.VaultCredentialsPath, "path for credentials (e.g. '/some-aws-engine/creds/some-aws-role')")
189
+
flags.VaultAuthToken=flag.String("vault-token", e.VaultAuthToken, "token for authenticating with vault (NOTE: use the environment variable ASP_VAULT_AUTH_TOKEN instead)")
190
+
191
+
flags.OpenIdAuthServerUrl=flag.String("openid-auth-server-url", e.OpenIdAuthServerUrl, "The authorization server url")
flags.Region=flag.String("region", os.Getenv("AWS_REGION"), "AWS region for credentials (e.g. eu-central-1)")
200
+
flags.FlushInterval=flag.Duration("flush-interval", 0, "non essential: flush interval to flush to the client while copying the response body.")
201
+
flags.IdleConnTimeout=flag.Duration("idle-conn-timeout", 90*time.Second, "non essential: the maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. zero means no limit.")
202
+
flags.DialTimeout=flag.Duration("dial-timeout", 30*time.Second, "non essential: the maximum amount of time a dial will wait for a connect to complete.")
0 commit comments