@vizamodo/viza-cli 1.5.6 → 1.5.12
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/src/cli/program.js +2 -0
- package/dist/src/commands/aws/register.js +4 -0
- package/dist/src/commands/aws/rolesanywhere/bootstrap/bootstrap.js +40 -0
- package/dist/src/commands/aws/rolesanywhere/bootstrap/register.js +13 -0
- package/dist/src/commands/aws/rolesanywhere/register.js +10 -0
- package/dist/src/commands/aws/rolesanywhere/rollback/rollback.js +1 -0
- package/dist/src/commands/aws/rolesanywhere/rotate/rotate.js +1 -0
- package/dist/src/commands/login/{aws.js → aws/aws.js} +4 -4
- package/dist/src/commands/login/aws/register.js +15 -0
- package/dist/src/commands/login/register.js +2 -13
- package/package.json +1 -1
package/dist/src/cli/program.js
CHANGED
|
@@ -4,6 +4,7 @@ import { registerGlobalOptions } from "./options.js";
|
|
|
4
4
|
import { registerLoginCommand } from "../commands/login/register.js";
|
|
5
5
|
import { registerBootstrapCommand } from "../commands/bootstrap/register.js";
|
|
6
6
|
import { whoamiCommand } from "../commands/whoami/index.js";
|
|
7
|
+
import { registerAwsCommand } from "../commands/aws/register.js";
|
|
7
8
|
export function createProgram() {
|
|
8
9
|
const program = new Command();
|
|
9
10
|
program
|
|
@@ -13,6 +14,7 @@ export function createProgram() {
|
|
|
13
14
|
registerGlobalOptions(program);
|
|
14
15
|
registerBootstrapCommand(program);
|
|
15
16
|
registerLoginCommand(program);
|
|
17
|
+
registerAwsCommand(program);
|
|
16
18
|
program
|
|
17
19
|
.command("whoami")
|
|
18
20
|
.description("Show current GitHub identity and Viza team memberships (local only)")
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { resolveEnv } from "../../../../context/env.js";
|
|
2
|
+
import { resolveHubIntent } from "../../../../context/hubIntent.js";
|
|
3
|
+
import { dispatchIntentAndWait } from "../../../../core/dispatch.js";
|
|
4
|
+
/**
|
|
5
|
+
* Target teams for `viza aws rolesanywhere bootstrap`.
|
|
6
|
+
* CLI-only fail-fast UX constraint.
|
|
7
|
+
* NOT a policy and MUST NOT be sent to gateway.
|
|
8
|
+
*/
|
|
9
|
+
const TARGET_TEAMS = {
|
|
10
|
+
dev: ["viza-super"],
|
|
11
|
+
prod: ["viza-super"],
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* viza aws rolesanywhere bootstrap
|
|
15
|
+
*
|
|
16
|
+
* Flow:
|
|
17
|
+
* 1) Resolve env
|
|
18
|
+
* 2) Resolve hub intent
|
|
19
|
+
* 3) Derive allowed teams (CLI UX only)
|
|
20
|
+
* 4) Dispatch frozen intent
|
|
21
|
+
*/
|
|
22
|
+
export async function bootstrapAwsRolesAnywhereCommand(options) {
|
|
23
|
+
// 1) Resolve environment
|
|
24
|
+
const env = resolveEnv(options);
|
|
25
|
+
const intent = resolveHubIntent(env);
|
|
26
|
+
// 2) Resolve allowed teams (no status mode for bootstrap)
|
|
27
|
+
const allowedTeams = TARGET_TEAMS[env];
|
|
28
|
+
// 3) Dispatch intent (freeze)
|
|
29
|
+
await dispatchIntentAndWait({
|
|
30
|
+
intent,
|
|
31
|
+
commandType: "aws.rolesanywhere.bootstrap",
|
|
32
|
+
infraKey: "aws",
|
|
33
|
+
targetEnv: env,
|
|
34
|
+
allowedTeams,
|
|
35
|
+
payload: {}
|
|
36
|
+
}, {
|
|
37
|
+
status: options.status === true,
|
|
38
|
+
log: "hide",
|
|
39
|
+
});
|
|
40
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { bootstrapAwsRolesAnywhereCommand } from "./bootstrap.js";
|
|
2
|
+
import { getResolvedOptions } from "../../../../cli/resolveOptions.js";
|
|
3
|
+
export function registerAwsRolesAnywhereBootstrap(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("bootstrap")
|
|
6
|
+
.description("Bootstrap AWS RolesAnywhere infrastructure")
|
|
7
|
+
.option("--prod", "Use production environment")
|
|
8
|
+
.option("--dev", "Use development environment")
|
|
9
|
+
.action(async (_opts, command) => {
|
|
10
|
+
const fullOpts = getResolvedOptions(command);
|
|
11
|
+
await bootstrapAwsRolesAnywhereCommand(fullOpts);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { registerAwsRolesAnywhereBootstrap } from "./bootstrap/register.js";
|
|
2
|
+
export function registerAwsRolesAnywhereCommand(program) {
|
|
3
|
+
const aws = program.command("aws").description("AWS related commands");
|
|
4
|
+
const rolesanywhere = aws
|
|
5
|
+
.command("rolesanywhere")
|
|
6
|
+
.description("AWS RolesAnywhere operations");
|
|
7
|
+
registerAwsRolesAnywhereBootstrap(rolesanywhere);
|
|
8
|
+
// registerAwsRolesAnywhereRotate(rolesanywhere);
|
|
9
|
+
// registerAwsRolesAnywhereRollback(rolesanywhere);
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { resolveEnv } from "
|
|
2
|
-
import { resolveHubIntent } from "
|
|
3
|
-
import { dispatchIntentAndWait } from "
|
|
4
|
-
import { showSsoLinkMenu } from "
|
|
1
|
+
import { resolveEnv } from "../../../context/env.js";
|
|
2
|
+
import { resolveHubIntent } from "../../../context/hubIntent.js";
|
|
3
|
+
import { dispatchIntentAndWait } from "../../../core/dispatch.js";
|
|
4
|
+
import { showSsoLinkMenu } from "../../../ui/sso/awsLoginMenu.js";
|
|
5
5
|
function parseAwsLoginResult(buffer) {
|
|
6
6
|
try {
|
|
7
7
|
const json = JSON.parse(buffer.toString("utf8"));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { loginAwsCommand } from "./aws.js";
|
|
2
|
+
import { getResolvedOptions } from "../../../cli/resolveOptions.js";
|
|
3
|
+
export function registerLoginAwsCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("login")
|
|
6
|
+
.description("Login to cloud providers")
|
|
7
|
+
.command("aws")
|
|
8
|
+
.description("Login to AWS")
|
|
9
|
+
.option("--prod", "Use production environment")
|
|
10
|
+
.option("--dev", "Use development environment")
|
|
11
|
+
.action(async (_opts, command) => {
|
|
12
|
+
const fullOpts = getResolvedOptions(command);
|
|
13
|
+
await loginAwsCommand(fullOpts);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getResolvedOptions } from "../../cli/resolveOptions.js";
|
|
1
|
+
import { registerLoginAwsCommand } from "./aws/register.js";
|
|
3
2
|
export function registerLoginCommand(program) {
|
|
4
|
-
program
|
|
5
|
-
.command("login")
|
|
6
|
-
.description("Login to cloud providers")
|
|
7
|
-
.command("aws")
|
|
8
|
-
.description("Login to AWS")
|
|
9
|
-
.option("--prod", "Use production environment")
|
|
10
|
-
.option("--dev", "Use development environment")
|
|
11
|
-
.action(async (_opts, command) => {
|
|
12
|
-
const fullOpts = getResolvedOptions(command);
|
|
13
|
-
await loginAwsCommand(fullOpts);
|
|
14
|
-
});
|
|
3
|
+
registerLoginAwsCommand(program);
|
|
15
4
|
}
|