From 60e463c8d444cf5a51d73298705774cd940d0ba6 Mon Sep 17 00:00:00 2001 From: Jonah Back Date: Wed, 24 Mar 2021 21:46:26 -0700 Subject: [PATCH] improve credential loading for AWS IAM translator Signed-off-by: Jonah Back --- .changeset/sharp-flowers-prove.md | 5 +++++ .../AwsIamKubernetesAuthTranslator.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/sharp-flowers-prove.md diff --git a/.changeset/sharp-flowers-prove.md b/.changeset/sharp-flowers-prove.md new file mode 100644 index 0000000000..299bb3b022 --- /dev/null +++ b/.changeset/sharp-flowers-prove.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Load credentials properly for AWS Kubernetes Auth Translator diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts index 902fe62dfc..10b2eea92f 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts @@ -32,7 +32,16 @@ const makeUrlSafe = pipe([replace('+', '-'), replace('/', '_')]); export class AwsIamKubernetesAuthTranslator implements KubernetesAuthTranslator { async getBearerToken(clusterName: string): Promise { - const credentials = AWS.config.credentials; + const credentials = await new Promise((resolve, reject) => { + AWS.config.getCredentials(err => { + if (err) { + reject(err); + } else { + resolve(AWS.config.credentials); + } + }); + }); + if (!(credentials instanceof Credentials)) { throw new Error('no AWS credentials found.'); }