@padua/cli 1.2.0 → 1.3.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.
- package/dist/commands/init/aws-profile.d.ts +21 -0
- package/dist/commands/init/aws-profile.d.ts.map +1 -1
- package/dist/commands/init/aws-profile.js +91 -0
- package/dist/commands/init/aws-profile.js.map +1 -1
- package/dist/commands/init/index.d.ts +21 -17
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +280 -181
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/init.d.ts +24 -0
- package/dist/commands/init/init.d.ts.map +1 -1
- package/dist/commands/init/init.js +78 -0
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/init/sso-discovery.d.ts +114 -0
- package/dist/commands/init/sso-discovery.d.ts.map +1 -0
- package/dist/commands/init/sso-discovery.js +363 -0
- package/dist/commands/init/sso-discovery.js.map +1 -0
- package/dist/commands/status/checks.d.ts.map +1 -1
- package/dist/commands/status/checks.js +21 -5
- package/dist/commands/status/checks.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SSOConfig } from './prompts';
|
|
2
|
+
import { SSOSessionConfig, ProfileConfig } from './sso-discovery';
|
|
2
3
|
/**
|
|
3
4
|
* Write SSO profile to ~/.aws/config
|
|
4
5
|
*
|
|
@@ -15,4 +16,24 @@ export declare function hasAwsProfile(profileName: string): boolean;
|
|
|
15
16
|
* Get the path to AWS config file
|
|
16
17
|
*/
|
|
17
18
|
export declare function getAwsConfigPath(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate SSO session content for ~/.aws/config
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateSSOSessionContent(config: SSOSessionConfig): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate AWS profile content that references an SSO session
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateSSOSessionProfileContent(profileName: string, accountId: string, roleName: string, ssoSessionName: string, defaultRegion: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Check if SSO session exists in config
|
|
29
|
+
*/
|
|
30
|
+
export declare function ssoSessionExists(configContent: string, sessionName: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Remove SSO session from config
|
|
33
|
+
*/
|
|
34
|
+
export declare function removeSSOSession(configContent: string, sessionName: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Write SSO session and multiple profiles to ~/.aws/config
|
|
37
|
+
*/
|
|
38
|
+
export declare function writeFullSSOConfig(ssoSession: SSOSessionConfig, profiles: ProfileConfig[], defaultRegion: string, overwrite?: boolean): Promise<string>;
|
|
18
39
|
//# sourceMappingURL=aws-profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-profile.d.ts","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"aws-profile.d.ts","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqClE;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAO1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAK1E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAGpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,aAAa,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
|
|
@@ -36,6 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.writeAwsProfile = writeAwsProfile;
|
|
37
37
|
exports.hasAwsProfile = hasAwsProfile;
|
|
38
38
|
exports.getAwsConfigPath = getAwsConfigPath;
|
|
39
|
+
exports.generateSSOSessionContent = generateSSOSessionContent;
|
|
40
|
+
exports.generateSSOSessionProfileContent = generateSSOSessionProfileContent;
|
|
41
|
+
exports.ssoSessionExists = ssoSessionExists;
|
|
42
|
+
exports.removeSSOSession = removeSSOSession;
|
|
43
|
+
exports.writeFullSSOConfig = writeFullSSOConfig;
|
|
39
44
|
const fs = __importStar(require("fs"));
|
|
40
45
|
const path = __importStar(require("path"));
|
|
41
46
|
const os = __importStar(require("os"));
|
|
@@ -124,4 +129,90 @@ function hasAwsProfile(profileName) {
|
|
|
124
129
|
function getAwsConfigPath() {
|
|
125
130
|
return AWS_CONFIG_PATH;
|
|
126
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Generate SSO session content for ~/.aws/config
|
|
134
|
+
*/
|
|
135
|
+
function generateSSOSessionContent(config) {
|
|
136
|
+
return `[sso-session ${config.sessionName}]
|
|
137
|
+
sso_start_url = ${config.startUrl}
|
|
138
|
+
sso_region = ${config.region}
|
|
139
|
+
sso_registration_scopes = ${config.registrationScopes}`;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generate AWS profile content that references an SSO session
|
|
143
|
+
*/
|
|
144
|
+
function generateSSOSessionProfileContent(profileName, accountId, roleName, ssoSessionName, defaultRegion) {
|
|
145
|
+
return `[profile ${profileName}]
|
|
146
|
+
sso_account_id = ${accountId}
|
|
147
|
+
sso_role_name = ${roleName}
|
|
148
|
+
sso_session = ${ssoSessionName}
|
|
149
|
+
region = ${defaultRegion}`;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Check if SSO session exists in config
|
|
153
|
+
*/
|
|
154
|
+
function ssoSessionExists(configContent, sessionName) {
|
|
155
|
+
const sessionPattern = new RegExp(`^\\[sso-session ${sessionName}\\]`, 'm');
|
|
156
|
+
return sessionPattern.test(configContent);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Remove SSO session from config
|
|
160
|
+
*/
|
|
161
|
+
function removeSSOSession(configContent, sessionName) {
|
|
162
|
+
const sessionPattern = new RegExp(`\\[sso-session ${sessionName}\\][^\\[]*`, 'g');
|
|
163
|
+
return configContent.replace(sessionPattern, '').trim();
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Write SSO session and multiple profiles to ~/.aws/config
|
|
167
|
+
*/
|
|
168
|
+
async function writeFullSSOConfig(ssoSession, profiles, defaultRegion, overwrite = false) {
|
|
169
|
+
// Ensure ~/.aws directory exists
|
|
170
|
+
const awsDir = path.dirname(AWS_CONFIG_PATH);
|
|
171
|
+
if (!fs.existsSync(awsDir)) {
|
|
172
|
+
fs.mkdirSync(awsDir, { recursive: true, mode: 0o700 });
|
|
173
|
+
}
|
|
174
|
+
// Read existing config if it exists
|
|
175
|
+
let existingContent = '';
|
|
176
|
+
if (fs.existsSync(AWS_CONFIG_PATH)) {
|
|
177
|
+
existingContent = fs.readFileSync(AWS_CONFIG_PATH, 'utf-8');
|
|
178
|
+
}
|
|
179
|
+
// Remove existing SSO session if overwriting
|
|
180
|
+
if (ssoSessionExists(existingContent, ssoSession.sessionName)) {
|
|
181
|
+
if (!overwrite) {
|
|
182
|
+
throw new Error(`SSO session '${ssoSession.sessionName}' already exists in ${AWS_CONFIG_PATH}. ` +
|
|
183
|
+
`Use --force to overwrite.`);
|
|
184
|
+
}
|
|
185
|
+
existingContent = removeSSOSession(existingContent, ssoSession.sessionName);
|
|
186
|
+
}
|
|
187
|
+
// Remove existing profiles if overwriting
|
|
188
|
+
for (const profile of profiles) {
|
|
189
|
+
if (profileExists(existingContent, profile.name)) {
|
|
190
|
+
if (overwrite) {
|
|
191
|
+
existingContent = removeProfile(existingContent, profile.name);
|
|
192
|
+
}
|
|
193
|
+
// If not overwriting, we'll just skip adding this profile (don't throw error)
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// Build new content
|
|
197
|
+
const ssoSessionContent = generateSSOSessionContent(ssoSession);
|
|
198
|
+
const profileContents = [];
|
|
199
|
+
for (const p of profiles) {
|
|
200
|
+
// Only add profile if it doesn't exist (or was removed due to overwrite)
|
|
201
|
+
if (!profileExists(existingContent, p.name)) {
|
|
202
|
+
profileContents.push(generateSSOSessionProfileContent(p.name, p.accountId, p.roleName, ssoSession.sessionName, defaultRegion));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Combine all content
|
|
206
|
+
let finalContent = existingContent.trim();
|
|
207
|
+
if (finalContent) {
|
|
208
|
+
finalContent += '\n\n';
|
|
209
|
+
}
|
|
210
|
+
finalContent += ssoSessionContent + '\n';
|
|
211
|
+
for (const profileContent of profileContents) {
|
|
212
|
+
finalContent += '\n' + profileContent + '\n';
|
|
213
|
+
}
|
|
214
|
+
// Write the config file
|
|
215
|
+
fs.writeFileSync(AWS_CONFIG_PATH, finalContent, { mode: 0o600 });
|
|
216
|
+
return AWS_CONFIG_PATH;
|
|
217
|
+
}
|
|
127
218
|
//# sourceMappingURL=aws-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-profile.js","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"aws-profile.js","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,41 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { AccountWithRoles } from './sso-discovery';
|
|
2
3
|
/**
|
|
3
4
|
* Command options for padua init
|
|
4
5
|
*/
|
|
5
6
|
interface InitOptions {
|
|
6
7
|
force?: boolean;
|
|
7
|
-
merge?: boolean;
|
|
8
8
|
verbose?: boolean;
|
|
9
9
|
noColor?: boolean;
|
|
10
|
+
noBrowser?: boolean;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* Init command definition
|
|
13
14
|
*/
|
|
14
15
|
export declare const initCommand: Command;
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
+
* Display accounts and roles summary
|
|
17
18
|
*/
|
|
18
|
-
declare function
|
|
19
|
+
declare function displayAccountsAndRoles(accountsWithRoles: AccountWithRoles[], noColor?: boolean): void;
|
|
20
|
+
/**
|
|
21
|
+
* Display profiles that will be created
|
|
22
|
+
*/
|
|
23
|
+
declare function displayProfilesToCreate(profiles: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
accountId: string;
|
|
26
|
+
roleName: string;
|
|
27
|
+
}>, noColor?: boolean): void;
|
|
19
28
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* Returns:
|
|
23
|
-
* - 'overwrite': Proceed with overwrite (new file or user chose overwrite)
|
|
24
|
-
* - 'merge': Proceed with merge (existing file and user chose merge, or --merge)
|
|
25
|
-
* - 'cancel': Exit without changes (user chose cancel)
|
|
26
|
-
*
|
|
27
|
-
* Exit codes on conflict:
|
|
28
|
-
* - Process may exit with code 2 if user chooses cancel in interactive dialog
|
|
29
|
+
* Prompt user to select which role to use for profiles
|
|
29
30
|
*/
|
|
30
|
-
declare function
|
|
31
|
+
declare function selectRole(accountsWithRoles: AccountWithRoles[]): Promise<string | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* Main handler for init command
|
|
34
|
+
*/
|
|
35
|
+
declare function handleInit(options: InitOptions): Promise<void>;
|
|
31
36
|
/**
|
|
32
|
-
*
|
|
33
|
-
* Returns user's choice or exits with code 2
|
|
37
|
+
* Open URL in default browser (cross-platform)
|
|
34
38
|
*/
|
|
35
|
-
declare function
|
|
36
|
-
export {
|
|
39
|
+
declare function openBrowser(url: string): void;
|
|
40
|
+
export { handleInit, displayAccountsAndRoles, displayProfilesToCreate, selectRole, openBrowser };
|
|
37
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAQL,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,SAMH,CAAC;AAEtB;;GAEG;AACH,iBAAS,uBAAuB,CAC9B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,GAAE,OAAe,GACvB,IAAI,CA6BN;AAED;;GAEG;AACH,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,OAAO,GAAE,OAAe,GACvB,IAAI,CA2BN;AAED;;GAEG;AACH,iBAAe,UAAU,CACvB,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED;;GAEG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4N7D;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA2BtC;AAGD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC"}
|