aws-lambda-api-tools 0.1.28 → 0.1.30
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/bin/bootstrap-iam.js +54 -25
- package/bin/cli.js +1 -1
- package/dist/bin/bootstrap-iam.js +240 -28
- package/dist/bin/bootstrap-iam.js.map +1 -1
- package/dist/bin/cli.js +64 -3
- package/dist/bin/cli.js.map +1 -1
- package/dist/lib/lambda-route-proxy-entry-handler.js +1 -1
- package/dist/lib/lambda-route-proxy-entry-handler.js.map +1 -1
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var
|
|
2
|
+
"use strict";var a=require("commander"),o=require("path");a.program.name("aws-lambda-api-tools").description("CLI tools for AWS Lambda and API Gateway").version("0.1.5");a.program.command("create-gha-iam-stack").description("Create IAM stack for GitHub Actions OIDC authentication").option("--repo <owner/repo>","GitHub repository to add (owner/repo)",m,[]).option("--remove-repo <owner/repo>","GitHub repository to remove (owner/repo)",s,[]).option("--policy <name>","AWS managed policy name","AdministratorAccess").option("--mode <mode>","Operation mode: merge (add new repos), replace (overwrite all), list (show current repos)","replace").option("--yes","Skip confirmation prompt",!1).option("--stack-name <name>","CloudFormation stack name","GithubActionsIam").option("--role-name <name>","IAM role name","GithubActionsRole").action(async e=>{if(e.mode==="list"){process.argv=[process.argv[0],process.argv[1],"--mode=list",`--stack-name=${e.stackName}`,`--role-name=${e.roleName}`],require((0,o.join)(__dirname,"bootstrap-iam.js"));return}if(e.repo.length>0&&e.removeRepo.length>0){process.argv=[process.argv[0],process.argv[1],...e.repo.map(r=>`--repo=${r}`),...e.removeRepo.map(r=>`--remove-repo=${r}`),`--policy=${e.policy}`,"--mode=mixed",`--stack-name=${e.stackName}`,`--role-name=${e.roleName}`,...e.yes?["--yes"]:[]],require((0,o.join)(__dirname,"bootstrap-iam.js"));return}if(e.removeRepo.length>0){process.argv=[process.argv[0],process.argv[1],...e.removeRepo.map(r=>`--remove-repo=${r}`),`--policy=${e.policy}`,"--mode=remove",`--stack-name=${e.stackName}`,`--role-name=${e.roleName}`,...e.yes?["--yes"]:[]],require((0,o.join)(__dirname,"bootstrap-iam.js"));return}e.repo.length===0&&(console.error("Error: at least one --repo argument is required (or use --mode=list to view current repos)"),process.exit(1)),["merge","replace"].includes(e.mode)||(console.error("Error: --mode must be one of: merge, replace, list"),process.exit(1)),process.argv=[process.argv[0],process.argv[1],...e.repo.map(r=>`--repo=${r}`),`--policy=${e.policy}`,`--mode=${e.mode}`,`--stack-name=${e.stackName}`,`--role-name=${e.roleName}`,...e.yes?["--yes"]:[]],require((0,o.join)(__dirname,"bootstrap-iam.js"))});function m(e,r){return r.concat([e])}function s(e,r){return r.concat([e])}a.program.parse();
|
|
@@ -1,24 +1,98 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
4
27
|
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
5
28
|
const child_process_1 = require("child_process");
|
|
6
29
|
const client_iam_1 = require("@aws-sdk/client-iam");
|
|
7
|
-
|
|
30
|
+
const readline = __importStar(require("readline"));
|
|
31
|
+
console.log('🚀 Starting GitHub OIDC IAM setup...\n');
|
|
8
32
|
// Parse command line arguments
|
|
9
33
|
const args = process.argv.slice(2);
|
|
10
34
|
const repoArgs = args.filter(t => t.startsWith("--repo=")).map(t => t.split("=")[1]);
|
|
35
|
+
const removeRepoArgs = args.filter(t => t.startsWith("--remove-repo=")).map(t => t.split("=")[1]);
|
|
11
36
|
const policyArg = args.find(t => t.startsWith("--policy="));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
37
|
+
const modeArg = args.find(t => t.startsWith("--mode="));
|
|
38
|
+
const yesArg = args.find(t => t === "--yes");
|
|
39
|
+
const stackNameArg = args.find(t => t.startsWith("--stack-name="));
|
|
40
|
+
const roleNameArg = args.find(t => t.startsWith("--role-name="));
|
|
41
|
+
const mode = modeArg ? modeArg.split("=")[1] : 'replace';
|
|
42
|
+
const stackName = stackNameArg ? stackNameArg.split("=")[1] : 'GithubActionsIam';
|
|
43
|
+
const roleName = roleNameArg ? roleNameArg.split("=")[1] : 'GithubActionsRole';
|
|
44
|
+
// List mode doesn't require repos
|
|
45
|
+
if (mode !== 'list' && repoArgs.length === 0 && removeRepoArgs.length === 0) {
|
|
46
|
+
console.error("❌ Error: at least one --repo or --remove-repo argument is required");
|
|
47
|
+
console.error("Usage: create-gha-iam-stack --repo=owner/repo-name [--repo=owner/another-repo] [--policy=PolicyName] [--mode=merge|replace|list]");
|
|
48
|
+
console.error(" create-gha-iam-stack --remove-repo=owner/repo-name [--remove-repo=owner/another-repo]");
|
|
49
|
+
console.error(" create-gha-iam-stack --repo=owner/new-repo --remove-repo=owner/old-repo");
|
|
50
|
+
console.error(" create-gha-iam-stack --mode=list");
|
|
51
|
+
console.error("Example: create-gha-iam-stack --repo=myorg/my-repo --repo=myorg/another-repo --policy=AdministratorAccess --mode=merge");
|
|
52
|
+
console.error("Example: create-gha-iam-stack --remove-repo=myorg/old-repo");
|
|
53
|
+
console.error("Example: create-gha-iam-stack --repo=myorg/new-repo --remove-repo=myorg/old-repo");
|
|
54
|
+
console.error("Example: create-gha-iam-stack --mode=list");
|
|
16
55
|
process.exit(1);
|
|
17
56
|
}
|
|
18
|
-
const
|
|
57
|
+
const requestedRepos = repoArgs;
|
|
58
|
+
const reposToRemove = removeRepoArgs;
|
|
19
59
|
const policyName = policyArg ? policyArg.split("=")[1] : "AdministratorAccess";
|
|
20
|
-
|
|
21
|
-
|
|
60
|
+
const skipConfirmation = yesArg !== undefined;
|
|
61
|
+
// Utility function to prompt for confirmation
|
|
62
|
+
function promptConfirmation(message) {
|
|
63
|
+
if (skipConfirmation) {
|
|
64
|
+
return Promise.resolve(true);
|
|
65
|
+
}
|
|
66
|
+
const rl = readline.createInterface({
|
|
67
|
+
input: process.stdin,
|
|
68
|
+
output: process.stdout
|
|
69
|
+
});
|
|
70
|
+
return new Promise((resolve) => {
|
|
71
|
+
rl.question(`${message} (y/n): `, (answer) => {
|
|
72
|
+
rl.close();
|
|
73
|
+
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Extract repos from existing trust policy
|
|
78
|
+
function extractReposFromTrustPolicy(trustPolicy) {
|
|
79
|
+
try {
|
|
80
|
+
const statements = trustPolicy.Statement || [];
|
|
81
|
+
for (const statement of statements) {
|
|
82
|
+
if (statement.Condition?.StringLike?.['token.actions.githubusercontent.com:sub']) {
|
|
83
|
+
const subs = statement.Condition.StringLike['token.actions.githubusercontent.com:sub'];
|
|
84
|
+
const subArray = Array.isArray(subs) ? subs : [subs];
|
|
85
|
+
return subArray
|
|
86
|
+
.map((sub) => sub.replace('repo:', '').replace(':*', ''))
|
|
87
|
+
.filter((repo) => repo.length > 0);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.warn('⚠️ Could not parse trust policy:', error);
|
|
93
|
+
}
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
22
96
|
// Check if GitHub OIDC provider already exists
|
|
23
97
|
async function checkOidcProviderExists() {
|
|
24
98
|
try {
|
|
@@ -31,7 +105,7 @@ async function checkOidcProviderExists() {
|
|
|
31
105
|
return true;
|
|
32
106
|
}
|
|
33
107
|
else {
|
|
34
|
-
console.log('ℹ️ No existing GitHub OIDC provider found');
|
|
108
|
+
console.log('ℹ️ No existing GitHub OIDC provider found - will create new one');
|
|
35
109
|
return false;
|
|
36
110
|
}
|
|
37
111
|
}
|
|
@@ -40,17 +114,98 @@ async function checkOidcProviderExists() {
|
|
|
40
114
|
return false;
|
|
41
115
|
}
|
|
42
116
|
}
|
|
117
|
+
// Check for existing IAM role and get current repos
|
|
118
|
+
async function getExistingRepos() {
|
|
119
|
+
try {
|
|
120
|
+
const iamClient = new client_iam_1.IAMClient({ region: process.env.AWS_REGION || 'us-east-1' });
|
|
121
|
+
const command = new client_iam_1.GetRoleCommand({ RoleName: roleName });
|
|
122
|
+
const response = await iamClient.send(command);
|
|
123
|
+
if (response.Role?.AssumeRolePolicyDocument) {
|
|
124
|
+
const trustPolicyJson = decodeURIComponent(response.Role.AssumeRolePolicyDocument);
|
|
125
|
+
const trustPolicy = JSON.parse(trustPolicyJson);
|
|
126
|
+
const existingRepos = extractReposFromTrustPolicy(trustPolicy);
|
|
127
|
+
if (existingRepos.length > 0) {
|
|
128
|
+
console.log(`\n✅ Found existing IAM role: ${roleName}`);
|
|
129
|
+
console.log(`📋 Current repositories (${existingRepos.length}):`);
|
|
130
|
+
existingRepos.forEach(repo => console.log(` - ${repo}`));
|
|
131
|
+
return existingRepos;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (error instanceof client_iam_1.NoSuchEntityException || error.name === 'NoSuchEntity') {
|
|
137
|
+
console.log(`\nℹ️ No existing IAM role found - will create new role: ${roleName}`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.warn('⚠️ Could not check for existing role:', error);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
// Calculate final repos list based on mode
|
|
146
|
+
function calculateFinalRepos(existing, requested, toRemove, mode) {
|
|
147
|
+
const existingSet = new Set(existing);
|
|
148
|
+
const requestedSet = new Set(requested);
|
|
149
|
+
const toRemoveSet = new Set(toRemove);
|
|
150
|
+
switch (mode) {
|
|
151
|
+
case 'merge':
|
|
152
|
+
return Array.from(new Set([...existing, ...requested])).sort();
|
|
153
|
+
case 'remove':
|
|
154
|
+
return existing.filter(repo => !requestedSet.has(repo)).sort();
|
|
155
|
+
case 'mixed':
|
|
156
|
+
// Start with existing, remove specified repos, then add new ones
|
|
157
|
+
const afterRemoval = existing.filter(repo => !toRemoveSet.has(repo));
|
|
158
|
+
return Array.from(new Set([...afterRemoval, ...requested])).sort();
|
|
159
|
+
case 'replace':
|
|
160
|
+
default:
|
|
161
|
+
return requested.sort();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Show diff of changes
|
|
165
|
+
function showDiff(existing, final, requested, mode) {
|
|
166
|
+
const existingSet = new Set(existing);
|
|
167
|
+
const finalSet = new Set(final);
|
|
168
|
+
const requestedSet = new Set(requested);
|
|
169
|
+
const added = final.filter(repo => !existingSet.has(repo));
|
|
170
|
+
const removed = existing.filter(repo => !finalSet.has(repo));
|
|
171
|
+
const unchanged = final.filter(repo => existingSet.has(repo));
|
|
172
|
+
console.log(`\n📊 Operation: ${mode.toUpperCase()}`);
|
|
173
|
+
console.log(`\n📝 Summary:`);
|
|
174
|
+
console.log(` Total repositories: ${existing.length} → ${final.length}`);
|
|
175
|
+
if (added.length > 0) {
|
|
176
|
+
console.log(`\n✨ Adding (${added.length}):`);
|
|
177
|
+
added.forEach(repo => console.log(` + ${repo}`));
|
|
178
|
+
}
|
|
179
|
+
if (removed.length > 0) {
|
|
180
|
+
console.log(`\n🗑️ Removing (${removed.length}):`);
|
|
181
|
+
removed.forEach(repo => console.log(` - ${repo}`));
|
|
182
|
+
}
|
|
183
|
+
if (unchanged.length > 0) {
|
|
184
|
+
console.log(`\n✓ Unchanged (${unchanged.length}):`);
|
|
185
|
+
unchanged.forEach(repo => console.log(` ${repo}`));
|
|
186
|
+
}
|
|
187
|
+
// Show which requested repos already exist (for merge/mixed modes)
|
|
188
|
+
if ((mode === 'merge' || mode === 'mixed') && requestedSet.size > added.length) {
|
|
189
|
+
const alreadyExists = requested.filter(repo => existingSet.has(repo));
|
|
190
|
+
if (alreadyExists.length > 0) {
|
|
191
|
+
console.log(`\nℹ️ Already exist (${alreadyExists.length}):`);
|
|
192
|
+
alreadyExists.forEach(repo => console.log(` ${repo}`));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
console.log(`\n📦 Final repository list (${final.length}):`);
|
|
196
|
+
final.forEach(repo => console.log(` • ${repo}`));
|
|
197
|
+
}
|
|
43
198
|
const app = new aws_cdk_lib_1.App();
|
|
44
199
|
class GithubActionsIamStack extends aws_cdk_lib_1.Stack {
|
|
45
200
|
constructor(scope, id, props) {
|
|
46
201
|
super(scope, id, props);
|
|
47
|
-
|
|
202
|
+
const { finalRepos = [], createOidcProvider = false } = props || {};
|
|
48
203
|
// Reference existing OIDC provider or create new one
|
|
49
204
|
const accountId = aws_cdk_lib_1.Stack.of(this).account;
|
|
50
205
|
const githubOidcProviderArn = `arn:aws:iam::${accountId}:oidc-provider/token.actions.githubusercontent.com`;
|
|
51
206
|
// Create OIDC provider only if it doesn't exist
|
|
52
|
-
if (
|
|
53
|
-
console.log('Creating new OIDC Provider...');
|
|
207
|
+
if (createOidcProvider) {
|
|
208
|
+
console.log('\n🔐 Creating new OIDC Provider...');
|
|
54
209
|
new aws_iam_1.CfnOIDCProvider(this, "GithubOidcProvider", {
|
|
55
210
|
url: "https://token.actions.githubusercontent.com",
|
|
56
211
|
clientIdList: ["sts.amazonaws.com"],
|
|
@@ -60,17 +215,15 @@ class GithubActionsIamStack extends aws_cdk_lib_1.Stack {
|
|
|
60
215
|
]
|
|
61
216
|
});
|
|
62
217
|
}
|
|
63
|
-
|
|
64
|
-
console.log('Using existing OIDC Provider');
|
|
65
|
-
}
|
|
66
|
-
console.log('Creating IAM Role...');
|
|
218
|
+
console.log(`\n👤 Creating/Updating IAM Role: ${roleName}...`);
|
|
67
219
|
const deploymentRole = new aws_iam_1.Role(this, "GithubActionsRole", {
|
|
220
|
+
roleName: roleName,
|
|
68
221
|
assumedBy: new aws_iam_1.WebIdentityPrincipal(githubOidcProviderArn, {
|
|
69
222
|
StringEquals: {
|
|
70
223
|
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
|
|
71
224
|
},
|
|
72
225
|
StringLike: {
|
|
73
|
-
"token.actions.githubusercontent.com:sub":
|
|
226
|
+
"token.actions.githubusercontent.com:sub": finalRepos.map(repo => `repo:${repo}:*`)
|
|
74
227
|
}
|
|
75
228
|
}),
|
|
76
229
|
managedPolicies: [
|
|
@@ -81,28 +234,83 @@ class GithubActionsIamStack extends aws_cdk_lib_1.Stack {
|
|
|
81
234
|
value: deploymentRole.roleArn,
|
|
82
235
|
description: "ARN of role to use in GitHub Actions"
|
|
83
236
|
});
|
|
237
|
+
new aws_cdk_lib_1.CfnOutput(this, "RoleName", {
|
|
238
|
+
value: deploymentRole.roleName,
|
|
239
|
+
description: "Name of the IAM role"
|
|
240
|
+
});
|
|
241
|
+
new aws_cdk_lib_1.CfnOutput(this, "PolicyName", {
|
|
242
|
+
value: policyName,
|
|
243
|
+
description: "AWS managed policy attached to the role"
|
|
244
|
+
});
|
|
245
|
+
new aws_cdk_lib_1.CfnOutput(this, "RepositoryCount", {
|
|
246
|
+
value: finalRepos.length.toString(),
|
|
247
|
+
description: "Number of repositories with access"
|
|
248
|
+
});
|
|
84
249
|
}
|
|
85
250
|
}
|
|
86
251
|
// Main execution
|
|
87
252
|
async function main() {
|
|
88
|
-
|
|
253
|
+
// LIST MODE - Just show current repos and exit
|
|
254
|
+
if (mode === 'list') {
|
|
255
|
+
console.log(`📋 Stack: ${stackName}`);
|
|
256
|
+
console.log(`👤 Role: ${roleName}\n`);
|
|
257
|
+
const existingRepos = await getExistingRepos();
|
|
258
|
+
if (existingRepos.length === 0) {
|
|
259
|
+
console.log('ℹ️ No repositories found in trust policy (or role does not exist)\n');
|
|
260
|
+
process.exit(0);
|
|
261
|
+
}
|
|
262
|
+
console.log(`\n✅ Current repositories in trust policy (${existingRepos.length}):\n`);
|
|
263
|
+
existingRepos.forEach((repo, idx) => console.log(` ${idx + 1}. ${repo}`));
|
|
264
|
+
console.log('');
|
|
265
|
+
process.exit(0);
|
|
266
|
+
}
|
|
267
|
+
// MODIFY MODE (merge/replace/remove/mixed)
|
|
268
|
+
if (requestedRepos.length > 0) {
|
|
269
|
+
console.log(`📋 Repositories to add (${requestedRepos.length}):`);
|
|
270
|
+
requestedRepos.forEach(repo => console.log(` + ${repo}`));
|
|
271
|
+
}
|
|
272
|
+
if (reposToRemove.length > 0) {
|
|
273
|
+
console.log(`🗑️ Repositories to remove (${reposToRemove.length}):`);
|
|
274
|
+
reposToRemove.forEach(repo => console.log(` - ${repo}`));
|
|
275
|
+
}
|
|
276
|
+
console.log(`🔑 Policy: ${policyName}`);
|
|
277
|
+
console.log(`🎯 Mode: ${mode}`);
|
|
278
|
+
// Check for existing setup
|
|
279
|
+
const existingRepos = await getExistingRepos();
|
|
89
280
|
const oidcExists = await checkOidcProviderExists();
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
281
|
+
// Calculate final repos list
|
|
282
|
+
const finalRepos = calculateFinalRepos(existingRepos, requestedRepos, reposToRemove, mode);
|
|
283
|
+
// Show diff
|
|
284
|
+
showDiff(existingRepos, finalRepos, requestedRepos, mode);
|
|
285
|
+
// Validation
|
|
286
|
+
if (finalRepos.length === 0) {
|
|
287
|
+
console.error('\n❌ Error: Final repository list is empty. Cannot proceed.');
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}
|
|
290
|
+
// Prompt for confirmation
|
|
291
|
+
const confirmed = await promptConfirmation('\n❓ Do you want to proceed with these changes?');
|
|
292
|
+
if (!confirmed) {
|
|
293
|
+
console.log('\n❌ Operation cancelled by user');
|
|
294
|
+
process.exit(0);
|
|
295
|
+
}
|
|
296
|
+
console.log('\n✅ Confirmed - proceeding with deployment...');
|
|
297
|
+
// Create/update stack
|
|
298
|
+
new GithubActionsIamStack(app, stackName, {
|
|
299
|
+
createOidcProvider: !oidcExists,
|
|
300
|
+
finalRepos: finalRepos
|
|
93
301
|
});
|
|
94
|
-
console.log('Synthesizing CloudFormation template...');
|
|
302
|
+
console.log('\n🔨 Synthesizing CloudFormation template...');
|
|
95
303
|
const assembly = app.synth();
|
|
96
304
|
// Execute the deployment
|
|
97
|
-
console.log('Starting deployment...');
|
|
305
|
+
console.log('\n🚀 Starting deployment...');
|
|
98
306
|
try {
|
|
99
307
|
const cdkCommand = [
|
|
100
308
|
'cdk deploy',
|
|
101
|
-
|
|
309
|
+
stackName,
|
|
102
310
|
'--require-approval never',
|
|
103
311
|
`--app "${assembly.directory}"`,
|
|
104
312
|
].join(' ');
|
|
105
|
-
console.log(
|
|
313
|
+
console.log(`\n💻 Executing: ${cdkCommand}\n`);
|
|
106
314
|
(0, child_process_1.execSync)(cdkCommand, {
|
|
107
315
|
stdio: 'inherit',
|
|
108
316
|
env: {
|
|
@@ -110,16 +318,20 @@ async function main() {
|
|
|
110
318
|
AWS_REGION: process.env.AWS_REGION || 'us-east-1',
|
|
111
319
|
}
|
|
112
320
|
});
|
|
113
|
-
console.log('✅ Deployment completed successfully!');
|
|
321
|
+
console.log('\n✅ Deployment completed successfully!');
|
|
322
|
+
console.log('\n📋 Next steps:');
|
|
323
|
+
console.log(' 1. Copy the Role ARN from the output above');
|
|
324
|
+
console.log(' 2. Add it as a secret named \'AWS_ROLE_ARN\' in each repository');
|
|
325
|
+
console.log(' 3. Verify the GitHub Actions workflows can assume the role\n');
|
|
114
326
|
}
|
|
115
327
|
catch (error) {
|
|
116
|
-
console.error('❌ Deployment failed:', error);
|
|
328
|
+
console.error('\n❌ Deployment failed:', error);
|
|
117
329
|
process.exit(1);
|
|
118
330
|
}
|
|
119
331
|
}
|
|
120
332
|
// Run the main function
|
|
121
333
|
main().catch(error => {
|
|
122
|
-
console.error('❌ Setup failed:', error);
|
|
334
|
+
console.error('\n❌ Setup failed:', error);
|
|
123
335
|
process.exit(1);
|
|
124
336
|
});
|
|
125
337
|
//# sourceMappingURL=bootstrap-iam.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-iam.js","sourceRoot":"","sources":["../../src/bin/bootstrap-iam.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap-iam.js","sourceRoot":"","sources":["../../src/bin/bootstrap-iam.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -8,11 +8,64 @@ commander_1.program
|
|
|
8
8
|
.version('0.1.5');
|
|
9
9
|
commander_1.program.command('create-gha-iam-stack')
|
|
10
10
|
.description('Create IAM stack for GitHub Actions OIDC authentication')
|
|
11
|
-
.option('--repo <owner/repo>', 'GitHub repository (owner/repo)', collect, [])
|
|
11
|
+
.option('--repo <owner/repo>', 'GitHub repository to add (owner/repo)', collect, [])
|
|
12
|
+
.option('--remove-repo <owner/repo>', 'GitHub repository to remove (owner/repo)', collectRemove, [])
|
|
12
13
|
.option('--policy <name>', 'AWS managed policy name', 'AdministratorAccess')
|
|
14
|
+
.option('--mode <mode>', 'Operation mode: merge (add new repos), replace (overwrite all), list (show current repos)', 'replace')
|
|
15
|
+
.option('--yes', 'Skip confirmation prompt', false)
|
|
16
|
+
.option('--stack-name <name>', 'CloudFormation stack name', 'GithubActionsIam')
|
|
17
|
+
.option('--role-name <name>', 'IAM role name', 'GithubActionsRole')
|
|
13
18
|
.action(async (options) => {
|
|
19
|
+
// List mode - no repos required
|
|
20
|
+
if (options.mode === 'list') {
|
|
21
|
+
process.argv = [
|
|
22
|
+
process.argv[0],
|
|
23
|
+
process.argv[1],
|
|
24
|
+
'--mode=list',
|
|
25
|
+
`--stack-name=${options.stackName}`,
|
|
26
|
+
`--role-name=${options.roleName}`,
|
|
27
|
+
];
|
|
28
|
+
require((0, path_1.join)(__dirname, 'bootstrap-iam.js'));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Mixed mode - both --repo and --remove-repo specified
|
|
32
|
+
if (options.repo.length > 0 && options.removeRepo.length > 0) {
|
|
33
|
+
process.argv = [
|
|
34
|
+
process.argv[0],
|
|
35
|
+
process.argv[1],
|
|
36
|
+
...options.repo.map((repo) => `--repo=${repo}`),
|
|
37
|
+
...options.removeRepo.map((repo) => `--remove-repo=${repo}`),
|
|
38
|
+
`--policy=${options.policy}`,
|
|
39
|
+
'--mode=mixed',
|
|
40
|
+
`--stack-name=${options.stackName}`,
|
|
41
|
+
`--role-name=${options.roleName}`,
|
|
42
|
+
...(options.yes ? ['--yes'] : [])
|
|
43
|
+
];
|
|
44
|
+
require((0, path_1.join)(__dirname, 'bootstrap-iam.js'));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Pure remove mode - only --remove-repo specified
|
|
48
|
+
if (options.removeRepo.length > 0) {
|
|
49
|
+
process.argv = [
|
|
50
|
+
process.argv[0],
|
|
51
|
+
process.argv[1],
|
|
52
|
+
...options.removeRepo.map((repo) => `--remove-repo=${repo}`),
|
|
53
|
+
`--policy=${options.policy}`,
|
|
54
|
+
'--mode=remove',
|
|
55
|
+
`--stack-name=${options.stackName}`,
|
|
56
|
+
`--role-name=${options.roleName}`,
|
|
57
|
+
...(options.yes ? ['--yes'] : [])
|
|
58
|
+
];
|
|
59
|
+
require((0, path_1.join)(__dirname, 'bootstrap-iam.js'));
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// Add/Replace mode - requires repos
|
|
14
63
|
if (options.repo.length === 0) {
|
|
15
|
-
console.error('Error: at least one --repo argument is required');
|
|
64
|
+
console.error('Error: at least one --repo argument is required (or use --mode=list to view current repos)');
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
if (!['merge', 'replace'].includes(options.mode)) {
|
|
68
|
+
console.error('Error: --mode must be one of: merge, replace, list');
|
|
16
69
|
process.exit(1);
|
|
17
70
|
}
|
|
18
71
|
// Convert Commander options to argv format for bootstrap script
|
|
@@ -20,7 +73,11 @@ commander_1.program.command('create-gha-iam-stack')
|
|
|
20
73
|
process.argv[0],
|
|
21
74
|
process.argv[1],
|
|
22
75
|
...options.repo.map((repo) => `--repo=${repo}`),
|
|
23
|
-
`--policy=${options.policy}
|
|
76
|
+
`--policy=${options.policy}`,
|
|
77
|
+
`--mode=${options.mode}`,
|
|
78
|
+
`--stack-name=${options.stackName}`,
|
|
79
|
+
`--role-name=${options.roleName}`,
|
|
80
|
+
...(options.yes ? ['--yes'] : [])
|
|
24
81
|
];
|
|
25
82
|
require((0, path_1.join)(__dirname, 'bootstrap-iam.js'));
|
|
26
83
|
});
|
|
@@ -28,5 +85,9 @@ commander_1.program.command('create-gha-iam-stack')
|
|
|
28
85
|
function collect(value, previous) {
|
|
29
86
|
return previous.concat([value]);
|
|
30
87
|
}
|
|
88
|
+
// Helper function to collect multiple --remove-repo options
|
|
89
|
+
function collectRemove(value, previous) {
|
|
90
|
+
return previous.concat([value]);
|
|
91
|
+
}
|
|
31
92
|
commander_1.program.parse();
|
|
32
93
|
//# sourceMappingURL=cli.js.map
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,+BAA4B;AAE5B,mBAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mBAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;KACpC,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,7 +186,7 @@ const lambdaRouteProxyEntryHandler = (config, availableRouteModules) => async (e
|
|
|
186
186
|
}
|
|
187
187
|
if (error instanceof custom_error_1.CustomError) {
|
|
188
188
|
retVal = {
|
|
189
|
-
statusCode,
|
|
189
|
+
statusCode: error.httpStatusCode || error._httpStatusCode || 500,
|
|
190
190
|
headers,
|
|
191
191
|
body: error.message,
|
|
192
192
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-route-proxy-entry-handler.js","sourceRoot":"","sources":["../../src/lib/lambda-route-proxy-entry-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lambda-route-proxy-entry-handler.js","sourceRoot":"","sources":["../../src/lib/lambda-route-proxy-entry-handler.ts"],"names":[],"mappings":"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"}
|