@jcoreio/aws-ecr-utils 1.3.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/ImageManifestSchema.d.mts +59 -0
  2. package/ImageManifestSchema.d.mts.map +1 -0
  3. package/ImageManifestSchema.d.ts +50 -49
  4. package/ImageManifestSchema.d.ts.map +1 -0
  5. package/ImageManifestSchema.js +2 -1
  6. package/ImageManifestSchema.js.map +1 -0
  7. package/ImageManifestSchema.mjs +2 -1
  8. package/ImageManifestSchema.mjs.map +1 -0
  9. package/checkECRImageAccess.d.mts +25 -0
  10. package/checkECRImageAccess.d.mts.map +1 -0
  11. package/checkECRImageAccess.d.ts +25 -17
  12. package/checkECRImageAccess.d.ts.map +1 -0
  13. package/checkECRImageAccess.js +65 -65
  14. package/checkECRImageAccess.js.map +1 -0
  15. package/checkECRImageAccess.mjs +22 -19
  16. package/checkECRImageAccess.mjs.map +1 -0
  17. package/checkECRRepositoryPolicy.d.mts +28 -0
  18. package/checkECRRepositoryPolicy.d.mts.map +1 -0
  19. package/checkECRRepositoryPolicy.d.ts +21 -12
  20. package/checkECRRepositoryPolicy.d.ts.map +1 -0
  21. package/checkECRRepositoryPolicy.js +27 -26
  22. package/checkECRRepositoryPolicy.js.map +1 -0
  23. package/checkECRRepositoryPolicy.mjs +11 -9
  24. package/checkECRRepositoryPolicy.mjs.map +1 -0
  25. package/copyECRImage.d.mts +17 -0
  26. package/copyECRImage.d.mts.map +1 -0
  27. package/copyECRImage.d.ts +17 -12
  28. package/copyECRImage.d.ts.map +1 -0
  29. package/copyECRImage.js +21 -20
  30. package/copyECRImage.js.map +1 -0
  31. package/copyECRImage.mjs +2 -1
  32. package/copyECRImage.mjs.map +1 -0
  33. package/ecrImageExists.d.mts +17 -0
  34. package/ecrImageExists.d.mts.map +1 -0
  35. package/ecrImageExists.d.ts +17 -8
  36. package/ecrImageExists.d.ts.map +1 -0
  37. package/ecrImageExists.js +17 -16
  38. package/ecrImageExists.js.map +1 -0
  39. package/ecrImageExists.mjs +6 -5
  40. package/ecrImageExists.mjs.map +1 -0
  41. package/formatECRImageUri.d.mts +12 -0
  42. package/formatECRImageUri.d.mts.map +1 -0
  43. package/formatECRImageUri.d.ts +12 -5
  44. package/formatECRImageUri.d.ts.map +1 -0
  45. package/formatECRImageUri.js +2 -1
  46. package/formatECRImageUri.js.map +1 -0
  47. package/formatECRImageUri.mjs +2 -1
  48. package/formatECRImageUri.mjs.map +1 -0
  49. package/formatECRRepositoryHostname.d.mts +10 -0
  50. package/formatECRRepositoryHostname.d.mts.map +1 -0
  51. package/formatECRRepositoryHostname.d.ts +10 -4
  52. package/formatECRRepositoryHostname.d.ts.map +1 -0
  53. package/formatECRRepositoryHostname.js +2 -1
  54. package/formatECRRepositoryHostname.js.map +1 -0
  55. package/formatECRRepositoryHostname.mjs +2 -1
  56. package/formatECRRepositoryHostname.mjs.map +1 -0
  57. package/index.d.mts +12 -0
  58. package/index.d.mts.map +1 -0
  59. package/index.d.ts +12 -11
  60. package/index.d.ts.map +1 -0
  61. package/index.js +2 -1
  62. package/index.js.map +1 -0
  63. package/index.mjs +2 -1
  64. package/index.mjs.map +1 -0
  65. package/loginToECR.d.mts +11 -0
  66. package/loginToECR.d.mts.map +1 -0
  67. package/loginToECR.d.ts +11 -7
  68. package/loginToECR.d.ts.map +1 -0
  69. package/loginToECR.js +96 -28
  70. package/loginToECR.js.map +1 -0
  71. package/loginToECR.mjs +46 -8
  72. package/loginToECR.mjs.map +1 -0
  73. package/package.json +17 -6
  74. package/parseECRImageUri.d.mts +7 -0
  75. package/parseECRImageUri.d.mts.map +1 -0
  76. package/parseECRImageUri.d.ts +7 -6
  77. package/parseECRImageUri.d.ts.map +1 -0
  78. package/parseECRImageUri.js +2 -1
  79. package/parseECRImageUri.js.map +1 -0
  80. package/parseECRImageUri.mjs +2 -1
  81. package/parseECRImageUri.mjs.map +1 -0
  82. package/parseECRRepositoryHostname.d.mts +6 -0
  83. package/parseECRRepositoryHostname.d.mts.map +1 -0
  84. package/parseECRRepositoryHostname.d.ts +6 -5
  85. package/parseECRRepositoryHostname.d.ts.map +1 -0
  86. package/parseECRRepositoryHostname.js +2 -1
  87. package/parseECRRepositoryHostname.js.map +1 -0
  88. package/parseECRRepositoryHostname.mjs +2 -1
  89. package/parseECRRepositoryHostname.mjs.map +1 -0
  90. package/src/ImageManifestSchema.ts +19 -0
  91. package/src/checkECRImageAccess.ts +193 -0
  92. package/src/checkECRRepositoryPolicy.ts +153 -0
  93. package/src/copyECRImage.ts +76 -0
  94. package/src/ecrImageExists.ts +48 -0
  95. package/src/formatECRImageUri.ts +19 -0
  96. package/src/formatECRRepositoryHostname.ts +11 -0
  97. package/src/index.ts +11 -0
  98. package/src/loginToECR.ts +96 -0
  99. package/src/parseECRImageUri.ts +13 -0
  100. package/src/parseECRRepositoryHostname.ts +12 -0
  101. package/src/tagECRImage.ts +57 -0
  102. package/src/upsertECRRepository.ts +40 -0
  103. package/tagECRImage.d.mts +16 -0
  104. package/tagECRImage.d.mts.map +1 -0
  105. package/tagECRImage.d.ts +13 -6
  106. package/tagECRImage.d.ts.map +1 -0
  107. package/tagECRImage.js +46 -45
  108. package/tagECRImage.js.map +1 -0
  109. package/tagECRImage.mjs +9 -9
  110. package/tagECRImage.mjs.map +1 -0
  111. package/upsertECRRepository.d.mts +11 -0
  112. package/upsertECRRepository.d.mts.map +1 -0
  113. package/upsertECRRepository.d.ts +12 -6
  114. package/upsertECRRepository.d.ts.map +1 -0
  115. package/upsertECRRepository.js +34 -31
  116. package/upsertECRRepository.js.map +1 -0
  117. package/upsertECRRepository.mjs +11 -8
  118. package/upsertECRRepository.mjs.map +1 -0
  119. package/copyECRImage.js.flow +0 -14
  120. package/copyECRImage.mjs.flow +0 -14
  121. package/ecrImageExists.js.flow +0 -10
  122. package/ecrImageExists.mjs.flow +0 -10
  123. package/index.js.flow +0 -8
  124. package/index.mjs.flow +0 -8
  125. package/loginToECR.js.flow +0 -6
  126. package/loginToECR.mjs.flow +0 -6
  127. package/parseECRImageUri.js.flow +0 -8
  128. package/parseECRImageUri.mjs.flow +0 -8
  129. package/tagECRImage.js.flow +0 -8
  130. package/tagECRImage.mjs.flow +0 -8
  131. package/upsertECRRepository.js.flow +0 -7
  132. package/upsertECRRepository.mjs.flow +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkECRImageAccess.mjs","names":["BatchCheckLayerAvailabilityCommand","BatchGetImageCommand","ECRClient","GetDownloadUrlForLayerCommand","GetRepositoryPolicyCommand","SetRepositoryPolicyCommand","STSClient","GetCallerIdentityCommand","parseECRImageUri","ImageManifestSchema","isInteractive","inquirer","formatECRRepositoryHostname","checkECRImageAccess","ecr","awsConfig","repoAccountAwsConfig","imageUri","log","console","error","registryId","region","repositoryName","imageTag","_images$","images","send","imageIds","imageManifest","Error","config","layers","parse","JSON","layerDigests","digest","map","l","layerDigest","name","Action","stringify","Version","Statement","Effect","Principal","AWS","replace","Account","credentials","update","prompt","message","type","default","srcEcr","policyText","catch","policy","info"],"sources":["src/checkECRImageAccess.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
