From 29492fe374f7c5d6bed8a140f0f18137c75e5219 Mon Sep 17 00:00:00 2001 From: Raid Sulaiman Date: Tue, 18 May 2021 10:30:13 +0100 Subject: [PATCH 1/2] use aws iam role name as profile in aws ecr get login, else use default --- src/index.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7b499ac..10bb8ec 100644 --- a/src/index.ts +++ b/src/index.ts @@ -58,8 +58,11 @@ const setAWSAssumeRoleProfile = ( console.log("AWS assume role profile added to ~/.aws/config") } -const dockerECRLogin = (awsAccountId: string) => { - const loginPassword = shell("aws ecr get-login-password").trim() +const dockerECRLogin = (awsAccountId: string, awsIamRoleName?: string) => { + const awsProfile = awsIamRoleName || "default" + const loginPassword = shell( + `aws ecr get-login-password --profile ${awsProfile}` + ).trim() const loginResult = shell( `docker login -u AWS -p ${loginPassword} https://${awsAccountId}.dkr.ecr.eu-west-1.amazonaws.com` ) @@ -114,7 +117,7 @@ const main = () => { if (awsIamRoleName) { setAWSAssumeRoleProfile(awsIamRoleName, awsAccountId) } - dockerECRLogin(awsAccountId) + dockerECRLogin(awsAccountId, awsIamRoleName) setKubernetesConfig(awsAccountId, encodedKubeConfig, cluster) } From e2d2768435113e2b01a19206473905385ebe0949 Mon Sep 17 00:00:00 2001 From: Raid Sulaiman Date: Tue, 18 May 2021 10:42:26 +0100 Subject: [PATCH 2/2] build --- build/index.js | 7 ++++--- build/index.js.map | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/index.js b/build/index.js index 923c1a1..6c334df 100644 --- a/build/index.js +++ b/build/index.js @@ -47,8 +47,9 @@ const setAWSAssumeRoleProfile = (awsIamRoleName, awsAccountId) => { fs.appendFileSync(confPath, profile); console.log("AWS assume role profile added to ~/.aws/config"); }; -const dockerECRLogin = (awsAccountId) => { - const loginPassword = shell("aws ecr get-login-password").trim(); +const dockerECRLogin = (awsAccountId, awsIamRoleName) => { + const awsProfile = awsIamRoleName || "default"; + const loginPassword = shell(`aws ecr get-login-password --profile ${awsProfile}`).trim(); const loginResult = shell(`docker login -u AWS -p ${loginPassword} https://${awsAccountId}.dkr.ecr.eu-west-1.amazonaws.com`); console.log(loginResult); }; @@ -83,7 +84,7 @@ const main = () => { if (awsIamRoleName) { setAWSAssumeRoleProfile(awsIamRoleName, awsAccountId); } - dockerECRLogin(awsAccountId); + dockerECRLogin(awsAccountId, awsIamRoleName); setKubernetesConfig(awsAccountId, encodedKubeConfig, cluster); }; main(); diff --git a/build/index.js.map b/build/index.js.map index cbe8fa5..42826b6 100644 --- a/build/index.js.map +++ b/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file