@geekmidas/cli 1.10.26 → 1.10.27
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/CHANGELOG.md +6 -0
- package/FUNCTION_CRON_SUPPORT.md +2 -2
- package/dist/{fullstack-secrets-C6jD5nlK.mjs → fullstack-secrets-BDE7Sk93.mjs} +7 -3
- package/dist/fullstack-secrets-BDE7Sk93.mjs.map +1 -0
- package/dist/{fullstack-secrets-BsO5GyPi.cjs → fullstack-secrets-CsxU84eN.cjs} +7 -3
- package/dist/fullstack-secrets-CsxU84eN.cjs.map +1 -0
- package/dist/index.cjs +30 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +30 -29
- package/dist/index.mjs.map +1 -1
- package/dist/{reconcile-jfx0dsno.mjs → reconcile-BjWhjfSp.mjs} +2 -2
- package/dist/{reconcile-jfx0dsno.mjs.map → reconcile-BjWhjfSp.mjs.map} +1 -1
- package/dist/{reconcile-BJ_UqFLI.cjs → reconcile-DF8t4HC7.cjs} +2 -2
- package/dist/{reconcile-BJ_UqFLI.cjs.map → reconcile-DF8t4HC7.cjs.map} +1 -1
- package/package.json +3 -3
- package/src/credentials/index.ts +5 -4
- package/src/init/generators/docker.ts +8 -10
- package/src/secrets/__tests__/generator.spec.ts +8 -3
- package/src/secrets/generator.ts +12 -4
- package/src/setup/__tests__/reconcile-secrets.spec.ts +11 -0
- package/src/setup/index.ts +20 -19
- package/dist/fullstack-secrets-BsO5GyPi.cjs.map +0 -1
- package/dist/fullstack-secrets-C6jD5nlK.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { __require } from "./chunk-Duj1WY3L.mjs";
|
|
|
3
3
|
import { getAppBuildOrder, getDependencyEnvVars, getDeployTargetError, isDeployTargetSupported } from "./workspace-D4z4A4cq.mjs";
|
|
4
4
|
import { getAppNameFromCwd, loadAppConfig, loadConfig, loadWorkspaceAppInfo, loadWorkspaceConfig, parseModuleConfig } from "./config-jsRYHOHU.mjs";
|
|
5
5
|
import { getCredentialsPath, getDokployCredentials, getDokployRegistryId, getDokployToken, removeDokployCredentials, storeDokployCredentials, storeDokployRegistryId } from "./credentials-s1kLcIzK.mjs";
|
|
6
|
-
import { createStageSecrets, generateConnectionUrls, generateDbPassword, generateDbUrl, generateFullstackCustomSecrets, generateLocalStackCredentials, generatePgBossUrl, generateSecurePassword, generateServiceCredentials, rotateServicePassword, writeDockerEnvFromSecrets } from "./fullstack-secrets-
|
|
6
|
+
import { createStageSecrets, generateConnectionUrls, generateDbPassword, generateDbUrl, generateFullstackCustomSecrets, generateLocalStackCredentials, generatePgBossUrl, generateSecurePassword, generateServiceCredentials, rotateServicePassword, writeDockerEnvFromSecrets } from "./fullstack-secrets-BDE7Sk93.mjs";
|
|
7
7
|
import { getKeyPath, maskPassword, readStageSecrets, secretsExist, setCustomSecret, toEmbeddableSecrets, writeStageSecrets } from "./storage-dbb9RyBl.mjs";
|
|
8
8
|
import { ConstructGenerator, EndpointGenerator, OPENAPI_OUTPUT_PATH, copyAllClients, copyClientToFrontends, generateOpenApi, getBackendOpenApiPath, isPartitionedRoutes, normalizeRoutes, openapiCommand, resolveOpenApiConfig } from "./openapi-DeG0ffQ8.mjs";
|
|
9
9
|
import { DokployApi } from "./dokploy-api-BIT0683o.mjs";
|
|
@@ -35,7 +35,7 @@ import prompts from "prompts";
|
|
|
35
35
|
|
|
36
36
|
//#region package.json
|
|
37
37
|
var name = "@geekmidas/cli";
|
|
38
|
-
var version = "1.10.
|
|
38
|
+
var version = "1.10.26";
|
|
39
39
|
var description = "CLI tools for building Lambda handlers, server applications, and generating OpenAPI specs";
|
|
40
40
|
var private$1 = false;
|
|
41
41
|
var type = "module";
|
|
@@ -781,10 +781,10 @@ async function prepareEntryCredentials(options) {
|
|
|
781
781
|
const depEnv = getDependencyEnvVars(appInfo.workspace, appInfo.appName);
|
|
782
782
|
Object.assign(credentials, depEnv);
|
|
783
783
|
}
|
|
784
|
-
if (!credentials.EVENT_PUBLISHER_CONNECTION_STRING && !credentials.EVENT_SUBSCRIBER_CONNECTION_STRING && credentials.
|
|
784
|
+
if (!credentials.EVENT_PUBLISHER_CONNECTION_STRING && !credentials.EVENT_SUBSCRIBER_CONNECTION_STRING && credentials.PGBOSS_DB_USER) {
|
|
785
785
|
const pgbossUrl = generatePgBossUrl({
|
|
786
|
-
username: credentials.
|
|
787
|
-
password: credentials.
|
|
786
|
+
username: credentials.PGBOSS_DB_USER,
|
|
787
|
+
password: credentials.PGBOSS_DB_PASSWORD ?? "",
|
|
788
788
|
host: credentials.POSTGRES_HOST ?? "localhost",
|
|
789
789
|
port: Number(credentials.POSTGRES_PORT ?? "5432"),
|
|
790
790
|
database: credentials.POSTGRES_DB ?? "app"
|
|
@@ -7504,7 +7504,7 @@ function generateDockerEnv(apps, eventsBackend) {
|
|
|
7504
7504
|
const envVar = `${app.name.toUpperCase()}_DB_PASSWORD`;
|
|
7505
7505
|
return `${envVar}=${app.password}`;
|
|
7506
7506
|
});
|
|
7507
|
-
|
|
7507
|
+
envVars.push(`PGBOSS_DB_PASSWORD=pgboss-dev-password`);
|
|
7508
7508
|
return `# Auto-generated docker environment file
|
|
7509
7509
|
# Contains database passwords for docker-compose postgres init
|
|
7510
7510
|
# This file is gitignored - do not commit to version control
|
|
@@ -7565,8 +7565,7 @@ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-E
|
|
|
7565
7565
|
EOSQL
|
|
7566
7566
|
`;
|
|
7567
7567
|
});
|
|
7568
|
-
|
|
7569
|
-
if (eventsBackend === "pgboss") pgbossBlock = `
|
|
7568
|
+
const pgbossBlock = `
|
|
7570
7569
|
# Create pgboss user with dedicated schema - idempotent
|
|
7571
7570
|
echo "Creating pgboss user and schema..."
|
|
7572
7571
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
@@ -7602,7 +7601,8 @@ set -e
|
|
|
7602
7601
|
# Auto-generated PostgreSQL init script (idempotent - safe to re-run)
|
|
7603
7602
|
# Creates per-app users with separate schemas in a single database
|
|
7604
7603
|
# - api: uses public schema
|
|
7605
|
-
# - auth: uses auth schema (search_path=auth)
|
|
7604
|
+
# - auth: uses auth schema (search_path=auth)
|
|
7605
|
+
# - pgboss: uses pgboss schema for event processing
|
|
7606
7606
|
${extensions}
|
|
7607
7607
|
${userCreations.join("\n")}${pgbossBlock}
|
|
7608
7608
|
echo "Database initialization complete!"
|
|
@@ -11837,26 +11837,27 @@ function reconcileSecrets(secrets, workspace) {
|
|
|
11837
11837
|
logger$1.log(` 🔄 Adding missing service credentials: ${name$1}`);
|
|
11838
11838
|
changed = true;
|
|
11839
11839
|
}
|
|
11840
|
+
if (result.services.postgres && !result.services.pgboss) {
|
|
11841
|
+
result = {
|
|
11842
|
+
...result,
|
|
11843
|
+
services: {
|
|
11844
|
+
...result.services,
|
|
11845
|
+
pgboss: {
|
|
11846
|
+
host: result.services.postgres.host,
|
|
11847
|
+
port: result.services.postgres.port,
|
|
11848
|
+
username: "pgboss",
|
|
11849
|
+
password: generateSecurePassword(),
|
|
11850
|
+
database: result.services.postgres.database ?? "app"
|
|
11851
|
+
}
|
|
11852
|
+
}
|
|
11853
|
+
};
|
|
11854
|
+
result.urls = generateConnectionUrls(result.services, result.eventsBackend);
|
|
11855
|
+
logger$1.log(" 🔄 Adding missing service credentials: pgboss");
|
|
11856
|
+
changed = true;
|
|
11857
|
+
}
|
|
11840
11858
|
const eventsBackend = workspace.services.events;
|
|
11841
11859
|
if (eventsBackend && result.eventsBackend !== eventsBackend) {
|
|
11842
11860
|
result.eventsBackend = eventsBackend;
|
|
11843
|
-
if (eventsBackend === "pgboss" && !result.services.pgboss) {
|
|
11844
|
-
result = {
|
|
11845
|
-
...result,
|
|
11846
|
-
services: {
|
|
11847
|
-
...result.services,
|
|
11848
|
-
pgboss: {
|
|
11849
|
-
host: result.services.postgres?.host ?? "localhost",
|
|
11850
|
-
port: result.services.postgres?.port ?? 5432,
|
|
11851
|
-
username: "pgboss",
|
|
11852
|
-
password: generateSecurePassword(),
|
|
11853
|
-
database: result.services.postgres?.database ?? "app"
|
|
11854
|
-
}
|
|
11855
|
-
}
|
|
11856
|
-
};
|
|
11857
|
-
logger$1.log(" 🔄 Adding missing service credentials: pgboss");
|
|
11858
|
-
changed = true;
|
|
11859
|
-
}
|
|
11860
11861
|
if (eventsBackend === "sns" && !result.services.localstack) {
|
|
11861
11862
|
result = {
|
|
11862
11863
|
...result,
|
|
@@ -12427,7 +12428,7 @@ program.command("secrets:push").description("Push secrets to remote provider (SS
|
|
|
12427
12428
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12428
12429
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
12429
12430
|
const { pushSecrets: pushSecrets$1 } = await import("./sync-COnAugP-.mjs");
|
|
12430
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
12431
|
+
const { reconcileMissingSecrets } = await import("./reconcile-BjWhjfSp.mjs");
|
|
12431
12432
|
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-Cs4WBsc4.mjs");
|
|
12432
12433
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
12433
12434
|
const secrets = await readStageSecrets$1(options.stage, workspace.root);
|
|
@@ -12453,7 +12454,7 @@ program.command("secrets:pull").description("Pull secrets from remote provider (
|
|
|
12453
12454
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
12454
12455
|
const { pullSecrets: pullSecrets$1 } = await import("./sync-COnAugP-.mjs");
|
|
12455
12456
|
const { writeStageSecrets: writeStageSecrets$1 } = await import("./storage-Cs4WBsc4.mjs");
|
|
12456
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
12457
|
+
const { reconcileMissingSecrets } = await import("./reconcile-BjWhjfSp.mjs");
|
|
12457
12458
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
12458
12459
|
let secrets = await pullSecrets$1(options.stage, workspace);
|
|
12459
12460
|
if (!secrets) {
|
|
@@ -12478,7 +12479,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
|
|
|
12478
12479
|
const globalOptions = program.opts();
|
|
12479
12480
|
if (globalOptions.cwd) process.chdir(globalOptions.cwd);
|
|
12480
12481
|
const { loadWorkspaceConfig: loadWorkspaceConfig$1 } = await import("./config.mjs");
|
|
12481
|
-
const { reconcileMissingSecrets } = await import("./reconcile-
|
|
12482
|
+
const { reconcileMissingSecrets } = await import("./reconcile-BjWhjfSp.mjs");
|
|
12482
12483
|
const { readStageSecrets: readStageSecrets$1, writeStageSecrets: writeStageSecrets$1 } = await import("./storage-Cs4WBsc4.mjs");
|
|
12483
12484
|
const { workspace } = await loadWorkspaceConfig$1();
|
|
12484
12485
|
const secrets = await readStageSecrets$1(options.stage, workspace.root);
|