google-labs-jules[bot] 752bfcf03e Refactor infra/setup/cli.ts into smaller command and prompt modules
Decomposes the monolith `infra/setup/cli.ts` into clean `infra/setup/prompts/` and `infra/setup/commands/` directories while adhering to Cliffy idiomatic modularity. Validated via `deno check`, tests, and format.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 04:37:41 +00:00

67 lines
1.7 KiB
TypeScript

import { Command } from "jsr:@cliffy/command@1.0.0-rc.7";
import * as colors from "jsr:@std/fmt@0.225.2/colors";
import {
AuthSetupConfig,
COMPOSE_PATH,
DEFAULT_AUTH_CONFIG,
ENV_PATH,
readEnv,
SPIRE_COMPOSE_PATH,
SPIRE_ENV_PATH,
} from "../env.ts";
export const secretsCommand = new Command()
.description("Inspect secrets status and persistence paths")
.action(async () => {
const loadedEnv = await readEnv();
const currentConfig: AuthSetupConfig = {
...DEFAULT_AUTH_CONFIG,
...loadedEnv,
};
console.log(
colors.bold(
colors.blue(
"\n=== Auth-Yes Secrets & Persistence Topology ===\n",
),
),
);
console.log(
`${
colors.cyan("Database Persistence Path:")
} ${currentConfig.dbDataPath}`,
);
console.log(
`${
colors.cyan("SPIRE Persistence Path:")
} ${currentConfig.spireDataPath}`,
);
console.log(
`${
colors.cyan("Local Artifact Files:")
} ${ENV_PATH}, ${SPIRE_ENV_PATH}, ${COMPOSE_PATH}, ${SPIRE_COMPOSE_PATH}`,
);
console.log(
`${colors.cyan("PostgreSQL Password:")} ${
currentConfig.dbPassword
? colors.green(
"✓ Configured (len: " + currentConfig.dbPassword.length + ")",
)
: colors.red("✗ Missing")
}`,
);
console.log(
`${colors.cyan("Application Secret:")} ${
currentConfig.appSecret
? colors.green(
"✓ Configured (len: " + currentConfig.appSecret.length + ")",
)
: colors.red("✗ Missing")
}`,
);
console.log(
colors.gray(
"\nTip: To dump raw environment variables, run: deno task setup dump_env\n",
),
);
});