cdk-assets 3.3.0 → 4.0.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 (48) hide show
  1. package/README.md +4 -4
  2. package/THIRD_PARTY_LICENSES +18764 -0
  3. package/bin/cdk-assets.js +109830 -62
  4. package/bin/docker-credential-cdk-assets.js +4 -4
  5. package/bin/list.js +3 -3
  6. package/bin/logging.js +3 -1
  7. package/bin/publish.js +6 -6
  8. package/package.json +11 -30
  9. package/lib/asset-manifest.d.ts +0 -186
  10. package/lib/asset-manifest.js +0 -270
  11. package/lib/aws-types.d.ts +0 -1666
  12. package/lib/aws-types.js +0 -144
  13. package/lib/aws.d.ts +0 -71
  14. package/lib/aws.js +0 -131
  15. package/lib/index.d.ts +0 -4
  16. package/lib/index.js +0 -21
  17. package/lib/private/archive.d.ts +0 -3
  18. package/lib/private/archive.js +0 -87
  19. package/lib/private/asset-handler.d.ts +0 -60
  20. package/lib/private/asset-handler.js +0 -3
  21. package/lib/private/docker-credentials.d.ts +0 -35
  22. package/lib/private/docker-credentials.js +0 -90
  23. package/lib/private/docker.d.ts +0 -98
  24. package/lib/private/docker.js +0 -235
  25. package/lib/private/fs-extra.d.ts +0 -3
  26. package/lib/private/fs-extra.js +0 -37
  27. package/lib/private/handlers/client-options.d.ts +0 -3
  28. package/lib/private/handlers/client-options.js +0 -12
  29. package/lib/private/handlers/container-images.d.ts +0 -22
  30. package/lib/private/handlers/container-images.js +0 -224
  31. package/lib/private/handlers/files.d.ts +0 -14
  32. package/lib/private/handlers/files.js +0 -289
  33. package/lib/private/handlers/index.d.ts +0 -3
  34. package/lib/private/handlers/index.js +0 -16
  35. package/lib/private/p-limit.d.ts +0 -10
  36. package/lib/private/p-limit.js +0 -51
  37. package/lib/private/placeholders.d.ts +0 -10
  38. package/lib/private/placeholders.js +0 -34
  39. package/lib/private/shell.d.ts +0 -24
  40. package/lib/private/shell.js +0 -131
  41. package/lib/private/util.d.ts +0 -5
  42. package/lib/private/util.js +0 -16
  43. package/lib/progress.d.ts +0 -114
  44. package/lib/progress.js +0 -104
  45. package/lib/publishing.d.ts +0 -118
  46. package/lib/publishing.js +0 -193
  47. package/scripts/manual-test-manifest.json +0 -12
  48. package/scripts/manual-test.sh +0 -22