+ /**
3
+ * Checks if the given ECR repository has a sufficient repository
4
+ * policy to allow the given AWS principal to access docker images.
5
+ *
6
+ * If not, prints a warning, and if the terminal is interactive, asks the user if they
7
+ * would like to add/update the repository policy.
8
+ */
9
+ export default function checkECRRepositoryPolicy({
10
+ ecr,
11
+ awsConfig,
12
+ repositoryName,
13
+ awsPrincipal,
14
+ Action,
15
+ log
16
+ }: {
17
+ ecr?: ECRClient;
18
+ awsConfig?: ECRClientConfig;
19
+ repositoryName: string;
20
+ awsPrincipal: string;
21
+ Action?: string[];
22
+ log?: {
23
+ info: (...args: any[]) => void;
24
+ warn: (...args: any[]) => void;
25
+ error: (...args: any[]) => void;
26
+ };
27
+ }): Promise<boolean>;
28
+ //# sourceMappingURL=checkECRRepositoryPolicy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkECRRepositoryPolicy.d.mts","names":["ECRClient","ECRClientConfig","checkECRRepositoryPolicy","ecr","awsConfig","repositoryName","awsPrincipal","Action","log","info","args","warn","error","Promise"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,SAAS,EACTC,eAAe,QAGV,qBAAqB;AAI5B;;;;;;;AAOA,wBAA8BC,wBAAwBA,CAAC;EACrDC,GAAG;EACHC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAIC;EACDC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,cAAc,EAAE,MAAM;EACtBC,YAAY,EAAE,MAAM;EACpBC,MAAM,CAAC,EAAE,MAAM,EAAE;EACjBC,GAAG,CAAC,EAAE;IACJC,IAAI,EAAE,CAAC,GAAGC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BC,IAAI,EAAE,CAAC,GAAGD,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BE,KAAK,EAAE,CAAC,GAAGF,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;GAChC;CACF,GAAGG,OAAO,CAAC,OAAO,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import AWS from 'aws-sdk';
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
2
  /**
3
3
  * Checks if the given ECR repository has a sufficient repository
4
4
  * policy to allow the given AWS principal to access docker images.
@@ -6,15 +6,24 @@ import AWS from 'aws-sdk';
6
6
  * If not, prints a warning, and if the terminal is interactive, asks the user if they
7
7
  * would like to add/update the repository policy.
8
8
  */
