@brunwig/mup-aws-beanstalk 2.1.0 → 2.2.2
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.
- package/QUICK_START_AWS_PROFILE.md +93 -0
- package/docs/getting-started.md +4 -0
- package/docs/iam-policy.md +167 -0
- package/docs/index.md +45 -0
- package/lib/aws.js +5 -1
- package/lib/aws.js.map +1 -1
- package/lib/command-handlers.js +63 -17
- package/lib/command-handlers.js.map +1 -1
- package/lib/commands.js +17 -19
- package/lib/commands.js.map +1 -1
- package/lib/index.js +11 -20
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/validate.js +157 -4
- package/lib/validate.js.map +1 -1
- package/package.json +3 -1
- package/readme.md +1 -0
package/lib/validate.js
CHANGED
|
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
|
7
|
+
exports.verifyAwsAccount = verifyAwsAccount;
|
|
7
8
|
const joi_1 = __importDefault(require("joi"));
|
|
9
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
10
|
+
const client_iam_1 = require("@aws-sdk/client-iam");
|
|
11
|
+
const client_organizations_1 = require("@aws-sdk/client-organizations");
|
|
12
|
+
const client_account_1 = require("@aws-sdk/client-account");
|
|
8
13
|
const schema = joi_1.default.object().keys({
|
|
9
14
|
name: joi_1.default.string().min(1).required(),
|
|
10
15
|
path: joi_1.default.string().min(1).required(),
|
|
@@ -24,8 +29,9 @@ const schema = joi_1.default.object().keys({
|
|
|
24
29
|
docker: joi_1.default.object(),
|
|
25
30
|
env: joi_1.default.object(),
|
|
26
31
|
auth: joi_1.default.object().keys({
|
|
27
|
-
id: joi_1.default.string()
|
|
28
|
-
secret: joi_1.default.string()
|
|
32
|
+
id: joi_1.default.string(),
|
|
33
|
+
secret: joi_1.default.string(),
|
|
34
|
+
profile: joi_1.default.string()
|
|
29
35
|
}).required(),
|
|
30
36
|
sslDomains: joi_1.default.array().items(joi_1.default.string()),
|
|
31
37
|
forceSSL: joi_1.default.bool(),
|
|
@@ -49,9 +55,10 @@ const schema = joi_1.default.object().keys({
|
|
|
49
55
|
privateKey: joi_1.default.string().required(),
|
|
50
56
|
publicKey: joi_1.default.string().required()
|
|
51
57
|
},
|
|
52
|
-
awsPlatformBranchName: joi_1.default.string().min(1).required()
|
|
58
|
+
awsPlatformBranchName: joi_1.default.string().min(1).required(),
|
|
59
|
+
awsAccountName: joi_1.default.string().min(1).required()
|
|
53
60
|
});
|
|
54
|
-
function default_1(config, utils) {
|
|
61
|
+
async function default_1(config, utils) {
|
|
55
62
|
let details = [];
|
|
56
63
|
details = utils.combineErrorDetails(details, schema.validate(config.app, utils.VALIDATE_OPTIONS));
|
|
57
64
|
if (config.app && config.app.name && config.app.name.length < 4) {
|
|
@@ -60,6 +67,152 @@ function default_1(config, utils) {
|
|
|
60
67
|
path: 'name'
|
|
61
68
|
});
|
|
62
69
|
}
|
|
70
|
+
// Validate that either profile or credentials (id and secret) are provided
|
|
71
|
+
if (config.app && config.app.auth) {
|
|
72
|
+
const hasProfile = config.app.auth.profile && config.app.auth.profile.length > 0;
|
|
73
|
+
const hasCredentials = config.app.auth.id &&
|
|
74
|
+
config.app.auth.id.length > 0 &&
|
|
75
|
+
config.app.auth.secret &&
|
|
76
|
+
config.app.auth.secret.length > 0;
|
|
77
|
+
if (!hasProfile && !hasCredentials) {
|
|
78
|
+
details.push({
|
|
79
|
+
message: 'Either auth.profile or auth credentials (id and secret) must be provided',
|
|
80
|
+
path: 'auth'
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Ensure both id and secret are provided together if one is provided
|
|
84
|
+
if ((config.app.auth.id && !config.app.auth.secret) ||
|
|
85
|
+
(!config.app.auth.id && config.app.auth.secret)) {
|
|
86
|
+
details.push({
|
|
87
|
+
message: 'Both auth.id and auth.secret must be provided together',
|
|
88
|
+
path: 'auth'
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
63
92
|
return utils.addLocation(details, 'app');
|
|
64
93
|
}
|
|
94
|
+
async function verifyAwsAccount(config) {
|
|
95
|
+
var _a, _b, _c;
|
|
96
|
+
if (!config.app || config.app.type !== 'aws-beanstalk') {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const hasProfile = ((_a = config.app.auth) === null || _a === void 0 ? void 0 : _a.profile) && config.app.auth.profile.length > 0;
|
|
100
|
+
const hasCredentials = ((_b = config.app.auth) === null || _b === void 0 ? void 0 : _b.id) &&
|
|
101
|
+
config.app.auth.id.length > 0 &&
|
|
102
|
+
((_c = config.app.auth) === null || _c === void 0 ? void 0 : _c.secret) &&
|
|
103
|
+
config.app.auth.secret.length > 0;
|
|
104
|
+
if (hasProfile || hasCredentials) {
|
|
105
|
+
await printAwsAccountInfo(config);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async function printAwsAccountInfo(config) {
|
|
109
|
+
var _a, _b, _c;
|
|
110
|
+
const commonOptions = {
|
|
111
|
+
credentials: config.app.auth.profile ? undefined : {
|
|
112
|
+
accessKeyId: config.app.auth.id,
|
|
113
|
+
secretAccessKey: config.app.auth.secret,
|
|
114
|
+
},
|
|
115
|
+
region: config.app.region || 'us-east-1'
|
|
116
|
+
};
|
|
117
|
+
// Set AWS_PROFILE environment variable if profile is specified
|
|
118
|
+
if (config.app.auth.profile) {
|
|
119
|
+
process.env.AWS_PROFILE = config.app.auth.profile;
|
|
120
|
+
}
|
|
121
|
+
const sts = new client_sts_1.STS(commonOptions);
|
|
122
|
+
const iam = new client_iam_1.IAM(commonOptions);
|
|
123
|
+
const organizations = new client_organizations_1.Organizations(commonOptions);
|
|
124
|
+
const account = new client_account_1.Account(commonOptions);
|
|
125
|
+
// Get caller identity (account ID, user ARN, etc.)
|
|
126
|
+
const identity = await sts.getCallerIdentity({});
|
|
127
|
+
const accountId = identity.Account;
|
|
128
|
+
const expectedAccountName = config.app.awsAccountName;
|
|
129
|
+
let actualAccountName;
|
|
130
|
+
let accountCreatedDate;
|
|
131
|
+
let accountEmail;
|
|
132
|
+
let accountAlias;
|
|
133
|
+
let organizationJoinedDate;
|
|
134
|
+
// Try to get account information using the Account Management API (best option)
|
|
135
|
+
try {
|
|
136
|
+
const accountInfo = await account.send(new client_account_1.GetAccountInformationCommand({}));
|
|
137
|
+
if (accountInfo.AccountName) {
|
|
138
|
+
actualAccountName = accountInfo.AccountName;
|
|
139
|
+
}
|
|
140
|
+
if (accountInfo.AccountCreatedDate) {
|
|
141
|
+
accountCreatedDate = accountInfo.AccountCreatedDate;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
// Try Organizations API as fallback
|
|
146
|
+
try {
|
|
147
|
+
const accountInfo = await organizations.send(new client_organizations_1.DescribeAccountCommand({
|
|
148
|
+
AccountId: accountId
|
|
149
|
+
}));
|
|
150
|
+
if ((_a = accountInfo.Account) === null || _a === void 0 ? void 0 : _a.Name) {
|
|
151
|
+
actualAccountName = accountInfo.Account.Name;
|
|
152
|
+
}
|
|
153
|
+
if ((_b = accountInfo.Account) === null || _b === void 0 ? void 0 : _b.Email) {
|
|
154
|
+
accountEmail = accountInfo.Account.Email;
|
|
155
|
+
}
|
|
156
|
+
if ((_c = accountInfo.Account) === null || _c === void 0 ? void 0 : _c.JoinedTimestamp) {
|
|
157
|
+
organizationJoinedDate = accountInfo.Account.JoinedTimestamp.toISOString();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (orgError) {
|
|
161
|
+
// Could not get account name from either API
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Try to get account alias
|
|
165
|
+
try {
|
|
166
|
+
const aliases = await iam.listAccountAliases({});
|
|
167
|
+
if (aliases.AccountAliases && aliases.AccountAliases.length > 0) {
|
|
168
|
+
accountAlias = aliases.AccountAliases[0];
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
// Ignore alias errors
|
|
173
|
+
}
|
|
174
|
+
// Check if account name matches
|
|
175
|
+
const accountNameMatches = actualAccountName === expectedAccountName;
|
|
176
|
+
if (accountNameMatches) {
|
|
177
|
+
// Account name matches - print minimal info
|
|
178
|
+
console.log('\n✅ AWS Account Verification:');
|
|
179
|
+
console.log(` Account Name: ${actualAccountName} (matches expected)`);
|
|
180
|
+
console.log('');
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
// Account name does NOT match - print full info and halt
|
|
184
|
+
console.log('\n❌ AWS Account Verification FAILED:');
|
|
185
|
+
console.log(` Expected Account Name: ${expectedAccountName}`);
|
|
186
|
+
console.log(` Actual Account Name: ${actualAccountName || '(unable to retrieve)'}`);
|
|
187
|
+
console.log('');
|
|
188
|
+
console.log(' Full Account Information:');
|
|
189
|
+
console.log(` Account ID: ${accountId}`);
|
|
190
|
+
console.log(` User ARN: ${identity.Arn}`);
|
|
191
|
+
console.log(` User ID: ${identity.UserId}`);
|
|
192
|
+
if (accountCreatedDate) {
|
|
193
|
+
const dateStr = accountCreatedDate instanceof Date
|
|
194
|
+
? accountCreatedDate.toISOString()
|
|
195
|
+
: accountCreatedDate;
|
|
196
|
+
console.log(` Account Created: ${dateStr}`);
|
|
197
|
+
}
|
|
198
|
+
if (accountEmail) {
|
|
199
|
+
console.log(` Account Email: ${accountEmail}`);
|
|
200
|
+
}
|
|
201
|
+
if (organizationJoinedDate) {
|
|
202
|
+
console.log(` Joined Organization: ${organizationJoinedDate}`);
|
|
203
|
+
}
|
|
204
|
+
if (accountAlias) {
|
|
205
|
+
console.log(` Account Alias: ${accountAlias}`);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
console.log(` Account Alias: (none set)`);
|
|
209
|
+
}
|
|
210
|
+
console.log('');
|
|
211
|
+
console.log('⛔ Deployment halted due to account name mismatch.');
|
|
212
|
+
console.log(' Please verify you are deploying to the correct AWS account.');
|
|
213
|
+
console.log('');
|
|
214
|
+
// Throw error to halt processing
|
|
215
|
+
throw new Error(`AWS Account name mismatch: Expected "${expectedAccountName}" but got "${actualAccountName || 'unknown'}"`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
65
218
|
//# sourceMappingURL=validate.js.map
|
package/lib/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";;;;;AA2DA,4BAyCC;AAED,4CAcC;AApHD,8CAAsB;AACtB,oDAA0C;AAC1C,oDAA0C;AAC1C,wEAAsF;AACtF,4DAAgF;AAGhF,MAAM,MAAM,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IAC/B,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;IAClD,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAC9B,UAAU,EAAE,aAAG,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,aAAG,CAAC,IAAI,EAAE;QACjB,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE;QAC3B,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAC1B,wBAAwB,EAAE,aAAG,CAAC,OAAO,EAAE;QACvC,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE;KACzB,CAAC;IACF,kEAAkE;IAClE,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACtB,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC,QAAQ,EAAE;IACb,UAAU,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;IAC3C,QAAQ,EAAE,aAAG,CAAC,IAAI,EAAE;IACpB,UAAU,EAAE,aAAG,CAAC,IAAI,EAAE;IACtB,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,aAAG,CAAC,IAAI,EAAE;IAC5B,WAAW,EAAE,aAAG,CAAC,IAAI,EAAE;IACvB,mBAAmB,EAAE,aAAG,CAAC,IAAI,EAAE;IAC/B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAC/B,SAAS,EACT,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CACzB;IACD,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE;IACzB,qBAAqB,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,CAAC;QAClD,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACzC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QACtC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAC;IACH,MAAM,EAAE;QACN,UAAU,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC;IACD,qBAAqB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEY,KAAK,oBAAW,MAAiB,EAAE,KAAe;IAC/D,IAAI,OAAO,GAAwC,EAAE,CAAC;IAEtD,OAAO,GAAG,KAAK,CAAC,mBAAmB,CACjC,OAAO,EACP,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACpD,CAAC;IAEF,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,iCAAiC;YAC1C,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM;YACtB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAExD,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,0EAA0E;gBACnF,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,wDAAwD;gBACjE,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAiB;;IACtD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,CAAA,MAAA,MAAM,CAAC,GAAG,CAAC,IAAI,0CAAE,OAAO,KAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,CAAA,MAAA,MAAM,CAAC,GAAG,CAAC,IAAI,0CAAE,EAAE;QACpB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;SAC7B,MAAA,MAAM,CAAC,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA;QACvB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAExD,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAiB;;IAClD,MAAM,aAAa,GAAG;QACpB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAG;YAChC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAO;SACzC;QACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,WAAW;KACzC,CAAC;IAEF,+DAA+D;IAC/D,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,oCAAa,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,wBAAO,CAAC,aAAa,CAAC,CAAC;IAE3C,mDAAmD;IACnD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAQ,CAAC;IAEpC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACtD,IAAI,iBAAqC,CAAC;IAC1C,IAAI,kBAA6C,CAAC;IAClD,IAAI,YAAgC,CAAC;IACrC,IAAI,YAAgC,CAAC;IACrC,IAAI,sBAA0C,CAAC;IAE/C,gFAAgF;IAChF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,6CAA4B,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC;QAC9C,CAAC;QACD,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC;YACnC,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,6CAAsB,CAAC;gBACtE,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC,CAAC;YACJ,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;gBAC9B,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/C,CAAC;YACD,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;gBAC/B,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,CAAC;YACD,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAE,eAAe,EAAE,CAAC;gBACzC,sBAAsB,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;QAAC,OAAO,QAAa,EAAE,CAAC;YACvB,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,sBAAsB;IACxB,CAAC;IAED,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,iBAAiB,KAAK,mBAAmB,CAAC;IAErE,IAAI,kBAAkB,EAAE,CAAC;QACvB,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,iBAAiB,qBAAqB,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,6BAA6B,mBAAmB,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,6BAA6B,iBAAiB,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9C,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,kBAAkB,YAAY,IAAI;gBAChD,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBAClC,CAAC,CAAC,kBAAkB,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,2BAA2B,sBAAsB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,iCAAiC;QACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,mBAAmB,cAAc,iBAAiB,IAAI,SAAS,GAAG,CAAC,CAAC;IAC9H,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brunwig/mup-aws-beanstalk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "Deploy apps to AWS Elastic Beanstalk using Meteor Up",
|
|
6
6
|
"main": "index.js",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"typescript": "^5.2.2"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
+
"@aws-sdk/client-account": "^3.981.0",
|
|
54
55
|
"@aws-sdk/client-acm": "3.348.0",
|
|
55
56
|
"@aws-sdk/client-auto-scaling": "3.350.0",
|
|
56
57
|
"@aws-sdk/client-cloudtrail": "3.348.0",
|
|
@@ -60,6 +61,7 @@
|
|
|
60
61
|
"@aws-sdk/client-ec2-instance-connect": "3.348.0",
|
|
61
62
|
"@aws-sdk/client-elastic-beanstalk": "3.348.0",
|
|
62
63
|
"@aws-sdk/client-iam": "3.348.0",
|
|
64
|
+
"@aws-sdk/client-organizations": "^3.348.0",
|
|
63
65
|
"@aws-sdk/client-s3": "3.348.0",
|
|
64
66
|
"@aws-sdk/client-ssm": "3.348.0",
|
|
65
67
|
"@aws-sdk/client-sts": "3.348.0",
|
package/readme.md
CHANGED
|
@@ -13,6 +13,7 @@ Features:
|
|
|
13
13
|
- Zero downtime deploys
|
|
14
14
|
- Automatically uses the correct node version
|
|
15
15
|
- Worker environments
|
|
16
|
+
- AWS Profile support for easier credential management
|
|
16
17
|
- All AWS specific functions used are documented here: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ElasticBeanstalk.html#createPlatformVersion-property
|
|
17
18
|
[Getting Started Guide](./docs/getting-started.md)
|
|
18
19
|
|