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.'); }