9
- export default function checkECRRepositoryPolicy({ ecr, awsConfig, repositoryName, awsPrincipal, Action, log, }: {
10
- ecr?: AWS.ECR;
11
- awsConfig?: AWS.ConfigurationOptions;
12
- repositoryName: string;
13
- awsPrincipal: string;
14
- Action?: string[];
15
- log?: {
16
- info: (...args: any[]) => void;
17
- warn: (...args: any[]) => void;
18
- error: (...args: any[]) => void;
19
- };
9
+ declare function checkECRRepositoryPolicy({
10
+ ecr,
11
+ awsConfig,
12
+ repositoryName,
13
+ awsPrincipal,
14
+ Action,
15
+ log
16
+ }: {
17
+ ecr?: ECRClient;
18
+ awsConfig?: ECRClientConfig;
19
+ repositoryName: string;
20
+ awsPrincipal: string;
21
+ Action?: string[];
22
+ log?: {
23
+ info: (...args: any[]) => void;
24
+ warn: (...args: any[]) => void;
25
+ error: (...args: any[]) => void;
26
+ };
20
27
  }): Promise<boolean>;
28
+ export = checkECRRepositoryPolicy;
29
+ //# sourceMappingURL=checkECRRepositoryPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkECRRepositoryPolicy.d.ts","names":["ECRClient","ECRClientConfig","checkECRRepositoryPolicy","ecr","awsConfig","repositoryName","awsPrincipal","Action","log","info","args","warn","error","Promise"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,SAAS,EACTC,eAAe,QAGV,qBAAqB;AAI5B;;;;;;;AAOA,iBAA8BC,wBAAwBA,CAAC;EACrDC,GAAG;EACHC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAIC;EACDC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,cAAc,EAAE,MAAM;EACtBC,YAAY,EAAE,MAAM;EACpBC,MAAM,CAAC,EAAE,MAAM,EAAE;EACjBC,GAAG,CAAC,EAAE;IACJC,IAAI,EAAE,CAAC,GAAGC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BC,IAAI,EAAE,CAAC,GAAGD,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAC9BE,KAAK,EAAE,CAAC,GAAGF,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;GAChC;CACF,GAAGG,OAAO,CAAC,OAAO,CAAC;AAkHnB,SAAAX,wBAAA","ignoreList":[]}
@@ -7,9 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = checkECRRepositoryPolicy;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
- var _awsSdk = _interopRequireDefault(require("aws-sdk"));
13
+ var _clientEcr = require("@aws-sdk/client-ecr");
13
14
  var _inquirer = _interopRequireDefault(require("inquirer"));
14
15
  var _isInteractive = _interopRequireDefault(require("is-interactive"));
15
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -25,27 +26,27 @@ function checkECRRepositoryPolicy(_x) {
25
26
  return _checkECRRepositoryPolicy.apply(this, arguments);
26
27
  }
27
28
  function _checkECRRepositoryPolicy() {
28
- _checkECRRepositoryPolicy = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
29
+ _checkECRRepositoryPolicy = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
29
30
  var _policy$Statement, _statementForAction$P;
30
- var ecr, awsConfig, repositoryName, awsPrincipal, _ref$Action, Action, _ref$log, log, rootUserMatch, principalAliases, _yield$ecr$getReposit, policyText, policy, statementForAction, statementPrincipal, _yield$inquirer$promp, update, _statementForAction$A, finalPolicy;
31
- return _regenerator["default"].wrap(function _callee$(_context) {
31
+ var ecr, awsConfig, repositoryName, awsPrincipal, _ref$Action, Action, _ref$log, log, rootUserMatch, principalAliases, _yield$ecr$send$catch, policyText, policy, statementForAction, statementPrincipal, _yield$inquirer$promp, update, _statementForAction$A, finalPolicy;
32
+ return _regenerator["default"].wrap(function (_context) {
32
33
  while (1) switch (_context.prev = _context.next) {
33
34
  case 0:
34
35
  ecr = _ref.ecr, awsConfig = _ref.awsConfig, repositoryName = _ref.repositoryName, awsPrincipal = _ref.awsPrincipal, _ref$Action = _ref.Action, Action = _ref$Action === void 0 ? ['ecr:GetDownloadUrlForLayer', 'ecr:BatchCheckLayerAvailability', 'ecr:BatchGetImage'] : _ref$Action, _ref$log = _ref.log, log = _ref$log === void 0 ? console : _ref$log;
35
36
  rootUserMatch = /^arn:aws:iam::(\d+):root$/.exec(awsPrincipal);
36
37
  if (rootUserMatch) awsPrincipal = rootUserMatch[1];
37
38
  principalAliases = /^(\d+)$/.test(awsPrincipal) ? [awsPrincipal, "arn:aws:iam::".concat(awsPrincipal, ":root")] : [awsPrincipal];
38
- if (!ecr) ecr = new _awsSdk["default"].ECR(awsConfig);
39
- _context.next = 7;
40
- return ecr.getRepositoryPolicy({
39
+ if (!ecr) ecr = new _clientEcr.ECRClient(_objectSpread({}, awsConfig));
40
+ _context.next = 1;
41
+ return ecr.send(new _clientEcr.GetRepositoryPolicyCommand({
41
42
  repositoryName: repositoryName
42
- }).promise()["catch"](function (error) {
43
- if (error.name === 'RepositoryPolicyNotFoundException') return {};
43
+ }))["catch"](function (error) {
44
+ if (error && (0, _typeof2["default"])(error) === 'object' && 'name' in error && error.name === 'RepositoryPolicyNotFoundException') return {};
44
45
  throw error;
45
46
  });
46
- case 7:
47
- _yield$ecr$getReposit = _context.sent;
48
- policyText = _yield$ecr$getReposit.policyText;
47
+ case 1:
48
+ _yield$ecr$send$catch = _context.sent;
49
+ policyText = _yield$ecr$send$catch.policyText;
49
50
  policy = JSON.parse(policyText || '{}');
50
51
  statementForAction = (_policy$Statement = policy.Statement) === null || _policy$Statement === void 0 ? void 0 : _policy$Statement.find(function (s) {
51
52
  return s.Effect === 'Allow' && Array.isArray(Action) && Action.every(function (a) {
@@ -57,13 +58,12 @@ function _checkECRRepositoryPolicy() {
57
58
  if (!(statementPrincipal && typeof statementPrincipal === 'string' && principalAliases.includes(statementPrincipal) || Array.isArray(statementPrincipal) && statementPrincipal.some(function (s) {
58
59
  return principalAliases.includes(s);
59
60
  }))) {
60
- _context.next = 15;
61
+ _context.next = 2;
61
62
  break;
62
63
  }
63
- // eslint-disable-next-line no-console
64
64
  log.info("Found policy on ECR repository ".concat(repositoryName, " to allow access for AWS Principal ").concat(awsPrincipal, "."));
65
65
  return _context.abrupt("return", true);
66
- case 15:
66
+ case 2:
67
67
  // eslint-disable-next-line no-console
68
68
  console.warn("Missing policy on ECR repository ".concat(repositoryName, " to allow access for AWS Principal ").concat(awsPrincipal, ".\n\nThe policy should include:\n\n ").concat(JSON.stringify({
69
69
  Version: '2012-10-17',
@@ -76,21 +76,21 @@ function _checkECRRepositoryPolicy() {
76
76
  }]
77
77
  }, null, 2).replace(/\n/gm, '\n '), "\n"));
78
78
  if (!(0, _isInteractive["default"])()) {
79
- _context.next = 28;
79
+ _context.next = 5;
80
80
  break;
81
81
  }
82
- _context.next = 19;
82
+ _context.next = 3;
83
83
  return _inquirer["default"].prompt([{
84
84
  name: 'update',
85
85
  message: 'Do you want to add/update the policy?',
86
86
  type: 'confirm',
87
87
  "default": false
88
88
  }]);
89
- case 19:
89
+ case 3:
90
90
  _yield$inquirer$promp = _context.sent;
91
91
  update = _yield$inquirer$promp.update;
92
92
  if (!update) {
93
- _context.next = 28;
93
+ _context.next = 5;
94
94
  break;
95
95
  }
96
96
  finalPolicy = policy;
@@ -111,17 +111,17 @@ function _checkECRRepositoryPolicy() {
111
111
  }])
112
112
  });
113
113
  }
114
- _context.next = 26;
115
- return ecr.setRepositoryPolicy({
114
+ _context.next = 4;
115
+ return ecr.send(new _clientEcr.SetRepositoryPolicyCommand({
116
116
  repositoryName: repositoryName,
117
117
  policyText: JSON.stringify(finalPolicy, null, 2)
118
- }).promise();
119
- case 26:
118
+ }));
119
+ case 4:
120
120
  log.info("updated policy on ECR repository ".concat(repositoryName));
121
121
  return _context.abrupt("return", true);
122
- case 28:
122
+ case 5:
123
123
  return _context.abrupt("return", false);
124
- case 29:
124
+ case 6:
125
125
  case "end":
126
126
  return _context.stop();
127
127
  }
@@ -129,4 +129,5 @@ function _checkECRRepositoryPolicy() {
129
129
  }));
130
130
  return _checkECRRepositoryPolicy.apply(this, arguments);
131
131
  }
132
- module.exports = exports.default;
132
+ module.exports = exports.default;
133
+ //# sourceMappingURL=checkECRRepositoryPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkECRRepositoryPolicy.js","names":["_clientEcr","require","_inquirer","_interopRequireDefault","_isInteractive","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","checkECRRepositoryPolicy","_x","_checkECRRepositoryPolicy","_asyncToGenerator2","_regenerator","mark","_callee","_ref","_policy$Statement","_statementForAction$P","ecr","awsConfig","repositoryName","awsPrincipal","_ref$Action","Action","_ref$log","log","rootUserMatch","principalAliases","_yield$ecr$send$catch","policyText","policy","statementForAction","statementPrincipal","_yield$inquirer$promp","update","_statementForAction$A","finalPolicy","wrap","_context","prev","next","console","exec","test","concat","ECRClient","send","GetRepositoryPolicyCommand","error","_typeof2","name","sent","JSON","parse","Statement","find","s","Effect","Array","isArray","every","a","_s$Action","includes","Principal","AWS","some","info","abrupt","warn","stringify","Version","replace","isInteractive","inquirer","prompt","message","type","_toConsumableArray2","SetRepositoryPolicyCommand","stop","module","exports","default"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import AWS from 'aws-sdk';
1
+ import { ECRClient, GetRepositoryPolicyCommand, SetRepositoryPolicyCommand } from '@aws-sdk/client-ecr';
2
2
  import inquirer from 'inquirer';
3
3
  import isInteractive from 'is-interactive';
4
4
 
@@ -21,13 +21,15 @@ export default async function checkECRRepositoryPolicy({
21
21
  const rootUserMatch = /^arn:aws:iam::(\d+):root$/.exec(awsPrincipal);
22
22
  if (rootUserMatch) awsPrincipal = rootUserMatch[1];
23
23
  const principalAliases = /^(\d+)$/.test(awsPrincipal) ? [awsPrincipal, `arn:aws:iam::${awsPrincipal}:root`] : [awsPrincipal];
24
- if (!ecr) ecr = new AWS.ECR(awsConfig);
24
+ if (!ecr) ecr = new ECRClient({
25
+ ...awsConfig
26
+ });
25
27
  const {
26
28
  policyText
27
- } = await ecr.getRepositoryPolicy({
29
+ } = await ecr.send(new GetRepositoryPolicyCommand({
28
30
  repositoryName
29
- }).promise().catch(error => {
30
- if (error.name === 'RepositoryPolicyNotFoundException') return {};
31
+ })).catch(error => {
32
+ if (error && typeof error === 'object' && 'name' in error && error.name === 'RepositoryPolicyNotFoundException') return {};
31
33
  throw error;
32
34
  });
33
35
  const policy = JSON.parse(policyText || '{}');
@@ -37,7 +39,6 @@ export default async function checkECRRepositoryPolicy({
37
39
  }));
38
40
  const statementPrincipal = statementForAction === null || statementForAction === void 0 || (_statementForAction$P = statementForAction.Principal) === null || _statementForAction$P === void 0 ? void 0 : _statementForAction$P.AWS;
39
41
  if (statementPrincipal && typeof statementPrincipal === 'string' && principalAliases.includes(statementPrincipal) || Array.isArray(statementPrincipal) && statementPrincipal.some(s => principalAliases.includes(s))) {
40
- // eslint-disable-next-line no-console
41
42
  log.info(`Found policy on ECR repository ${repositoryName} to allow access for AWS Principal ${awsPrincipal}.`);
42
43
  return true;
43
44
  }
@@ -88,13 +89,14 @@ The policy should include:
88
89
  }]
89
90
  };
90
91
  }
91
- await ecr.setRepositoryPolicy({
92
+ await ecr.send(new SetRepositoryPolicyCommand({
92
93
  repositoryName,
93
94
  policyText: JSON.stringify(finalPolicy, null, 2)
94
- }).promise();
95
+ }));
95
96
  log.info(`updated policy on ECR repository ${repositoryName}`);
96
97
  return true;
97
98
  }
98
99
  }
99
100
  return false;
100
- }
101
+ }
102
+ //# sourceMappingURL=checkECRRepositoryPolicy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkECRRepositoryPolicy.mjs","names":["ECRClient","GetRepositoryPolicyCommand","SetRepositoryPolicyCommand","inquirer","isInteractive","checkECRRepositoryPolicy","ecr","awsConfig","repositoryName","awsPrincipal","Action","log","console","_policy$Statement","_statementForAction$P","rootUserMatch","exec","principalAliases","test","policyText","send","catch","error","name","policy","JSON","parse","statementForAction","Statement","find","s","Effect","Array","isArray","every","a","_s$Action","includes","statementPrincipal","Principal","AWS","some","info","warn","stringify","Version","replace","update","prompt","message","type","default","_statementForAction$A","finalPolicy","length"],"sources":["src/checkECRRepositoryPolicy.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
+ export default function copyECRImage({
3
+ from,
4
+ to
5
+ }: {
6
+ from: {
7
+ imageUri: string;
8
+ ecr?: ECRClient;
9
+ awsConfig?: ECRClientConfig;
10
+ };
11
+ to: {
12
+ imageUri: string;
13
+ ecr?: ECRClient;
14
+ awsConfig?: ECRClientConfig;
15
+ };
16
+ }): Promise<void>;
17
+ //# sourceMappingURL=copyECRImage.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyECRImage.d.mts","names":["ECRClient","ECRClientConfig","copyECRImage","from","to","imageUri","ecr","awsConfig","Promise"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,SAAS,EAAEC,eAAe,QAAQ,qBAAqB;AAEhE,wBAA8BC,YAAYA,CAAC;EACzCC,IAAI;EACJC;CACD,EAAE;EACDD,IAAI,EAAE;IACJE,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;EACDG,EAAE,EAAE;IACFC,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;CACF,GAAGO,OAAO,CAAC,IAAI,CAAC","ignoreList":[]}
package/copyECRImage.d.ts CHANGED
@@ -1,13 +1,18 @@
1
- import AWS from 'aws-sdk';
2
- export default function copyECRImage({ from, to, }: {
3
- from: {
4
- imageUri: string;
5
- ecr?: AWS.ECR;
6
- awsConfig?: AWS.ConfigurationOptions;
7
- };
8
- to: {
9
- imageUri: string;
10
- ecr?: AWS.ECR;
11
- awsConfig?: AWS.ConfigurationOptions;
12
- };
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
+ declare function copyECRImage({
3
+ from,
4
+ to
5
+ }: {
6
+ from: {
7
+ imageUri: string;
8
+ ecr?: ECRClient;
9
+ awsConfig?: ECRClientConfig;
10
+ };
11
+ to: {
12
+ imageUri: string;
13
+ ecr?: ECRClient;
14
+ awsConfig?: ECRClientConfig;
15
+ };
13
16
  }): Promise<void>;
17
+ export = copyECRImage;
18
+ //# sourceMappingURL=copyECRImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyECRImage.d.ts","names":["ECRClient","ECRClientConfig","copyECRImage","from","to","imageUri","ecr","awsConfig","Promise"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,SAAS,EAAEC,eAAe,QAAQ,qBAAqB;AAEhE,iBAA8BC,YAAYA,CAAC;EACzCC,IAAI;EACJC;CACD,EAAE;EACDD,IAAI,EAAE;IACJE,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;EACDG,EAAE,EAAE;IACFC,QAAQ,EAAE,MAAM;IAChBC,GAAG,CAAC,EAAEN,SAAS;IACfO,SAAS,CAAC,EAAEN,eAAe;GAC5B;CACF,GAAGO,OAAO,CAAC,IAAI,CAAC;AAuDhB,SAAAN,YAAA","ignoreList":[]}
package/copyECRImage.js CHANGED
@@ -18,23 +18,23 @@ function copyECRImage(_x) {
18
18
  return _copyECRImage.apply(this, arguments);
19
19
  }
20
20
  function _copyECRImage() {
21
- _copyECRImage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
21
+ _copyECRImage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
22
22
  var from, to, srcRepositoryUri, repositoryUri, _parseECRImageUri, fromRegion, _parseECRImageUri2, toRegion, repositoryName, imageTag;
23
- return _regenerator["default"].wrap(function _callee$(_context) {
23
+ return _regenerator["default"].wrap(function (_context) {
24
24
  while (1) switch (_context.prev = _context.next) {
25
25
  case 0:
26
26
  from = _ref.from, to = _ref.to;
27
27
  if (!(from.imageUri === to.imageUri)) {
28
- _context.next = 3;
28
+ _context.next = 1;
29
29
  break;
30
30
  }
31
31
  return _context.abrupt("return");
32
- case 3:
32
+ case 1:
33
33
  srcRepositoryUri = from.imageUri.replace(/:.+/, '');
34
34
  repositoryUri = to.imageUri.replace(/:.+/, '');
35
35
  _parseECRImageUri = (0, _parseECRImageUri3["default"])(from.imageUri), fromRegion = _parseECRImageUri.region;
36
36
  _parseECRImageUri2 = (0, _parseECRImageUri3["default"])(to.imageUri), toRegion = _parseECRImageUri2.region, repositoryName = _parseECRImageUri2.repositoryName, imageTag = _parseECRImageUri2.imageTag;
37
- _context.next = 9;
37
+ _context.next = 2;
38
38
  return (0, _ecrImageExists["default"])({
39
39
  awsConfig: _objectSpread(_objectSpread({}, to.awsConfig), {}, {
40
40
  region: toRegion
@@ -43,55 +43,55 @@ function _copyECRImage() {
43
43
  repositoryName: repositoryName,
44
44
  imageTag: imageTag
45
45
  });
46
- case 9:
46
+ case 2:
47
47
  if (!_context.sent) {
48
- _context.next = 13;
48
+ _context.next = 3;
49
49
  break;
50
50
  }
51
51
  // eslint-disable-next-line no-console
52
52
  console.error("Clarity image already exists in your ECR: ".concat(repositoryName, ":").concat(imageTag));
53
- _context.next = 27;
53
+ _context.next = 8;
54
54
  break;
55
- case 13:
55
+ case 3:
56
56
  // eslint-disable-next-line no-console
57
57
  console.error("Logging into source ECR: ".concat(srcRepositoryUri.replace(/\/.*/, ''), "..."));
58
- _context.next = 16;
58
+ _context.next = 4;
59
59
  return (0, _loginToECR["default"])({
60
60
  ecr: from.ecr,
61
61
  awsConfig: _objectSpread(_objectSpread({}, from.awsConfig), {}, {
62
62
  region: fromRegion
63
63
  })
64
64
  });
65
- case 16:
65
+ case 4:
66
66
  // eslint-disable-next-line no-console
67
67
  console.error("Pulling ".concat(from.imageUri, "..."));
68
- _context.next = 19;
68
+ _context.next = 5;
69
69
  return (0, _promisifyChildProcess.spawn)('docker', ['pull', from.imageUri], {
70
70
  stdio: 'inherit'
71
71
  });
72
- case 19:
72
+ case 5:
73
73
  // eslint-disable-next-line no-console
74
74
  console.error("Logging into dest ECR: ".concat(repositoryUri.replace(/\/.*/, ''), "..."));
75
- _context.next = 22;
75
+ _context.next = 6;
76
76
  return (0, _loginToECR["default"])({
77
77
  ecr: to.ecr,
78
78
  awsConfig: _objectSpread(_objectSpread({}, to.awsConfig), {}, {
79
79
  region: toRegion
80
80
  })
81
81
  });
82
- case 22:
82
+ case 6:
83
83
  // eslint-disable-next-line no-console
84
84
  console.error("Pushing ".concat(to.imageUri, "..."));
85
- _context.next = 25;
85
+ _context.next = 7;
86
86
  return (0, _promisifyChildProcess.spawn)('docker', ['tag', from.imageUri, to.imageUri], {
87
87
  stdio: 'inherit'
88
88
  });
89
- case 25:
90
- _context.next = 27;
89
+ case 7:
90
+ _context.next = 8;
91
91
  return (0, _promisifyChildProcess.spawn)('docker', ['push', to.imageUri], {
92
92
  stdio: 'inherit'
93
93
  });
94
- case 27:
94
+ case 8:
95
95
  case "end":
96
96
  return _context.stop();
97
97
  }
@@ -99,4 +99,5 @@ function _copyECRImage() {
99
99
  }));
100
100
  return _copyECRImage.apply(this, arguments);
101
101
  }
102
- module.exports = exports.default;
102
+ module.exports = exports.default;
103
+ //# sourceMappingURL=copyECRImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyECRImage.js","names":["_promisifyChildProcess","require","_loginToECR","_interopRequireDefault","_ecrImageExists","_parseECRImageUri3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","copyECRImage","_x","_copyECRImage","_asyncToGenerator2","_regenerator","mark","_callee","_ref","from","to","srcRepositoryUri","repositoryUri","_parseECRImageUri","fromRegion","_parseECRImageUri2","toRegion","repositoryName","imageTag","wrap","_context","prev","next","imageUri","abrupt","replace","parseECRImageUri","region","ecrImageExists","awsConfig","ecr","sent","console","error","concat","loginToECR","spawn","stdio","stop","module","exports","default"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/copyECRImage.mjs CHANGED
@@ -64,4 +64,5 @@ export default async function copyECRImage({
64
64
  stdio: 'inherit'
65
65
  });
66
66
  }
67
- }
67
+ }
68
+ //# sourceMappingURL=copyECRImage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyECRImage.mjs","names":["spawn","loginToECR","ecrImageExists","parseECRImageUri","copyECRImage","from","to","imageUri","srcRepositoryUri","replace","repositoryUri","region","fromRegion","toRegion","repositoryName","imageTag","awsConfig","ecr","console","error","stdio"],"sources":["src/copyECRImage.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,yBAAyB;AAC/C,OAAOC,UAAU;AACjB,OAAOC,cAAc;AACrB,OAAOC,gBAAgB;AAGvB,eAAe,eAAeC,YAAYA,CAAC;EACzCC,IAAI;EACJC;AAYF,CAAC,EAAiB;EAChB,IAAID,IAAI,CAACE,QAAQ,KAAKD,EAAE,CAACC,QAAQ,EAAE;EACnC,MAAMC,gBAAgB,GAAGH,IAAI,CAACE,QAAQ,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACzD,MAAMC,aAAa,GAAGJ,EAAE,CAACC,QAAQ,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAEpD,MAAM;IAAEE,MAAM,EAAEC;EAAW,CAAC,GAAGT,gBAAgB,CAACE,IAAI,CAACE,QAAQ,CAAC;EAC9D,MAAM;IACJI,MAAM,EAAEE,QAAQ;IAChBC,cAAc;IACdC;EACF,CAAC,GAAGZ,gBAAgB,CAACG,EAAE,CAACC,QAAQ,CAAC;EAEjC,IACE,MAAML,cAAc,CAAC;IACnBc,SAAS,EAAE;MAAE,GAAGV,EAAE,CAACU,SAAS;MAAEL,MAAM,EAAEE;IAAS,CAAC;IAChDI,GAAG,EAAEX,EAAE,CAACW,GAAG;IACXH,cAAc;IACdC;EACF,CAAC,CAAC,EACF;IACA;IACAG,OAAO,CAACC,KAAK,CACX,6CAA6CL,cAAc,IAAIC,QAAQ,EACzE,CAAC;EACH,CAAC,MAAM;IACL;IACAG,OAAO,CAACC,KAAK,CACX,4BAA4BX,gBAAgB,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAClE,CAAC;IAED,MAAMR,UAAU,CAAC;MACfgB,GAAG,EAAEZ,IAAI,CAACY,GAAG;MACbD,SAAS,EAAE;QAAE,GAAGX,IAAI,CAACW,SAAS;QAAEL,MAAM,EAAEC;MAAW;IACrD,CAAC,CAAC;;IAEF;IACAM,OAAO,CAACC,KAAK,CAAC,WAAWd,IAAI,CAACE,QAAQ,KAAK,CAAC;IAC5C,MAAMP,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAEK,IAAI,CAACE,QAAQ,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAU,CAAC,CAAC;;IAEpE;IACAF,OAAO,CAACC,KAAK,CACX,0BAA0BT,aAAa,CAACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAC7D,CAAC;IACD,MAAMR,UAAU,CAAC;MACfgB,GAAG,EAAEX,EAAE,CAACW,GAAG;MACXD,SAAS,EAAE;QAAE,GAAGV,EAAE,CAACU,SAAS;QAAEL,MAAM,EAAEE;MAAS;IACjD,CAAC,CAAC;;IAEF;IACAK,OAAO,CAACC,KAAK,CAAC,WAAWb,EAAE,CAACC,QAAQ,KAAK,CAAC;IAC1C,MAAMP,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAEK,IAAI,CAACE,QAAQ,EAAED,EAAE,CAACC,QAAQ,CAAC,EAAE;MACzDa,KAAK,EAAE;IACT,CAAC,CAAC;IACF,MAAMpB,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAEM,EAAE,CAACC,QAAQ,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAU,CAAC,CAAC;EACpE;AACF","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
+ export default function ecrImageExists({
3
+ ecr,
4
+ awsConfig,
5
+ imageUri,
6
+ registryId,
7
+ repositoryName,
8
+ imageTag
9
+ }: {
10
+ ecr?: ECRClient;
11
+ awsConfig?: ECRClientConfig;
12
+ imageUri?: string;
13
+ registryId?: string;
14
+ repositoryName?: string;
15
+ imageTag?: string;
16
+ }): Promise<boolean>;
17
+ //# sourceMappingURL=ecrImageExists.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecrImageExists.d.mts","names":["ECRClient","ECRClientConfig","ecrImageExists","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","Promise"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,SAAS,EACTC,eAAe,QACV,qBAAqB;AAE5B,wBAA8BC,cAAcA,CAAC;EAC3CC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,QAAQ,CAAC,EAAE,MAAM;EACjBC,UAAU,CAAC,EAAE,MAAM;EACnBC,cAAc,CAAC,EAAE,MAAM;EACvBC,QAAQ,CAAC,EAAE,MAAM;CAClB,GAAGC,OAAO,CAAC,OAAO,CAAC","ignoreList":[]}
@@ -1,9 +1,18 @@
1
- import AWS from 'aws-sdk';
2
- export default function ecrImageExists({ ecr, awsConfig, imageUri, registryId, repositoryName, imageTag, }: {
3
- ecr?: AWS.ECR;
4
- awsConfig?: AWS.ConfigurationOptions;
5
- imageUri?: string;
6
- registryId?: string;
7
- repositoryName?: string;
8
- imageTag?: string;
1
+ import { ECRClient, ECRClientConfig } from '@aws-sdk/client-ecr';
2
+ declare function ecrImageExists({
3
+ ecr,
4
+ awsConfig,
5
+ imageUri,
6
+ registryId,
7
+ repositoryName,
8
+ imageTag
9
+ }: {
10
+ ecr?: ECRClient;
11
+ awsConfig?: ECRClientConfig;
12
+ imageUri?: string;
13
+ registryId?: string;
14
+ repositoryName?: string;
15
+ imageTag?: string;
9
16
  }): Promise<boolean>;
17
+ export = ecrImageExists;
18
+ //# sourceMappingURL=ecrImageExists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecrImageExists.d.ts","names":["ECRClient","ECRClientConfig","ecrImageExists","ecr","awsConfig","imageUri","registryId","repositoryName","imageTag","Promise"],"sources":["src/ecrImageExists.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,SAAS,EACTC,eAAe,QACV,qBAAqB;AAE5B,iBAA8BC,cAAcA,CAAC;EAC3CC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC;CACD,EAAE;EACDL,GAAG,CAAC,EAAEH,SAAS;EACfI,SAAS,CAAC,EAAEH,eAAe;EAC3BI,QAAQ,CAAC,EAAE,MAAM;EACjBC,UAAU,CAAC,EAAE,MAAM;EACnBC,cAAc,CAAC,EAAE,MAAM;EACvBC,QAAQ,CAAC,EAAE,MAAM;CAClB,GAAGC,OAAO,CAAC,OAAO,CAAC;AA2BnB,SAAAP,cAAA","ignoreList":[]}