package/lib/aws.js DELETED
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultAwsClient = void 0;
4
- const os = require("os");
5
- const client_ecr_1 = require("@aws-sdk/client-ecr");
6
- const client_s3_1 = require("@aws-sdk/client-s3");
7
- const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
8
- const client_sts_1 = require("@aws-sdk/client-sts");
9
- const credential_providers_1 = require("@aws-sdk/credential-providers");
10
- const lib_storage_1 = require("@aws-sdk/lib-storage");
11
- const config_resolver_1 = require("@smithy/config-resolver");
12
- const node_config_provider_1 = require("@smithy/node-config-provider");
13
- const USER_AGENT = 'cdk-assets';
14
- /**
15
- * AWS client using the AWS SDK for JS with no special configuration
16
- */
17
- class DefaultAwsClient {
18
- constructor(profile) {
19
- this.profile = profile;
20
- const clientConfig = {
21
- customUserAgent: USER_AGENT,
22
- };
23
- // storing the main credentials separately because
24
- // the `config` object changes every time we assume the file publishing role.
25
- // TODO refactor to make `config` a readonly property and avoid state mutations.
26
- this.mainCredentials = (0, credential_providers_1.fromNodeProviderChain)({
27
- profile: this.profile,
28
- clientConfig,
29
- });
30
- this.config = {
31
- clientConfig,
32
- credentials: this.mainCredentials,
33
- };
34
- }
35
- async s3Client(options) {
36
- const client = new client_s3_1.S3Client(await this.awsOptions(options));
37
- return {
38
- getBucketEncryption: (input) => client.send(new client_s3_1.GetBucketEncryptionCommand(input)),
39
- getBucketLocation: (input) => client.send(new client_s3_1.GetBucketLocationCommand(input)),
40
- listObjectsV2: (input) => client.send(new client_s3_1.ListObjectsV2Command(input)),
41
- upload: (input) => {
42
- const upload = new lib_storage_1.Upload({
43
- client,
44
- params: input,
45
- });
46
- return upload.done();
47
- },
48
- };
49
- }
50
- async ecrClient(options) {
51
- const client = new client_ecr_1.ECRClient(await this.awsOptions(options));
52
- return {
53
- describeImages: (input) => client.send(new client_ecr_1.DescribeImagesCommand(input)),
54
- describeRepositories: (input) => client.send(new client_ecr_1.DescribeRepositoriesCommand(input)),
55
- getAuthorizationToken: (input) => client.send(new client_ecr_1.GetAuthorizationTokenCommand(input ?? {})),
56
- };
57
- }
58
- async secretsManagerClient(options) {
59
- const client = new client_secrets_manager_1.SecretsManagerClient(await this.awsOptions(options));
60
- return {
61
- getSecretValue: (input) => client.send(new client_secrets_manager_1.GetSecretValueCommand(input)),
62
- };
63
- }
64
- async discoverPartition() {
65
- return (await this.discoverCurrentAccount()).partition;
66
- }
67
- async discoverDefaultRegion() {
68
- return (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS)() || 'us-east-1';
69
- }
70
- async discoverCurrentAccount() {
71
- if (this.account === undefined) {
72
- this.account = await this.getAccount();
73
- }
74
- return this.account;
75
- }
76
- async discoverTargetAccount(options) {
77
- return this.getAccount(await this.awsOptions(options));
78
- }
79
- async getAccount(options) {
80
- this.config.clientConfig = options ?? this.config.clientConfig;
81
- const stsClient = new client_sts_1.STSClient(await this.awsOptions(options));
82
- const command = new client_sts_1.GetCallerIdentityCommand();
83
- const response = await stsClient.send(command);
84
- if (!response.Account || !response.Arn) {
85
- throw new Error(`Unrecognized response from STS: '${JSON.stringify(response)}'`);
86
- }
87
- return {
88
- accountId: response.Account,
89
- partition: response.Arn.split(':')[1],
90
- };
91
- }
92
- async awsOptions(options) {
93
- const config = this.config;
94
- config.region = options?.region;
95
- if (options) {
96
- config.region = options.region;
97
- if (options.assumeRoleArn) {
98
- config.credentials = (0, credential_providers_1.fromTemporaryCredentials)({
99
- // dont forget the credentials chain.
100
- masterCredentials: this.mainCredentials,
101
- params: {
102
- RoleArn: options.assumeRoleArn,
103
- ExternalId: options.assumeRoleExternalId,
104
- RoleSessionName: `${USER_AGENT}-${safeUsername()}`,
105
- TransitiveTagKeys: options.assumeRoleAdditionalOptions?.Tags
106
- ? options.assumeRoleAdditionalOptions.Tags.map((t) => t.Key)
107
- : undefined,
108
- ...options.assumeRoleAdditionalOptions,
109
- },
110
- clientConfig: this.config.clientConfig,
111
- });
112
- }
113
- }
114
- return config;
115
- }
116
- }
117
- exports.DefaultAwsClient = DefaultAwsClient;
118
- /**
119
- * Return the username with characters invalid for a RoleSessionName removed
120
- *
121
- * @see https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html#API_AssumeRole_RequestParameters
122
- */
123
- function safeUsername() {
124
- try {
125
- return os.userInfo().username.replace(/[^\w+=,.@-]/g, '@');
126
- }
127
- catch {
128
- return 'noname';
129
- }
130
- }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6QixvREFLNkI7QUFDN0Isa0RBSzRCO0FBQzVCLDRFQUE4RjtBQUs5RixvREFHNkI7QUFDN0Isd0VBQWdHO0FBQ2hHLHNEQUE4QztBQUM5Qyw2REFHaUM7QUFDakMsdUVBQTBEO0FBc0UxRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUEwQmhDOztHQUVHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFLM0IsWUFBNkIsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUMzQyxNQUFNLFlBQVksR0FBb0I7WUFDcEMsZUFBZSxFQUFFLFVBQVU7U0FDNUIsQ0FBQztRQUVGLGtEQUFrRDtRQUNsRCw2RUFBNkU7UUFDN0UsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBQSw0Q0FBcUIsRUFBQztZQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWTtTQUNiLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixZQUFZO1lBQ1osV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFzQjtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUQsT0FBTztZQUNMLG1CQUFtQixFQUFFLENBQ25CLEtBQXNDLEVBQ0ssRUFBRSxDQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksc0NBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsaUJBQWlCLEVBQUUsQ0FDakIsS0FBb0MsRUFDSyxFQUFFLENBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQ0FBd0IsQ0FBQyxLQUFL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QUMsMkJBQTJCO3FCQUN2QztvQkFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2lCQUN2QyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQWpJRCw0Q0FpSUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxZQUFZO0lBQ25CLElBQUksQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCB7XG4gIERlc2NyaWJlSW1hZ2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVSZXBvc2l0b3JpZXNDb21tYW5kLFxuICBFQ1JDbGllbnQsXG4gIEdldEF1dGhvcml6YXRpb25Ub2tlbkNvbW1hbmQsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1lY3InO1xuaW1wb3J0IHtcbiAgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQsXG4gIEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmQsXG4gIFMzQ2xpZW50LFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtczMnO1xuaW1wb3J0IHsgR2V0U2VjcmV0VmFsdWVDb21tYW5kLCBTZWNyZXRzTWFuYWdlckNsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXInO1xuaW1wb3J0IHR5cGUge1xuICBBc3N1bWVSb2xlQ29tbWFuZElucHV0LFxuICBTVFNDbGllbnRDb25maWcsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuaW1wb3J0IHtcbiAgR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kLFxuICBTVFNDbGllbnQsXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuaW1wb3J0IHsgZnJvbU5vZGVQcm92aWRlckNoYWluLCBmcm9tVGVtcG9yYXJ5Q3JlZGVudGlhbHMgfSBmcm9tICdAYXdzLXNkay9jcmVkZW50aWFsLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tICdAYXdzLXNkay9saWItc3RvcmFnZSc7XG5pbXBvcnQge1xuICBOT0RFX1JFR0lPTl9DT05GSUdfRklMRV9PUFRJT05TLFxuICBOT0RFX1JFR0lPTl9DT05GSUdfT1BUSU9OUyxcbn0gZnJvbSAnQHNtaXRoeS9jb25maWctcmVzb2x2ZXInO1xuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gJ0BzbWl0aHkvbm9kZS1jb25maWctcHJvdmlkZXInO1xuaW1wb3J0IHR5cGUge1xuICBBd3NDcmVkZW50aWFsSWRlbnRpdHlQcm92aWRlcixcbiAgQ29tcGxldGVNdWx0aXBhcnRVcGxvYWRDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZUltYWdlc0NvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVJbWFnZXNDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVJlcG9zaXRvcmllc0NvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVSZXBvc2l0b3JpZXNDb21tYW5kT3V0cHV0LFxuICBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kSW5wdXQsXG4gIEdldEF1dGhvcml6YXRpb25Ub2tlbkNvbW1hbmRPdXRwdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gIEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kT3V0cHV0LFxuICBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kT3V0cHV0LFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZElucHV0LFxuICBMaXN0T2JqZWN0c1YyQ29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0Q29tbWFuZElucHV0LFxufSBmcm9tICcuL2F3cy10eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucyA9IFBhcnRpYWw8XG4gIE9taXQ8QXNzdW1lUm9sZUNvbW1hbmRJbnB1dCwgJ0V4dGVybmFsSWQnIHwgJ1JvbGVBcm4nPlxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBJUzNDbGllbnQge1xuICBnZXRCdWNrZXRFbmNyeXB0aW9uKFxuICAgIGlucHV0OiBHZXRCdWNrZXRFbmNyeXB0aW9uQ29tbWFuZElucHV0XG4gICk6IFByb21pc2U8R2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmRPdXRwdXQ+O1xuICBnZXRCdWNrZXRMb2NhdGlvbihpbnB1dDogR2V0QnVja2V0TG9jYXRpb25Db21tYW5kSW5wdXQpOiBQcm9taXNlPEdldEJ1Y2tldExvY2F0aW9uQ29tbWFuZE91dHB1dD47XG4gIGxpc3RPYmplY3RzVjIoaW5wdXQ6IExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQpOiBQcm9taXNlPExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0PjtcbiAgdXBsb2FkKGlucHV0OiBQdXRPYmplY3RDb21tYW5kSW5wdXQpOiBQcm9taXNlPENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVDUkNsaWVudCB7XG4gIGRlc2NyaWJlSW1hZ2VzKGlucHV0OiBEZXNjcmliZUltYWdlc0NvbW1hbmRJbnB1dCk6IFByb21pc2U8RGVzY3JpYmVJbWFnZXNDb21tYW5kT3V0cHV0PjtcbiAgZGVzY3JpYmVSZXBvc2l0b3JpZXMoXG4gICAgaW5wdXQ6IERlc2NyaWJlUmVwb3NpdG9yaWVzQ29tbWFuZElucHV0XG4gICk6IFByb21pc2U8RGVzY3JpYmVSZXBvc2l0b3JpZXNDb21tYW5kT3V0cHV0PjtcbiAgZ2V0QXV0aG9yaXphdGlvblRva2VuKFxuICAgIGlucHV0PzogR2V0QXV0aG9yaXphdGlvblRva2VuQ29tbWFuZElucHV0XG4gICk6IFByb21pc2U8R2V0QXV0aG9yaXphdGlvblRva2VuQ29tbWFuZE91dHB1dD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlY3JldHNNYW5hZ2VyQ2xpZW50IHtcbiAgZ2V0U2VjcmV0VmFsdWUoaW5wdXQ6IEdldFNlY3JldFZhbHVlQ29tbWFuZElucHV0KTogUHJvbWlzZTxHZXRTZWNyZXRWYWx1ZUNvbW1hbmRPdXRwdXQ+O1xufVxuXG4vKipcbiAqIEFXUyBTREsgb3BlcmF0aW9ucyByZXF1aXJlZCBieSBBc3NldCBQdWJsaXNoaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF3cyB7XG4gIGRpc2NvdmVyUGFydGl0aW9uKCk6IFByb21pc2U8c3RyaW5nPjtcbiAgZGlzY292ZXJEZWZhdWx0UmVnaW9uKCk6IFByb21pc2U8c3RyaW5nPjtcbiAgZGlzY292ZXJDdXJyZW50QWNjb3VudCgpOiBQcm9taXNlPEFjY291bnQ+O1xuXG4gIGRpc2NvdmVyVGFyZ2V0QWNjb3VudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBY2NvdW50PjtcbiAgczNDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8SVMzQ2xpZW50PjtcbiAgZWNyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPElFQ1JDbGllbnQ+O1xuICBzZWNyZXRzTWFuYWdlckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxJU2VjcmV0c01hbmFnZXJDbGllbnQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaWVudE9wdGlvbnMge1xuICByZWdpb24/OiBzdHJpbmc7XG4gIGFzc3VtZVJvbGVBcm4/OiBzdHJpbmc7XG4gIGFzc3VtZVJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM/OiBBc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM7XG4gIHF1aWV0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgVVNFUl9BR0VOVCA9ICdjZGstYXNzZXRzJztcblxuaW50ZXJmYWNlIENvbmZpZ3VyYXRpb24ge1xuICBjbGllbnRDb25maWc6IFNUU0NsaWVudENvbmZpZztcbiAgcmVnaW9uPzogc3RyaW5nO1xuICBjcmVkZW50aWFsczogQXdzQ3JlZGVudGlhbElkZW50aXR5UHJvdmlkZXI7XG59XG5cbi8qKlxuICogQW4gQVdTIGFjY291bnRcbiAqXG4gKiBBbiBBV1MgYWNjb3VudCBhbHdheXMgZXhpc3RzIGluIG9ubHkgb25lIHBhcnRpdGlvbi4gVXN1YWxseSB3ZSBkb24ndCBjYXJlIGFib3V0XG4gKiB0aGUgcGFydGl0aW9uLCBidXQgd2hlbiB3ZSBuZWVkIHRvIGZvcm0gQVJOcyB3ZSBkby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJ0aXRpb24gKCdhd3MnIG9yICdhd3MtY24nIG9yIG90aGVyd2lzZSlcbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFXUyBjbGllbnQgdXNpbmcgdGhlIEFXUyBTREsgZm9yIEpTIHdpdGggbm8gc3BlY2lhbCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0QXdzQ2xpZW50IGltcGxlbWVudHMgSUF3cyB7XG4gIHByaXZhdGUgYWNjb3VudD86IEFjY291bnQ7XG4gIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IG1haW5DcmVkZW50aWFsczogQXdzQ3JlZGVudGlhbElkZW50aXR5UHJvdmlkZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9maWxlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgY2xpZW50Q29uZmlnOiBTVFNDbGllbnRDb25maWcgPSB7XG4gICAgICBjdXN0b21Vc2VyQWdlbnQ6IFVTRVJfQUdFTlQsXG4gICAgfTtcblxuICAgIC8vIHN0b3JpbmcgdGhlIG1haW4gY3JlZGVudGlhbHMgc2VwYXJhdGVseSBiZWNhdXNlXG4gICAgLy8gdGhlIGBjb25maWdgIG9iamVjdCBjaGFuZ2VzIGV2ZXJ5IHRpbWUgd2UgYXNzdW1lIHRoZSBmaWxlIHB1Ymxpc2hpbmcgcm9sZS5cbiAgICAvLyBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgYGNvbmZpZ2AgYSByZWFkb25seSBwcm9wZXJ0eSBhbmQgYXZvaWQgc3RhdGUgbXV0YXRpb25zLlxuICAgIHRoaXMubWFpbkNyZWRlbnRpYWxzID0gZnJvbU5vZGVQcm92aWRlckNoYWluKHtcbiAgICAgIHByb2ZpbGU6IHRoaXMucHJvZmlsZSxcbiAgICAgIGNsaWVudENvbmZpZyxcbiAgICB9KTtcblxuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgY2xpZW50Q29uZmlnLFxuICAgICAgY3JlZGVudGlhbHM6IHRoaXMubWFpbkNyZWRlbnRpYWxzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgczNDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8SVMzQ2xpZW50PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IFMzQ2xpZW50KGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldEJ1Y2tldEVuY3J5cHRpb246IChcbiAgICAgICAgaW5wdXQ6IEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kSW5wdXQsXG4gICAgICApOiBQcm9taXNlPEdldEJ1Y2tldEVuY3J5cHRpb25Db21tYW5kT3V0cHV0PiA9PlxuICAgICAgICBjbGllbnQuc2VuZChuZXcgR2V0QnVja2V0RW5jcnlwdGlvbkNvbW1hbmQoaW5wdXQpKSxcbiAgICAgIGdldEJ1Y2tldExvY2F0aW9uOiAoXG4gICAgICAgIGlucHV0OiBHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmRJbnB1dCxcbiAgICAgICk6IFByb21pc2U8R2V0QnVja2V0TG9jYXRpb25Db21tYW5kT3V0cHV0PiA9PlxuICAgICAgICBjbGllbnQuc2VuZChuZXcgR2V0QnVja2V0TG9jYXRpb25Db21tYW5kKGlucHV0KSksXG4gICAgICBsaXN0T2JqZWN0c1YyOiAoaW5wdXQ6IExpc3RPYmplY3RzVjJDb21tYW5kSW5wdXQpOiBQcm9taXNlPExpc3RPYmplY3RzVjJDb21tYW5kT3V0cHV0PiA9PlxuICAgICAgICBjbGllbnQuc2VuZChuZXcgTGlzdE9iamVjdHNWMkNvbW1hbmQoaW5wdXQpKSxcbiAgICAgIHVwbG9hZDogKGlucHV0OiBQdXRPYmplY3RDb21tYW5kSW5wdXQpOiBQcm9taXNlPENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dD4gPT4ge1xuICAgICAgICBjb25zdCB1cGxvYWQgPSBuZXcgVXBsb2FkKHtcbiAgICAgICAgICBjbGllbnQsXG4gICAgICAgICAgcGFyYW1zOiBpbnB1dCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1cGxvYWQuZG9uZSgpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGVjckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxJRUNSQ2xpZW50PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IEVDUkNsaWVudChhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICAgIHJldHVybiB7XG4gICAgICBkZXNjcmliZUltYWdlczogKGlucHV0OiBEZXNjcmliZUltYWdlc0NvbW1hbmRJbnB1dCk6IFByb21pc2U8RGVzY3JpYmVJbWFnZXNDb21tYW5kT3V0cHV0PiA9PlxuICAgICAgICBjbGllbnQuc2VuZChuZXcgRGVzY3JpYmVJbWFnZXNDb21tYW5kKGlucHV0KSksXG4gICAgICBkZXNjcmliZVJlcG9zaXRvcmllczogKFxuICAgICAgICBpbnB1dDogRGVzY3JpYmVSZXBvc2l0b3JpZXNDb21tYW5kSW5wdXQsXG4gICAgICApOiBQcm9taXNlPERlc2NyaWJlUmVwb3NpdG9yaWVzQ29tbWFuZE91dHB1dD4gPT5cbiAgICAgICAgY2xpZW50LnNlbmQobmV3IERlc2NyaWJlUmVwb3NpdG9yaWVzQ29tbWFuZChpbnB1dCkpLFxuICAgICAgZ2V0QXV0aG9yaXphdGlvblRva2VuOiAoXG4gICAgICAgIGlucHV0OiBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kSW5wdXQsXG4gICAgICApOiBQcm9taXNlPEdldEF1dGhvcml6YXRpb25Ub2tlbkNvbW1hbmRPdXRwdXQ+ID0+XG4gICAgICAgIGNsaWVudC5zZW5kKG5ldyBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kKGlucHV0ID8/IHt9KSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWNyZXRzTWFuYWdlckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxJU2VjcmV0c01hbmFnZXJDbGllbnQ+IHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoYXdhaXQgdGhpcy5hd3NPcHRpb25zKG9wdGlvbnMpKTtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0U2VjcmV0VmFsdWU6IChpbnB1dDogR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQpOiBQcm9taXNlPEdldFNlY3JldFZhbHVlQ29tbWFuZE91dHB1dD4gPT5cbiAgICAgICAgY2xpZW50LnNlbmQobmV3IEdldFNlY3JldFZhbHVlQ29tbWFuZChpbnB1dCkpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJQYXJ0aXRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZGlzY292ZXJDdXJyZW50QWNjb3VudCgpKS5wYXJ0aXRpb247XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJEZWZhdWx0UmVnaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGxvYWRDb25maWcoTk9ERV9SRUdJT05fQ09ORklHX09QVElPTlMsIE5PREVfUkVHSU9OX0NPTkZJR19GSUxFX09QVElPTlMpKCkgfHwgJ3VzLWVhc3QtMSc7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJDdXJyZW50QWNjb3VudCgpOiBQcm9taXNlPEFjY291bnQ+IHtcbiAgICBpZiAodGhpcy5hY2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYWNjb3VudCA9IGF3YWl0IHRoaXMuZ2V0QWNjb3VudCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyVGFyZ2V0QWNjb3VudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWNjb3VudChhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBY2NvdW50KG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgdGhpcy5jb25maWcuY2xpZW50Q29uZmlnID0gb3B0aW9ucyA/PyB0aGlzLmNvbmZpZy5jbGllbnRDb25maWc7XG4gICAgY29uc3Qgc3RzQ2xpZW50ID0gbmV3IFNUU0NsaWVudChhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuXG4gICAgY29uc3QgY29tbWFuZCA9IG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHN0c0NsaWVudC5zZW5kKGNvbW1hbmQpO1xuICAgIGlmICghcmVzcG9uc2UuQWNjb3VudCB8fCAhcmVzcG9uc2UuQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCByZXNwb25zZSBmcm9tIFNUUzogJyR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpfSdgKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnRJZDogcmVzcG9uc2UuQWNjb3VudCEsXG4gICAgICBwYXJ0aXRpb246IHJlc3BvbnNlLkFybiEuc3BsaXQoJzonKVsxXSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhd3NPcHRpb25zKG9wdGlvbnM/OiBDbGllbnRPcHRpb25zKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgY29uZmlnLnJlZ2lvbiA9IG9wdGlvbnM/LnJlZ2lvbjtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgY29uZmlnLnJlZ2lvbiA9IG9wdGlvbnMucmVnaW9uO1xuICAgICAgaWYgKG9wdGlvbnMuYXNzdW1lUm9sZUFybikge1xuICAgICAgICBjb25maWcuY3JlZGVudGlhbHMgPSBmcm9tVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgICAgIC8vIGRvbnQgZm9yZ2V0IHRoZSBjcmVkZW50aWFscyBjaGFpbi5cbiAgICAgICAgICBtYXN0ZXJDcmVkZW50aWFsczogdGhpcy5tYWluQ3JlZGVudGlhbHMsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBSb2xlQXJuOiBvcHRpb25zLmFzc3VtZVJvbGVBcm4sXG4gICAgICAgICAgICBFeHRlcm5hbElkOiBvcHRpb25zLmFzc3VtZVJvbGVFeHRlcm5hbElkLFxuICAgICAgICAgICAgUm9sZVNlc3Npb25OYW1lOiBgJHtVU0VSX0FHRU5UfS0ke3NhZmVVc2VybmFtZSgpfWAsXG4gICAgICAgICAgICBUcmFuc2l0aXZlVGFnS2V5czogb3B0aW9ucy5hc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM/LlRhZ3NcbiAgICAgICAgICAgICAgPyBvcHRpb25zLmFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucy5UYWdzLm1hcCgodCkgPT4gdC5LZXkhKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuYXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xpZW50Q29uZmlnOiB0aGlzLmNvbmZpZy5jbGllbnRDb25maWcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSB1c2VybmFtZSB3aXRoIGNoYXJhY3RlcnMgaW52YWxpZCBmb3IgYSBSb2xlU2Vzc2lvbk5hbWUgcmVtb3ZlZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1NUUy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Bc3N1bWVSb2xlLmh0bWwjQVBJX0Fzc3VtZVJvbGVfUmVxdWVzdFBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gc2FmZVVzZXJuYW1lKCkge1xuICB0cnkge1xuICAgIHJldHVybiBvcy51c2VySW5mbygpLnVzZXJuYW1lLnJlcGxhY2UoL1teXFx3Kz0sLkAtXS9nLCAnQCcpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gJ25vbmFtZSc7XG4gIH1cbn1cbiJdfQ==
package/lib/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './publishing';
2
- export * from './asset-manifest';
3
- export * from './aws';
4
- export * from './progress';
package/lib/index.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./publishing"), exports);
18
- __exportStar(require("./asset-manifest"), exports);
19
- __exportStar(require("./aws"), exports);
20
- __exportStar(require("./progress"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLG1EQUFpQztBQUNqQyx3Q0FBc0I7QUFDdEIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaXNoaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXQtbWFuaWZlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hd3MnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcyc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- type EventEmitter = (x: string) => void;
2
- export declare function zipDirectory(directory: string, outputFile: string, eventEmitter: EventEmitter): Promise<void>;
3
- export {};
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zipDirectory = zipDirectory;
4
- const fs_1 = require("fs");
5
- const path = require("path");
6
- const glob = require("glob");
7
- // namespace object imports won't work in the bundle for function exports
8
- // eslint-disable-next-line @typescript-eslint/no-require-imports
9
- const archiver = require('archiver');
10
- async function zipDirectory(directory, outputFile, eventEmitter) {
11
- // We write to a temporary file and rename at the last moment. This is so that if we are
12
- // interrupted during this process, we don't leave a half-finished file in the target location.
13
- const temporaryOutputFile = `${outputFile}.${randomString()}._tmp`;
14
- await writeZipFile(directory, temporaryOutputFile);
15
- await moveIntoPlace(temporaryOutputFile, outputFile, eventEmitter);
16
- }
17
- function writeZipFile(directory, outputFile) {
18
- return new Promise(async (ok, fail) => {
19
- // The below options are needed to support following symlinks when building zip files:
20
- // - nodir: This will prevent symlinks themselves from being copied into the zip.
21
- // - follow: This will follow symlinks and copy the files within.
22
- const globOptions = {
23
- dot: true,
24
- nodir: true,
25
- follow: true,
26
- cwd: directory,
27
- };
28
- const files = glob.sync('**', globOptions); // The output here is already sorted
29
- const output = (0, fs_1.createWriteStream)(outputFile);
30
- const archive = archiver('zip');
31
- archive.on('warning', fail);
32
- archive.on('error', fail);
33
- // archive has been finalized and the output file descriptor has closed, resolve promise
34
- // this has to be done before calling `finalize` since the events may fire immediately after.
35
- // see https://www.npmjs.com/package/archiver
36
- output.once('close', ok);
37
- archive.pipe(output);
38
- // Append files serially to ensure file order
39
- for (const file of files) {
40
- const fullPath = path.resolve(directory, file);
41
- // There are exactly 2 promises
42
- // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism
43
- const [data, stat] = await Promise.all([fs_1.promises.readFile(fullPath), fs_1.promises.stat(fullPath)]);
44
- archive.append(data, {
45
- name: file,
46
- date: new Date('1980-01-01T00:00:00.000Z'), // reset dates to get the same hash for the same content
47
- mode: stat.mode,
48
- });
49
- }
50
- await archive.finalize();
51
- });
52
- }
53
- /**
54
- * Rename the file to the target location, taking into account:
55
- *
56
- * - That we may see EPERM on Windows while an Antivirus scanner still has the
57
- * file open, so retry a couple of times.
58
- * - This same function may be called in parallel and be interrupted at any point.
59
- */
60
- async function moveIntoPlace(source, target, eventEmitter) {
61
- let delay = 100;
62
- let attempts = 5;
63
- while (true) {
64
- try {
65
- // 'rename' is guaranteed to overwrite an existing target, as long as it is a file (not a directory)
66
- await fs_1.promises.rename(source, target);
67
- return;
68
- }
69
- catch (e) {
70
- if (e.code !== 'EPERM' || attempts-- <= 0) {
71
- throw e;
72
- }
73
- eventEmitter(e.message);
74
- await sleep(Math.floor(Math.random() * delay));
75
- delay *= 2;
76
- }
77
- }
78
- }
79
- function sleep(ms) {
80
- return new Promise((ok) => setTimeout(ok, ms));
81
- }
82
- function randomString() {
83
- return Math.random()
84
- .toString(36)
85
- .replace(/[^a-z0-9]+/g, '');
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFyY2hpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxvQ0FVQztBQXBCRCwyQkFBdUQ7QUFDdkQsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUU3Qix5RUFBeUU7QUFDekUsaUVBQWlFO0FBQ2pFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUk5QixLQUFLLFVBQVUsWUFBWSxDQUNoQyxTQUFpQixFQUNqQixVQUFrQixFQUNsQixZQUEwQjtJQUUxQix3RkFBd0Y7SUFDeEYsK0ZBQStGO0lBQy9GLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxVQUFVLElBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUNuRSxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxNQUFNLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLFNBQWlCLEVBQUUsVUFBa0I7SUFDekQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3BDLHNGQUFzRjtRQUN0RixpRkFBaUY7UUFDakYsaUVBQWlFO1FBQ2pFLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtZQUNaLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO1FBRWhGLE1BQU0sTUFBTSxHQUFHLElBQUEsc0JBQWlCLEVBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLHdGQUF3RjtRQUN4Riw2RkFBNkY7UUFDN0YsNkNBQTZDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckIsNkNBQTZDO1FBQzdDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsK0JBQStCO1lBQy9CLHdFQUF3RTtZQUN4RSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLHdEQUF3RDtnQkFDcEcsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUsYUFBYSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsWUFBMEI7SUFDckYsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNqQixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDO1lBQ0gsb0dBQW9HO1lBQ3BHLE1BQU0sYUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztZQUNELFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsRUFBVTtJQUN2QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELFNBQVMsWUFBWTtJQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUU7U0FDakIsUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUNaLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVdyaXRlU3RyZWFtLCBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuXG4vLyBuYW1lc3BhY2Ugb2JqZWN0IGltcG9ydHMgd29uJ3Qgd29yayBpbiB0aGUgYnVuZGxlIGZvciBmdW5jdGlvbiBleHBvcnRzXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuY29uc3QgYXJjaGl2ZXIgPSByZXF1aXJlKCdhcmNoaXZlcicpO1xuXG50eXBlIEV2ZW50RW1pdHRlciA9ICh4OiBzdHJpbmcpID0+IHZvaWQ7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB6aXBEaXJlY3RvcnkoXG4gIGRpcmVjdG9yeTogc3RyaW5nLFxuICBvdXRwdXRGaWxlOiBzdHJpbmcsXG4gIGV2ZW50RW1pdHRlcjogRXZlbnRFbWl0dGVyLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIFdlIHdyaXRlIHRvIGEgdGVtcG9yYXJ5IGZpbGUgYW5kIHJlbmFtZSBhdCB0aGUgbGFzdCBtb21lbnQuIFRoaXMgaXMgc28gdGhhdCBpZiB3ZSBhcmVcbiAgLy8gaW50ZXJydXB0ZWQgZHVyaW5nIHRoaXMgcHJvY2Vzcywgd2UgZG9uJ3QgbGVhdmUgYSBoYWxmLWZpbmlzaGVkIGZpbGUgaW4gdGhlIHRhcmdldCBsb2NhdGlvbi5cbiAgY29uc3QgdGVtcG9yYXJ5T3V0cHV0RmlsZSA9IGAke291dHB1dEZpbGV9LiR7cmFuZG9tU3RyaW5nKCl9Ll90bXBgO1xuICBhd2FpdCB3cml0ZVppcEZpbGUoZGlyZWN0b3J5LCB0ZW1wb3JhcnlPdXRwdXRGaWxlKTtcbiAgYXdhaXQgbW92ZUludG9QbGFjZSh0ZW1wb3JhcnlPdXRwdXRGaWxlLCBvdXRwdXRGaWxlLCBldmVudEVtaXR0ZXIpO1xufVxuXG5mdW5jdGlvbiB3cml0ZVppcEZpbGUoZGlyZWN0b3J5OiBzdHJpbmcsIG91dHB1dEZpbGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKG9rLCBmYWlsKSA9PiB7XG4gICAgLy8gVGhlIGJlbG93IG9wdGlvbnMgYXJlIG5lZWRlZCB0byBzdXBwb3J0IGZvbGxvd2luZyBzeW1saW5rcyB3aGVuIGJ1aWxkaW5nIHppcCBmaWxlczpcbiAgICAvLyAtIG5vZGlyOiBUaGlzIHdpbGwgcHJldmVudCBzeW1saW5rcyB0aGVtc2VsdmVzIGZyb20gYmVpbmcgY29waWVkIGludG8gdGhlIHppcC5cbiAgICAvLyAtIGZvbGxvdzogVGhpcyB3aWxsIGZvbGxvdyBzeW1saW5rcyBhbmQgY29weSB0aGUgZmlsZXMgd2l0aGluLlxuICAgIGNvbnN0IGdsb2JPcHRpb25zID0ge1xuICAgICAgZG90OiB0cnVlLFxuICAgICAgbm9kaXI6IHRydWUsXG4gICAgICBmb2xsb3c6IHRydWUsXG4gICAgICBjd2Q6IGRpcmVjdG9yeSxcbiAgICB9O1xuICAgIGNvbnN0IGZpbGVzID0gZ2xvYi5zeW5jKCcqKicsIGdsb2JPcHRpb25zKTsgLy8gVGhlIG91dHB1dCBoZXJlIGlzIGFscmVhZHkgc29ydGVkXG5cbiAgICBjb25zdCBvdXRwdXQgPSBjcmVhdGVXcml0ZVN0cmVhbShvdXRwdXRGaWxlKTtcblxuICAgIGNvbnN0IGFyY2hpdmUgPSBhcmNoaXZlcignemlwJyk7XG4gICAgYXJjaGl2ZS5vbignd2FybmluZycsIGZhaWwpO1xuICAgIGFyY2hpdmUub24oJ2Vycm9yJywgZmFpbCk7XG5cbiAgICAvLyBhcmNoaXZlIGhhcyBiZWVuIGZpbmFsaXplZCBhbmQgdGhlIG91dHB1dCBmaWxlIGRlc2NyaXB0b3IgaGFzIGNsb3NlZCwgcmVzb2x2ZSBwcm9taXNlXG4gICAgLy8gdGhpcyBoYXMgdG8gYmUgZG9uZSBiZWZvcmUgY2FsbGluZyBgZmluYWxpemVgIHNpbmNlIHRoZSBldmVudHMgbWF5IGZpcmUgaW1tZWRpYXRlbHkgYWZ0ZXIuXG4gICAgLy8gc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2FyY2hpdmVyXG4gICAgb3V0cHV0Lm9uY2UoJ2Nsb3NlJywgb2spO1xuXG4gICAgYXJjaGl2ZS5waXBlKG91dHB1dCk7XG5cbiAgICAvLyBBcHBlbmQgZmlsZXMgc2VyaWFsbHkgdG8gZW5zdXJlIGZpbGUgb3JkZXJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5yZXNvbHZlKGRpcmVjdG9yeSwgZmlsZSk7XG4gICAgICAvLyBUaGVyZSBhcmUgZXhhY3RseSAyIHByb21pc2VzXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvcHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc21cbiAgICAgIGNvbnN0IFtkYXRhLCBzdGF0XSA9IGF3YWl0IFByb21pc2UuYWxsKFtmcy5yZWFkRmlsZShmdWxsUGF0aCksIGZzLnN0YXQoZnVsbFBhdGgpXSk7XG4gICAgICBhcmNoaXZlLmFwcGVuZChkYXRhLCB7XG4gICAgICAgIG5hbWU6IGZpbGUsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKCcxOTgwLTAxLTAxVDAwOjAwOjAwLjAwMFonKSwgLy8gcmVzZXQgZGF0ZXMgdG8gZ2V0IHRoZSBzYW1lIGhhc2ggZm9yIHRoZSBzYW1lIGNvbnRlbnRcbiAgICAgICAgbW9kZTogc3RhdC5tb2RlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXdhaXQgYXJjaGl2ZS5maW5hbGl6ZSgpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZW5hbWUgdGhlIGZpbGUgdG8gdGhlIHRhcmdldCBsb2NhdGlvbiwgdGFraW5nIGludG8gYWNjb3VudDpcbiAqXG4gKiAtIFRoYXQgd2UgbWF5IHNlZSBFUEVSTSBvbiBXaW5kb3dzIHdoaWxlIGFuIEFudGl2aXJ1cyBzY2FubmVyIHN0aWxsIGhhcyB0aGVcbiAqICAgZmlsZSBvcGVuLCBzbyByZXRyeSBhIGNvdXBsZSBvZiB0aW1lcy5cbiAqIC0gVGhpcyBzYW1lIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgaW4gcGFyYWxsZWwgYW5kIGJlIGludGVycnVwdGVkIGF0IGFueSBwb2ludC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbW92ZUludG9QbGFjZShzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcsIGV2ZW50RW1pdHRlcjogRXZlbnRFbWl0dGVyKSB7XG4gIGxldCBkZWxheSA9IDEwMDtcbiAgbGV0IGF0dGVtcHRzID0gNTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgLy8gJ3JlbmFtZScgaXMgZ3VhcmFudGVlZCB0byBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgdGFyZ2V0LCBhcyBsb25nIGFzIGl0IGlzIGEgZmlsZSAobm90IGEgZGlyZWN0b3J5KVxuICAgICAgYXdhaXQgZnMucmVuYW1lKHNvdXJjZSwgdGFyZ2V0KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmIChlLmNvZGUgIT09ICdFUEVSTScgfHwgYXR0ZW1wdHMtLSA8PSAwKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgICBldmVudEVtaXR0ZXIoZS5tZXNzYWdlKTtcbiAgICAgIGF3YWl0IHNsZWVwKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGRlbGF5KSk7XG4gICAgICBkZWxheSAqPSAyO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgob2spID0+IHNldFRpbWVvdXQob2ssIG1zKSk7XG59XG5cbmZ1bmN0aW9uIHJhbmRvbVN0cmluZygpIHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKClcbiAgICAudG9TdHJpbmcoMzYpXG4gICAgLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xufVxuIl19
@@ -1,60 +0,0 @@
1
- import type { DockerFactory } from './docker';
2
- import type { IAws } from '../aws';
3
- import type { EventEmitter } from '../progress';
4
- /**
5
- * Options for publishing an asset.
6
- */
7
- export interface PublishOptions {
8
- /**
9
- * Whether or not to allow cross account publishing. That is,
10
- * publish to a bucket belonging to a different account than the target account.
11
- *
12
- * @default true
13
- */
14
- readonly allowCrossAccount?: boolean;
15
- /**
16
- * Always upload, even if the target file already exists
17
- *
18
- * @default false
19
- */
20
- readonly force?: boolean;
21
- }
22
- /**
23
- * Handler for asset building and publishing.
24
- */
25
- export interface IAssetHandler {
26
- /**
27
- * Build the asset.
28
- */
29
- build(): Promise<void>;
30
- /**
31
- * Publish the asset.
32
- */
33
- publish(options?: PublishOptions): Promise<void>;
34
- /**
35
- * Return whether the asset already exists
36
- */
37
- isPublished(): Promise<boolean>;
38
- }
39
- export interface IHandlerHost {
40
- readonly aws: IAws;
41
- readonly aborted: boolean;
42
- readonly dockerFactory: DockerFactory;
43
- emitMessage: EventEmitter;
44
- }
45
- export interface IHandlerOptions {
46
- /**
47
- * Where to send output of a subprocesses
48
- *
49
- * @default 'stdio'
50
- */
51
- readonly subprocessOutputDestination: SubprocessOutputDestination;
52
- }
53
- /**
54
- * The potential destinations for subprocess output.
55
- *
56
- * 'stdio' will send output directly to stdout/stderr,
57
- * 'publish' will publish the output to the {@link IPublishProgressListener},
58
- * 'ignore' will ignore the output, and emit it nowhere.
59
- */
60
- export type SubprocessOutputDestination = 'stdio' | 'ignore' | 'publish';
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0LWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRG9ja2VyRmFjdG9yeSB9IGZyb20gJy4vZG9ja2VyJztcbmltcG9ydCB0eXBlIHsgSUF3cyB9IGZyb20gJy4uL2F3cyc7XG5pbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL3Byb2dyZXNzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBwdWJsaXNoaW5nIGFuIGFzc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNyb3NzIGFjY291bnQgcHVibGlzaGluZy4gVGhhdCBpcyxcbiAgICogcHVibGlzaCB0byBhIGJ1Y2tldCBiZWxvbmdpbmcgdG8gYSBkaWZmZXJlbnQgYWNjb3VudCB0aGFuIHRoZSB0YXJnZXQgYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dDcm9zc0FjY291bnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbHdheXMgdXBsb2FkLCBldmVuIGlmIHRoZSB0YXJnZXQgZmlsZSBhbHJlYWR5IGV4aXN0c1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEhhbmRsZXIgZm9yIGFzc2V0IGJ1aWxkaW5nIGFuZCBwdWJsaXNoaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldEhhbmRsZXIge1xuICAvKipcbiAgICogQnVpbGQgdGhlIGFzc2V0LlxuICAgKi9cbiAgYnVpbGQoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHVibGlzaCB0aGUgYXNzZXQuXG4gICAqL1xuICBwdWJsaXNoKG9wdGlvbnM/OiBQdWJsaXNoT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBhc3NldCBhbHJlYWR5IGV4aXN0c1xuICAgKi9cbiAgaXNQdWJsaXNoZWQoKTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSGFuZGxlckhvc3Qge1xuICByZWFkb25seSBhd3M6IElBd3M7XG4gIHJlYWRvbmx5IGFib3J0ZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRvY2tlckZhY3Rvcnk6IERvY2tlckZhY3Rvcnk7XG5cbiAgZW1pdE1lc3NhZ2U6IEV2ZW50RW1pdHRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSGFuZGxlck9wdGlvbnMge1xuICAvKipcbiAgICogV2hlcmUgdG8gc2VuZCBvdXRwdXQgb2YgYSBzdWJwcm9jZXNzZXNcbiAgICpcbiAgICogQGRlZmF1bHQgJ3N0ZGlvJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VicHJvY2Vzc091dHB1dERlc3RpbmF0aW9uOiBTdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb247XG59XG5cbi8qKlxuICogVGhlIHBvdGVudGlhbCBkZXN0aW5hdGlvbnMgZm9yIHN1YnByb2Nlc3Mgb3V0cHV0LlxuICpcbiAqICdzdGRpbycgd2lsbCBzZW5kIG91dHB1dCBkaXJlY3RseSB0byBzdGRvdXQvc3RkZXJyLFxuICogJ3B1Ymxpc2gnIHdpbGwgcHVibGlzaCB0aGUgb3V0cHV0IHRvIHRoZSB7QGxpbmsgSVB1Ymxpc2hQcm9ncmVzc0xpc3RlbmVyfSxcbiAqICdpZ25vcmUnIHdpbGwgaWdub3JlIHRoZSBvdXRwdXQsIGFuZCBlbWl0IGl0IG5vd2hlcmUuXG4gKi9cbmV4cG9ydCB0eXBlIFN1YnByb2Nlc3NPdXRwdXREZXN0aW5hdGlvbiA9ICdzdGRpbycgfCAnaWdub3JlJyB8ICdwdWJsaXNoJztcbiJdfQ==
@@ -1,35 +0,0 @@
1
- import type { IAws, IECRClient } from '../aws';
2
- import type { EventEmitter } from '../progress';
3
- export interface DockerCredentials {
4
- readonly Username: string;
5
- readonly Secret: string;
6
- }
7
- export interface DockerCredentialsConfig {
8
- readonly version: string;
9
- readonly domainCredentials: Record<string, DockerDomainCredentialSource>;
10
- }
11
- export interface DockerDomainCredentialSource {
12
- readonly secretsManagerSecretId?: string;
13
- readonly secretsUsernameField?: string;
14
- readonly secretsPasswordField?: string;
15
- readonly ecrRepository?: boolean;
16
- readonly assumeRoleArn?: string;
17
- }
18
- /** Returns the presumed location of the CDK Docker credentials config file */
19
- export declare function cdkCredentialsConfigFile(): string;
20
- /** Loads and parses the CDK Docker credentials configuration, if it exists. */
21
- export declare function cdkCredentialsConfig(): DockerCredentialsConfig | undefined;
22
- /**
23
- * Just for testing
24
- */
25
- export declare function _clearCdkCredentialsConfigCache(): void;
26
- /** Fetches login credentials from the configured source (e.g., SecretsManager, ECR) */
27
- export declare function fetchDockerLoginCredentials(aws: IAws, config: DockerCredentialsConfig, endpoint: string): Promise<{
28
- Username: any;
29
- Secret: any;
30
- }>;
31
- export declare function obtainEcrCredentials(ecr: IECRClient, eventEmitter?: EventEmitter): Promise<{
32
- username: string;
33
- password: string;
34
- endpoint: string;
35
- }>;
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cdkCredentialsConfigFile = cdkCredentialsConfigFile;
4
- exports.cdkCredentialsConfig = cdkCredentialsConfig;
5
- exports._clearCdkCredentialsConfigCache = _clearCdkCredentialsConfigCache;
6
- exports.fetchDockerLoginCredentials = fetchDockerLoginCredentials;
7
- exports.obtainEcrCredentials = obtainEcrCredentials;
8
- const fs = require("fs");
9
- const os = require("os");
10
- const path = require("path");
11
- const progress_1 = require("../progress");
12
- /** Returns the presumed location of the CDK Docker credentials config file */
13
- function cdkCredentialsConfigFile() {
14
- return (process.env.CDK_DOCKER_CREDS_FILE ??
15
- path.join((os.userInfo().homedir ?? os.homedir()).trim() || '/', '.cdk', 'cdk-docker-creds.json'));
16
- }
17
- let _cdkCredentials;
18
- /** Loads and parses the CDK Docker credentials configuration, if it exists. */
19
- function cdkCredentialsConfig() {
20
- if (!_cdkCredentials) {
21
- try {
22
- _cdkCredentials = JSON.parse(fs.readFileSync(cdkCredentialsConfigFile(), { encoding: 'utf-8' }));
23
- }
24
- catch {
25
- }
26
- }
27
- return _cdkCredentials;
28
- }
29
- /**
30
- * Just for testing
31
- */
32
- function _clearCdkCredentialsConfigCache() {
33
- _cdkCredentials = undefined;
34
- }
35
- /** Fetches login credentials from the configured source (e.g., SecretsManager, ECR) */
36
- async function fetchDockerLoginCredentials(aws, config, endpoint) {
37
- // Paranoid handling to ensure new URL() doesn't throw if the schema is missing
38
- // For official docker registry, docker will pass https://index.docker.io/v1/
39
- endpoint = endpoint.includes('://') ? endpoint : `https://${endpoint}`;
40
- const domain = new URL(endpoint).hostname;
41
- if (!Object.keys(config.domainCredentials).includes(domain) &&
42
- !Object.keys(config.domainCredentials).includes(endpoint)) {
43
- throw new Error(`unknown domain ${domain}`);
44
- }
45
- let domainConfig = config.domainCredentials[domain] ?? config.domainCredentials[endpoint];
46
- if (domainConfig.secretsManagerSecretId) {
47
- const sm = await aws.secretsManagerClient({ assumeRoleArn: domainConfig.assumeRoleArn });
48
- const secretValue = await sm.getSecretValue({
49
- SecretId: domainConfig.secretsManagerSecretId,
50
- });
51
- if (!secretValue.SecretString) {
52
- throw new Error(`unable to fetch SecretString from secret: ${domainConfig.secretsManagerSecretId}`);
53
- }
54
- const secret = JSON.parse(secretValue.SecretString);
55
- const usernameField = domainConfig.secretsUsernameField ?? 'username';
56
- const secretField = domainConfig.secretsPasswordField ?? 'secret';
57
- if (!secret[usernameField] || !secret[secretField]) {
58
- throw new Error(`malformed secret string ("${usernameField}" or "${secretField}" field missing)`);
59
- }
60
- return { Username: secret[usernameField], Secret: secret[secretField] };
61
- }
62
- else if (domainConfig.ecrRepository) {
63
- const ecr = await aws.ecrClient({ assumeRoleArn: domainConfig.assumeRoleArn });
64
- const ecrAuthData = await obtainEcrCredentials(ecr);
65
- return { Username: ecrAuthData.username, Secret: ecrAuthData.password };
66
- }
67
- else {
68
- throw new Error('unknown credential type: no secret ID or ECR repo');
69
- }
70
- }
71
- async function obtainEcrCredentials(ecr, eventEmitter) {
72
- if (eventEmitter) {
73
- eventEmitter(progress_1.EventType.DEBUG, 'Fetching ECR authorization token');
74
- }
75
- const authData = (await ecr.getAuthorizationToken()).authorizationData || [];
76
- if (authData.length === 0) {
77
- throw new Error('No authorization data received from ECR');
78
- }
79
- const token = Buffer.from(authData[0].authorizationToken, 'base64').toString('ascii');
80
- const [username, password] = token.split(':');
81
- if (!username || !password) {
82
- throw new Error('unexpected ECR authData format');
83
- }
84
- return {
85
- username,
86
- password,
87
- endpoint: authData[0].proxyEndpoint,
88
- };
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZG9ja2VyLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMEJBLDREQVNDO0FBSUQsb0RBVUM7QUFLRCwwRUFFQztBQUdELGtFQWlEQztBQUVELG9EQW9CQztBQWxJRCx5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUc3QiwwQ0FBd0M7QUFvQnhDLDhFQUE4RTtBQUM5RSxTQUFnQix3QkFBd0I7SUFDdEMsT0FBTyxDQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQ1AsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFDckQsTUFBTSxFQUNOLHVCQUF1QixDQUN4QixDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsSUFBSSxlQUFvRCxDQUFDO0FBQ3pELCtFQUErRTtBQUMvRSxTQUFnQixvQkFBb0I7SUFDbEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQztZQUNILGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FDeEMsQ0FBQztRQUMvQixDQUFDO1FBQUMsTUFBTSxDQUFDO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiwrQkFBK0I7SUFDN0MsZUFBZSxHQUFHLFNBQVMsQ0FBQztBQUM5QixDQUFDO0FBRUQsdUZBQXVGO0FBQ2hGLEtBQUssVUFBVSwyQkFBMkIsQ0FDL0MsR0FBUyxFQUNULE1BQStCLEVBQy9CLFFBQWdCO0lB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QkFBcUIsRUFBRSxDQUFDLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO0lBQzdFLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RixNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVE7UUFDUixRQUFRO1FBQ1IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFjO0tBQ3JDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgSUF3cywgSUVDUkNsaWVudCB9IGZyb20gJy4uL2F3cyc7XG5pbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uL3Byb2dyZXNzJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uL3Byb2dyZXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDcmVkZW50aWFscyB7XG4gIHJlYWRvbmx5IFVzZXJuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFNlY3JldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNyZWRlbnRpYWxzQ29uZmlnIHtcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICByZWFkb25seSBkb21haW5DcmVkZW50aWFsczogUmVjb3JkPHN0cmluZywgRG9ja2VyRG9tYWluQ3JlZGVudGlhbFNvdXJjZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VyRG9tYWluQ3JlZGVudGlhbFNvdXJjZSB7XG4gIHJlYWRvbmx5IHNlY3JldHNNYW5hZ2VyU2VjcmV0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlY3JldHNVc2VybmFtZUZpZWxkPzogc3RyaW5nO1xuICByZWFkb25seSBzZWNyZXRzUGFzc3dvcmRGaWVsZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVBcm4/OiBzdHJpbmc7XG59XG5cbi8qKiBSZXR1cm5zIHRoZSBwcmVzdW1lZCBsb2NhdGlvbiBvZiB0aGUgQ0RLIERvY2tlciBjcmVkZW50aWFscyBjb25maWcgZmlsZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNka0NyZWRlbnRpYWxzQ29uZmlnRmlsZSgpOiBzdHJpbmcge1xuICByZXR1cm4gKFxuICAgIHByb2Nlc3MuZW52LkNES19ET0NLRVJfQ1JFRFNfRklMRSA/P1xuICAgIHBhdGguam9pbihcbiAgICAgIChvcy51c2VySW5mbygpLmhvbWVkaXIgPz8gb3MuaG9tZWRpcigpKS50cmltKCkgfHwgJy8nLFxuICAgICAgJy5jZGsnLFxuICAgICAgJ2Nkay1kb2NrZXItY3JlZHMuanNvbicsXG4gICAgKVxuICApO1xufVxuXG5sZXQgX2Nka0NyZWRlbnRpYWxzOiBEb2NrZXJDcmVkZW50aWFsc0NvbmZpZyB8IHVuZGVmaW5lZDtcbi8qKiBMb2FkcyBhbmQgcGFyc2VzIHRoZSBDREsgRG9ja2VyIGNyZWRlbnRpYWxzIGNvbmZpZ3VyYXRpb24sIGlmIGl0IGV4aXN0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjZGtDcmVkZW50aWFsc0NvbmZpZygpOiBEb2NrZXJDcmVkZW50aWFsc0NvbmZpZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghX2Nka0NyZWRlbnRpYWxzKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9jZGtDcmVkZW50aWFscyA9IEpTT04ucGFyc2UoXG4gICAgICAgIGZzLnJlYWRGaWxlU3luYyhjZGtDcmVkZW50aWFsc0NvbmZpZ0ZpbGUoKSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSxcbiAgICAgICkgYXMgRG9ja2VyQ3JlZGVudGlhbHNDb25maWc7XG4gICAgfSBjYXRjaCB7XG4gICAgfVxuICB9XG4gIHJldHVybiBfY2RrQ3JlZGVudGlhbHM7XG59XG5cbi8qKlxuICogSnVzdCBmb3IgdGVzdGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gX2NsZWFyQ2RrQ3JlZGVudGlhbHNDb25maWdDYWNoZSgpIHtcbiAgX2Nka0NyZWRlbnRpYWxzID0gdW5kZWZpbmVkO1xufVxuXG4vKiogRmV0Y2hlcyBsb2dpbiBjcmVkZW50aWFscyBmcm9tIHRoZSBjb25maWd1cmVkIHNvdXJjZSAoZS5nLiwgU2VjcmV0c01hbmFnZXIsIEVDUikgKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaERvY2tlckxvZ2luQ3JlZGVudGlhbHMoXG4gIGF3czogSUF3cyxcbiAgY29uZmlnOiBEb2NrZXJDcmVkZW50aWFsc0NvbmZpZyxcbiAgZW5kcG9pbnQ6IHN0cmluZyxcbikge1xuICAvLyBQYXJhbm9pZCBoYW5kbGluZyB0byBlbnN1cmUgbmV3IFVSTCgpIGRvZXNuJ3QgdGhyb3cgaWYgdGhlIHNjaGVtYSBpcyBtaXNzaW5nXG4gIC8vIEZvciBvZmZpY2lhbCBkb2NrZXIgcmVnaXN0cnksIGRvY2tlciB3aWxsIHBhc3MgaHR0cHM6Ly9pbmRleC5kb2NrZXIuaW8vdjEvXG4gIGVuZHBvaW50ID0gZW5kcG9pbnQuaW5jbHVkZXMoJzovLycpID8gZW5kcG9pbnQgOiBgaHR0cHM6Ly8ke2VuZHBvaW50fWA7XG4gIGNvbnN0IGRvbWFpbiA9IG5ldyBVUkwoZW5kcG9pbnQpLmhvc3RuYW1lO1xuXG4gIGlmIChcbiAgICAhT2JqZWN0LmtleXMoY29uZmlnLmRvbWFpbkNyZWRlbnRpYWxzKS5pbmNsdWRlcyhkb21haW4pICYmXG4gICAgIU9iamVjdC5rZXlzKGNvbmZpZy5kb21haW5DcmVkZW50aWFscykuaW5jbHVkZXMoZW5kcG9pbnQpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgdW5rbm93biBkb21haW4gJHtkb21haW59YCk7XG4gIH1cblxuICBsZXQgZG9tYWluQ29uZmlnID0gY29uZmlnLmRvbWFpbkNyZWRlbnRpYWxzW2RvbWFpbl0gPz8gY29uZmlnLmRvbWFpbkNyZWRlbnRpYWxzW2VuZHBvaW50XTtcblxuICBpZiAoZG9tYWluQ29uZmlnLnNlY3JldHNNYW5hZ2VyU2VjcmV0SWQpIHtcbiAgICBjb25zdCBzbSA9IGF3YWl0IGF3cy5zZWNyZXRzTWFuYWdlckNsaWVudCh7IGFzc3VtZVJvbGVBcm46IGRvbWFpbkNvbmZpZy5hc3N1bWVSb2xlQXJuIH0pO1xuICAgIGNvbnN0IHNlY3JldFZhbHVlID0gYXdhaXQgc20uZ2V0U2VjcmV0VmFsdWUoe1xuICAgICAgU2VjcmV0SWQ6IGRvbWFpbkNvbmZpZy5zZWNyZXRzTWFuYWdlclNlY3JldElkLFxuICAgIH0pO1xuICAgIGlmICghc2VjcmV0VmFsdWUuU2VjcmV0U3RyaW5nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGB1bmFibGUgdG8gZmV0Y2ggU2VjcmV0U3RyaW5nIGZyb20gc2VjcmV0OiAke2RvbWFpbkNvbmZpZy5zZWNyZXRzTWFuYWdlclNlY3JldElkfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3JldCA9IEpTT04ucGFyc2Uoc2VjcmV0VmFsdWUuU2VjcmV0U3RyaW5nKTtcblxuICAgIGNvbnN0IHVzZXJuYW1lRmllbGQgPSBkb21haW5Db25maWcuc2VjcmV0c1VzZXJuYW1lRmllbGQgPz8gJ3VzZXJuYW1lJztcbiAgICBjb25zdCBzZWNyZXRGaWVsZCA9IGRvbWFpbkNvbmZpZy5zZWNyZXRzUGFzc3dvcmRGaWVsZCA/PyAnc2VjcmV0JztcbiAgICBpZiAoIXNlY3JldFt1c2VybmFtZUZpZWxkXSB8fCAhc2VjcmV0W3NlY3JldEZpZWxkXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgbWFsZm9ybWVkIHNlY3JldCBzdHJpbmcgKFwiJHt1c2VybmFtZUZpZWxkfVwiIG9yIFwiJHtzZWNyZXRGaWVsZH1cIiBmaWVsZCBtaXNzaW5nKWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7IFVzZXJuYW1lOiBzZWNyZXRbdXNlcm5hbWVGaWVsZF0sIFNlY3JldDogc2VjcmV0W3NlY3JldEZpZWxkXSB9O1xuICB9IGVsc2UgaWYgKGRvbWFpbkNvbmZpZy5lY3JSZXBvc2l0b3J5KSB7XG4gICAgY29uc3QgZWNyID0gYXdhaXQgYXdzLmVjckNsaWVudCh7IGFzc3VtZVJvbGVBcm46IGRvbWFpbkNvbmZpZy5hc3N1bWVSb2xlQXJuIH0pO1xuICAgIGNvbnN0IGVjckF1dGhEYXRhID0gYXdhaXQgb2J0YWluRWNyQ3JlZGVudGlhbHMoZWNyKTtcblxuICAgIHJldHVybiB7IFVzZXJuYW1lOiBlY3JBdXRoRGF0YS51c2VybmFtZSwgU2VjcmV0OiBlY3JBdXRoRGF0YS5wYXNzd29yZCB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBjcmVkZW50aWFsIHR5cGU6IG5vIHNlY3JldCBJRCBvciBFQ1IgcmVwbycpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvYnRhaW5FY3JDcmVkZW50aWFscyhlY3I6IElFQ1JDbGllbnQsIGV2ZW50RW1pdHRlcj86IEV2ZW50RW1pdHRlcikge1xuICBpZiAoZXZlbnRFbWl0dGVyKSB7XG4gICAgZXZlbnRFbWl0dGVyKEV2ZW50VHlwZS5ERUJVRywgJ0ZldGNoaW5nIEVDUiBhdXRob3JpemF0aW9uIHRva2VuJyk7XG4gIH1cblxuICBjb25zdCBhdXRoRGF0YSA9IChhd2FpdCBlY3IuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLmF1dGhvcml6YXRpb25EYXRhIHx8IFtdO1xuICBpZiAoYXV0aERhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBhdXRob3JpemF0aW9uIGRhdGEgcmVjZWl2ZWQgZnJvbSBFQ1InKTtcbiAgfVxuICBjb25zdCB0b2tlbiA9IEJ1ZmZlci5mcm9tKGF1dGhEYXRhWzBdLmF1dGhvcml6YXRpb25Ub2tlbiEsICdiYXNlNjQnKS50b1N0cmluZygnYXNjaWknKTtcbiAgY29uc3QgW3VzZXJuYW1lLCBwYXNzd29yZF0gPSB0b2tlbi5zcGxpdCgnOicpO1xuICBpZiAoIXVzZXJuYW1lIHx8ICFwYXNzd29yZCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5leHBlY3RlZCBFQ1IgYXV0aERhdGEgZm9ybWF0Jyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHVzZXJuYW1lLFxuICAgIHBhc3N3b3JkLFxuICAgIGVuZHBvaW50OiBhdXRoRGF0YVswXS5wcm94eUVuZHBvaW50ISxcbiAgfTtcbn1cbiJdfQ==
@@ -1,98 +0,0 @@
1
- import type { IECRClient } from '../aws';
2
- import type { SubprocessOutputDestination } from './asset-handler';
3
- import type { EventEmitter } from '../progress';
4
- interface BuildOptions {
5
- readonly directory: string;
6
- /**
7
- * Tag the image with a given repoName:tag combination
8
- */
9
- readonly tag: string;
10
- readonly target?: string;
11
- readonly file?: string;
12
- readonly buildArgs?: Record<string, string>;
13
- readonly buildSecrets?: Record<string, string>;
14
- readonly buildSsh?: string;
15
- readonly networkMode?: string;
16
- readonly platform?: string;
17
- readonly outputs?: string[];
18
- readonly cacheFrom?: DockerCacheOption[];
19
- readonly cacheTo?: DockerCacheOption;
20
- readonly cacheDisabled?: boolean;
21
- }
22
- interface PushOptions {
23
- readonly tag: string;
24
- }
25
- export interface DockerCredentialsConfig {
26
- readonly version: string;
27
- readonly domainCredentials: Record<string, DockerDomainCredentials>;
28
- }
29
- export interface DockerDomainCredentials {
30
- readonly secretsManagerSecretId?: string;
31
- readonly ecrRepository?: string;
32
- }
33
- export interface DockerCacheOption {
34
- readonly type: string;
35
- readonly params?: {
36
- [key: string]: string;
37
- };
38
- }
39
- export declare class Docker {
40
- private readonly eventEmitter;
41
- private readonly subprocessOutputDestination;
42
- private configDir;
43
- constructor(eventEmitter: EventEmitter, subprocessOutputDestination: SubprocessOutputDestination);
44
- /**
45
- * Whether an image with the given tag exists
46
- */
47
- exists(tag: string): Promise<boolean>;
48
- build(options: BuildOptions): Promise<void>;
49
- /**
50
- * Get credentials from ECR and run docker login
51
- */
52
- login(ecr: IECRClient): Promise<void>;
53
- tag(sourceTag: string, targetTag: string): Promise<void>;
54
- push(options: PushOptions): Promise<void>;
55
- /**
56
- * If a CDK Docker Credentials file exists, creates a new Docker config directory.
57
- * Sets up `docker-credential-cdk-assets` to be the credential helper for each domain in the CDK config.
58
- * All future commands (e.g., `build`, `push`) will use this config.
59
- *
60
- * See https://docs.docker.com/engine/reference/commandline/login/#credential-helpers for more details on cred helpers.
61
- *
62
- * @returns true if CDK config was found and configured, false otherwise
63
- */
64
- configureCdkCredentials(): boolean;
65
- /**
66
- * Removes any configured Docker config directory.
67
- * All future commands (e.g., `build`, `push`) will use the default config.
68
- *
69
- * This is useful after calling `configureCdkCredentials` to reset to default credentials.
70
- */
71
- resetAuthPlugins(): void;
72
- private execute;
73
- private cacheOptionToFlag;
74
- }
75
- export interface DockerFactoryOptions {
76
- readonly repoUri: string;
77
- readonly ecr: IECRClient;
78
- readonly eventEmitter: EventEmitter;
79
- readonly subprocessOutputDestination: SubprocessOutputDestination;
80
- }
81
- /**
82
- * Helps get appropriately configured Docker instances during the container
83
- * image publishing process.
84
- */
85
- export declare class DockerFactory {
86
- private enterLoggedInDestinationsCriticalSection;
87
- private loggedInDestinations;
88
- /**
89
- * Gets a Docker instance for building images.
90
- */
91
- forBuild(options: DockerFactoryOptions): Promise<Docker>;
92
- /**
93
- * Gets a Docker instance for pushing images to ECR.
94
- */
95
- forEcrPush(options: DockerFactoryOptions): Promise<Docker>;
96
- private loginOncePerDestination;
97
- }
98
- export {};