@oktis-works/cms 0.2.1 → 0.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/assets.d.ts +23 -6
- package/dist/assets.d.ts.map +1 -1
- package/dist/assets.js +262 -87
- package/dist/assets.js.map +1 -1
- package/dist/bluegreen.d.ts.map +1 -1
- package/dist/bluegreen.js +75 -52
- package/dist/bluegreen.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +238 -142
- package/dist/commands.js.map +1 -1
- package/dist/config-wizard.js +34 -36
- package/dist/config-wizard.js.map +1 -1
- package/dist/deploy-target.d.ts +20 -0
- package/dist/deploy-target.d.ts.map +1 -0
- package/dist/deploy-target.js +90 -0
- package/dist/deploy-target.js.map +1 -0
- package/dist/deploy.d.ts +7 -7
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +123 -273
- package/dist/deploy.js.map +1 -1
- package/dist/docker.d.ts +16 -0
- package/dist/docker.d.ts.map +1 -1
- package/dist/docker.js +25 -0
- package/dist/docker.js.map +1 -1
- package/dist/doctor.js +12 -12
- package/dist/doctor.js.map +1 -1
- package/dist/env-file.js +1 -1
- package/dist/env-file.js.map +1 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +64 -64
- package/dist/env-schema.js.map +1 -1
- package/dist/extension-scaffold.js +5 -5
- package/dist/extension-scaffold.js.map +1 -1
- package/dist/guards.js +8 -8
- package/dist/guards.js.map +1 -1
- package/dist/history.js +1 -1
- package/dist/installer.js +9 -9
- package/dist/installer.js.map +1 -1
- package/dist/npm-registry.js +1 -1
- package/dist/npm-registry.js.map +1 -1
- package/dist/pm2.d.ts +18 -0
- package/dist/pm2.d.ts.map +1 -0
- package/dist/pm2.js +179 -0
- package/dist/pm2.js.map +1 -0
- package/dist/project-config.js +1 -1
- package/dist/project-config.js.map +1 -1
- package/dist/prompt.d.ts +27 -4
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +254 -29
- package/dist/prompt.js.map +1 -1
- package/dist/redeploy.d.ts +6 -1
- package/dist/redeploy.d.ts.map +1 -1
- package/dist/redeploy.js +137 -74
- package/dist/redeploy.js.map +1 -1
- package/dist/rollback.js +21 -21
- package/dist/rollback.js.map +1 -1
- package/dist/scaffold-docs.d.ts.map +1 -1
- package/dist/scaffold-docs.js +44 -19
- package/dist/scaffold-docs.js.map +1 -1
- package/dist/scaffold.d.ts +3 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +25 -16
- package/dist/scaffold.js.map +1 -1
- package/dist/simple.d.ts +31 -0
- package/dist/simple.d.ts.map +1 -0
- package/dist/simple.js +200 -0
- package/dist/simple.js.map +1 -0
- package/dist/start.js +1 -1
- package/dist/theme-build.js +3 -3
- package/dist/theme-build.js.map +1 -1
- package/dist/update.d.ts +22 -15
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +163 -81
- package/dist/update.js.map +1 -1
- package/package.json +7 -7
package/dist/doctor.js
CHANGED
|
@@ -78,7 +78,7 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
78
78
|
let dbDetail;
|
|
79
79
|
if (dbUrl && !parsedUrl) {
|
|
80
80
|
dbOk = false;
|
|
81
|
-
dbDetail = 'DATABASE_URL
|
|
81
|
+
dbDetail = 'Invalid DATABASE_URL (expected postgres://user:pass@host:5432/db)';
|
|
82
82
|
}
|
|
83
83
|
else if (parsedUrl) {
|
|
84
84
|
dbOk = true;
|
|
@@ -90,7 +90,7 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
92
|
dbOk = false;
|
|
93
|
-
dbDetail = '
|
|
93
|
+
dbDetail = 'not configured — use DATABASE_URL or DB_HOST/DB_PORT/DB_NAME/DB_USER';
|
|
94
94
|
}
|
|
95
95
|
results.push({ name: 'database', ok: dbOk, detail: dbDetail, required: true });
|
|
96
96
|
// TCP do banco (opcional — ambiente pode estar fora)
|
|
@@ -101,7 +101,7 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
101
101
|
results.push({
|
|
102
102
|
name: 'db-tcp',
|
|
103
103
|
ok: reachable,
|
|
104
|
-
detail: reachable ? `${host}:${port}
|
|
104
|
+
detail: reachable ? `${host}:${port} reachable` : `${host}:${port} unreachable`,
|
|
105
105
|
required: false,
|
|
106
106
|
});
|
|
107
107
|
}
|
|
@@ -128,8 +128,8 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
128
128
|
name: 'docker',
|
|
129
129
|
ok: dockerOk,
|
|
130
130
|
detail: dockerOk
|
|
131
|
-
? 'daemon
|
|
132
|
-
: '
|
|
131
|
+
? 'daemon reachable'
|
|
132
|
+
: 'missing or stopped — only affects `okcms update --mode deploy`',
|
|
133
133
|
required: false,
|
|
134
134
|
});
|
|
135
135
|
const compose = docker.composeAvailable(runner);
|
|
@@ -138,7 +138,7 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
138
138
|
ok: compose.ok,
|
|
139
139
|
detail: compose.ok
|
|
140
140
|
? `plugin v2 (${compose.version || 'ok'})`
|
|
141
|
-
: 'plugin v2
|
|
141
|
+
: 'plugin v2 missing — `docker compose version` failed (legacy v1 not supported)',
|
|
142
142
|
required: false,
|
|
143
143
|
});
|
|
144
144
|
// Lane ativa: o estado salvo em .deploy/state.json, senão quem está no ar.
|
|
@@ -147,10 +147,10 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
147
147
|
name: 'lane',
|
|
148
148
|
ok: dockerOk,
|
|
149
149
|
detail: !dockerOk
|
|
150
|
-
? 'docker
|
|
150
|
+
? 'docker unavailable'
|
|
151
151
|
: lane
|
|
152
|
-
? `lane ${lane}
|
|
153
|
-
: '
|
|
152
|
+
? `lane ${lane} active (rollback: ${docker.otherLane(lane)})`
|
|
153
|
+
: 'no lane running — first deploy',
|
|
154
154
|
required: false,
|
|
155
155
|
});
|
|
156
156
|
const proxy = dockerOk && docker.proxyRunning(runner);
|
|
@@ -158,10 +158,10 @@ export async function runDoctorChecks(opts = {}) {
|
|
|
158
158
|
name: 'proxy',
|
|
159
159
|
ok: proxy || lane === null,
|
|
160
160
|
detail: proxy
|
|
161
|
-
? 'okcms-proxy
|
|
161
|
+
? 'okcms-proxy running'
|
|
162
162
|
: lane === null
|
|
163
|
-
? '
|
|
164
|
-
: 'okcms-proxy
|
|
163
|
+
? 'not deployed to Docker yet (local use does not need it)'
|
|
164
|
+
: 'okcms-proxy stopped with an active lane — site unreachable',
|
|
165
165
|
required: false,
|
|
166
166
|
});
|
|
167
167
|
return results;
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/env-file.js
CHANGED
|
@@ -168,7 +168,7 @@ export class EnvFile {
|
|
|
168
168
|
}
|
|
169
169
|
save(path = this.path, mode = 0o600) {
|
|
170
170
|
if (!path)
|
|
171
|
-
throw new Error('EnvFile.save:
|
|
171
|
+
throw new Error('EnvFile.save: no path');
|
|
172
172
|
mkdirSync(dirname(path), { recursive: true });
|
|
173
173
|
writeFileSync(path, `${this.toString()}\n`, 'utf-8');
|
|
174
174
|
// .env carrega senha de banco e JWT_SECRET: dono só é o padrão aceitável
|
package/dist/env-file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../src/env-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../src/env-file.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,eAAe;AAEf,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,SAAS,GAAG,wEAAwE,CAAC;AAE3F;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7C,oEAAoE;gBACpE,yEAAyE;gBACzE,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;oBAAE,KAAK,EAAE,CAAC;gBACrF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,gDAAgD;AAChD,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,MAAM,OAAO,OAAO;IAClB,KAAK,CAAY;IACR,IAAI,CAAgB;IAE7B,YAAY,IAAI,GAAG,EAAE,EAAE,OAAsB,IAAI;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,sEAAsE;QACtE,kBAAkB;IACpB,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI,EAAE,KAAK;YAAE,OAAO,SAAS,CAAC;QACnC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,sEAAsE;IACtE,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,QAAQ;QACN,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CACrD,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACjF,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;YAC7F,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;YACpB,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,GAAG,GAAG,IAAI,UAAU,EAAE;YAC3B,GAAG;YACH,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,GAAW;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,YAAY,CAAC,GAAW,EAAE,KAAa,EAAE,WAAmB;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,SAAS;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAY;YACrB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,GAAG,GAAG,IAAI,UAAU,EAAE;YAC3B,GAAG;YACH,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,QAAQ,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;;YACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK;QACjC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACpD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,yEAAyE;QACzE,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;CACF;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAExC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAA4D,CAAC;IAChG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/env-schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-schema.d.ts","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,OAAO,GACf,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,KAAK,GACL,cAAc,GACd,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IACnD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,EAAE,UAAU,EAWpC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"env-schema.d.ts","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,OAAO,GACf,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,KAAK,GACL,cAAc,GACd,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IACnD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,EAAE,UAAU,EAWpC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,QAAQ,EAmZhC,CAAC;AASF,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0D3E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAI9F;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAErE"}
|
package/dist/env-schema.js
CHANGED
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
// aqui também (o teste de catálogo cobre esse vínculo).
|
|
11
11
|
import { parseDatabaseUrl } from './doctor.js';
|
|
12
12
|
export const ENV_SECTIONS = [
|
|
13
|
-
{ id: 'app', title: '
|
|
14
|
-
{ id: 'database', title: '
|
|
15
|
-
{ id: 'redis', title: 'Redis', hint: 'cache
|
|
16
|
-
{ id: 'auth', title: '
|
|
17
|
-
{ id: 'storage', title: 'Storage', hint: 'local, s3, r2
|
|
18
|
-
{ id: 'worker', title: 'Worker', hint: '
|
|
19
|
-
{ id: 'cache', title: 'Cache', hint: 'TTL
|
|
20
|
-
{ id: 'ports', title: '
|
|
21
|
-
{ id: 'theme', title: '
|
|
22
|
-
{ id: 'deploy', title: 'Deploy (Docker)', hint: '
|
|
13
|
+
{ id: 'app', title: 'Application', hint: 'NODE_ENV, ports and rate limit' },
|
|
14
|
+
{ id: 'database', title: 'Database', hint: 'Postgres via DB_* or DATABASE_URL' },
|
|
15
|
+
{ id: 'redis', title: 'Redis', hint: 'cache and worker queues' },
|
|
16
|
+
{ id: 'auth', title: 'Authentication', hint: 'JWT, cookies and CSRF' },
|
|
17
|
+
{ id: 'storage', title: 'Storage', hint: 'local, s3, r2 or minio' },
|
|
18
|
+
{ id: 'worker', title: 'Worker', hint: 'queue concurrency and retries' },
|
|
19
|
+
{ id: 'cache', title: 'Cache', hint: 'TTL and key prefix' },
|
|
20
|
+
{ id: 'ports', title: 'App ports', hint: 'admin and web' },
|
|
21
|
+
{ id: 'theme', title: 'Theme', hint: 'active site theme' },
|
|
22
|
+
{ id: 'deploy', title: 'Deploy (Docker)', hint: 'blue/green image and proxy host' },
|
|
23
23
|
];
|
|
24
24
|
export const ENV_FIELDS = [
|
|
25
25
|
// -- Aplicação ------------------------------------------------------------
|
|
@@ -36,7 +36,7 @@ export const ENV_FIELDS = [
|
|
|
36
36
|
key: 'HOST',
|
|
37
37
|
section: 'app',
|
|
38
38
|
label: 'HOST',
|
|
39
|
-
description: '
|
|
39
|
+
description: 'API bind interface',
|
|
40
40
|
type: 'string',
|
|
41
41
|
default: '0.0.0.0',
|
|
42
42
|
example: '0.0.0.0',
|
|
@@ -45,7 +45,7 @@ export const ENV_FIELDS = [
|
|
|
45
45
|
key: 'PORT',
|
|
46
46
|
section: 'app',
|
|
47
47
|
label: 'PORT',
|
|
48
|
-
description: '
|
|
48
|
+
description: 'API port',
|
|
49
49
|
type: 'port',
|
|
50
50
|
default: '3000',
|
|
51
51
|
},
|
|
@@ -53,7 +53,7 @@ export const ENV_FIELDS = [
|
|
|
53
53
|
key: 'CORS_ORIGINS',
|
|
54
54
|
section: 'app',
|
|
55
55
|
label: 'CORS_ORIGINS',
|
|
56
|
-
description: '
|
|
56
|
+
description: 'Allowed origins (comma-separated)',
|
|
57
57
|
type: 'string',
|
|
58
58
|
default: 'http://localhost:4321',
|
|
59
59
|
example: 'https://meusite.com,https://admin.meusite.com',
|
|
@@ -62,7 +62,7 @@ export const ENV_FIELDS = [
|
|
|
62
62
|
key: 'RATE_LIMIT_WINDOW_MS',
|
|
63
63
|
section: 'app',
|
|
64
64
|
label: 'RATE_LIMIT_WINDOW_MS',
|
|
65
|
-
description: '
|
|
65
|
+
description: 'Rate limit window in milliseconds',
|
|
66
66
|
type: 'number',
|
|
67
67
|
default: '60000',
|
|
68
68
|
},
|
|
@@ -70,7 +70,7 @@ export const ENV_FIELDS = [
|
|
|
70
70
|
key: 'RATE_LIMIT_MAX',
|
|
71
71
|
section: 'app',
|
|
72
72
|
label: 'RATE_LIMIT_MAX',
|
|
73
|
-
description: '
|
|
73
|
+
description: 'Max requests per window',
|
|
74
74
|
type: 'number',
|
|
75
75
|
default: '100',
|
|
76
76
|
},
|
|
@@ -79,7 +79,7 @@ export const ENV_FIELDS = [
|
|
|
79
79
|
key: 'DB_HOST',
|
|
80
80
|
section: 'database',
|
|
81
81
|
label: 'DB_HOST',
|
|
82
|
-
description: '
|
|
82
|
+
description: 'Ignored when DATABASE_URL is set',
|
|
83
83
|
type: 'string',
|
|
84
84
|
default: 'localhost',
|
|
85
85
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -88,7 +88,7 @@ export const ENV_FIELDS = [
|
|
|
88
88
|
key: 'DB_PORT',
|
|
89
89
|
section: 'database',
|
|
90
90
|
label: 'DB_PORT',
|
|
91
|
-
description: '
|
|
91
|
+
description: 'Postgres port',
|
|
92
92
|
type: 'port',
|
|
93
93
|
default: '5432',
|
|
94
94
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -97,7 +97,7 @@ export const ENV_FIELDS = [
|
|
|
97
97
|
key: 'DB_NAME',
|
|
98
98
|
section: 'database',
|
|
99
99
|
label: 'DB_NAME',
|
|
100
|
-
description: '
|
|
100
|
+
description: 'Database name',
|
|
101
101
|
type: 'string',
|
|
102
102
|
default: 'okcms',
|
|
103
103
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -106,7 +106,7 @@ export const ENV_FIELDS = [
|
|
|
106
106
|
key: 'DB_USER',
|
|
107
107
|
section: 'database',
|
|
108
108
|
label: 'DB_USER',
|
|
109
|
-
description: '
|
|
109
|
+
description: 'Database user',
|
|
110
110
|
type: 'string',
|
|
111
111
|
default: 'postgres',
|
|
112
112
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -115,7 +115,7 @@ export const ENV_FIELDS = [
|
|
|
115
115
|
key: 'DB_PASSWORD',
|
|
116
116
|
section: 'database',
|
|
117
117
|
label: 'DB_PASSWORD',
|
|
118
|
-
description: '
|
|
118
|
+
description: 'Database password',
|
|
119
119
|
type: 'secret',
|
|
120
120
|
required: true,
|
|
121
121
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -124,7 +124,7 @@ export const ENV_FIELDS = [
|
|
|
124
124
|
key: 'DB_SSL',
|
|
125
125
|
section: 'database',
|
|
126
126
|
label: 'DB_SSL',
|
|
127
|
-
description: 'TLS
|
|
127
|
+
description: 'TLS for Postgres (true on managed providers)',
|
|
128
128
|
type: 'boolean',
|
|
129
129
|
default: 'false',
|
|
130
130
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -133,7 +133,7 @@ export const ENV_FIELDS = [
|
|
|
133
133
|
key: 'DB_MAX_CONNECTIONS',
|
|
134
134
|
section: 'database',
|
|
135
135
|
label: 'DB_MAX_CONNECTIONS',
|
|
136
|
-
description: '
|
|
136
|
+
description: 'Max connection pool size',
|
|
137
137
|
type: 'number',
|
|
138
138
|
default: '20',
|
|
139
139
|
when: (r) => !r['DATABASE_URL'],
|
|
@@ -142,16 +142,16 @@ export const ENV_FIELDS = [
|
|
|
142
142
|
key: 'DATABASE_URL',
|
|
143
143
|
section: 'database',
|
|
144
144
|
label: 'DATABASE_URL',
|
|
145
|
-
description: '
|
|
145
|
+
description: 'Single URL — overrides DB_* (postgres://user:pass@host:5432/db)',
|
|
146
146
|
type: 'database-url',
|
|
147
|
-
example: 'postgresql://postgres:
|
|
147
|
+
example: 'postgresql://postgres:pass@localhost:5432/okcms',
|
|
148
148
|
},
|
|
149
149
|
// -- Redis ----------------------------------------------------------------
|
|
150
150
|
{
|
|
151
151
|
key: 'REDIS_HOST',
|
|
152
152
|
section: 'redis',
|
|
153
153
|
label: 'REDIS_HOST',
|
|
154
|
-
description: 'use "disabled"
|
|
154
|
+
description: 'use "disabled" to run without Redis (in-memory)',
|
|
155
155
|
type: 'string',
|
|
156
156
|
default: 'localhost',
|
|
157
157
|
},
|
|
@@ -159,7 +159,7 @@ export const ENV_FIELDS = [
|
|
|
159
159
|
key: 'REDIS_PORT',
|
|
160
160
|
section: 'redis',
|
|
161
161
|
label: 'REDIS_PORT',
|
|
162
|
-
description: '
|
|
162
|
+
description: 'Redis port',
|
|
163
163
|
type: 'port',
|
|
164
164
|
default: '6379',
|
|
165
165
|
},
|
|
@@ -167,14 +167,14 @@ export const ENV_FIELDS = [
|
|
|
167
167
|
key: 'REDIS_PASSWORD',
|
|
168
168
|
section: 'redis',
|
|
169
169
|
label: 'REDIS_PASSWORD',
|
|
170
|
-
description: '
|
|
170
|
+
description: 'Redis password (empty if none)',
|
|
171
171
|
type: 'secret',
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
174
|
key: 'REDIS_DB',
|
|
175
175
|
section: 'redis',
|
|
176
176
|
label: 'REDIS_DB',
|
|
177
|
-
description: '
|
|
177
|
+
description: 'Redis database index',
|
|
178
178
|
type: 'number',
|
|
179
179
|
default: '0',
|
|
180
180
|
},
|
|
@@ -183,7 +183,7 @@ export const ENV_FIELDS = [
|
|
|
183
183
|
key: 'JWT_SECRET',
|
|
184
184
|
section: 'auth',
|
|
185
185
|
label: 'JWT_SECRET',
|
|
186
|
-
description: '
|
|
186
|
+
description: 'Token signing secret — min 16 characters',
|
|
187
187
|
type: 'secret',
|
|
188
188
|
required: true,
|
|
189
189
|
},
|
|
@@ -191,7 +191,7 @@ export const ENV_FIELDS = [
|
|
|
191
191
|
key: 'JWT_EXPIRES_IN',
|
|
192
192
|
section: 'auth',
|
|
193
193
|
label: 'JWT_EXPIRES_IN',
|
|
194
|
-
description: '
|
|
194
|
+
description: 'Access token lifetime',
|
|
195
195
|
type: 'duration',
|
|
196
196
|
default: '15m',
|
|
197
197
|
example: '15m, 2h, 7d',
|
|
@@ -200,7 +200,7 @@ export const ENV_FIELDS = [
|
|
|
200
200
|
key: 'REFRESH_TOKEN_EXPIRES_IN',
|
|
201
201
|
section: 'auth',
|
|
202
202
|
label: 'REFRESH_TOKEN_EXPIRES_IN',
|
|
203
|
-
description: '
|
|
203
|
+
description: 'Refresh token lifetime',
|
|
204
204
|
type: 'duration',
|
|
205
205
|
default: '7d',
|
|
206
206
|
example: '1d, 30d',
|
|
@@ -209,7 +209,7 @@ export const ENV_FIELDS = [
|
|
|
209
209
|
key: 'BCRYPT_ROUNDS',
|
|
210
210
|
section: 'auth',
|
|
211
211
|
label: 'BCRYPT_ROUNDS',
|
|
212
|
-
description: '
|
|
212
|
+
description: 'Password hash cost (10..15)',
|
|
213
213
|
type: 'number',
|
|
214
214
|
default: '12',
|
|
215
215
|
},
|
|
@@ -217,7 +217,7 @@ export const ENV_FIELDS = [
|
|
|
217
217
|
key: 'AUTH_COOKIE_SAMESITE',
|
|
218
218
|
section: 'auth',
|
|
219
219
|
label: 'AUTH_COOKIE_SAMESITE',
|
|
220
|
-
description: 'strict | lax | none (none
|
|
220
|
+
description: 'strict | lax | none (none requires secure=true)',
|
|
221
221
|
type: 'enum',
|
|
222
222
|
options: ['strict', 'lax', 'none'],
|
|
223
223
|
default: 'lax',
|
|
@@ -226,7 +226,7 @@ export const ENV_FIELDS = [
|
|
|
226
226
|
key: 'AUTH_COOKIE_SECURE',
|
|
227
227
|
section: 'auth',
|
|
228
228
|
label: 'AUTH_COOKIE_SECURE',
|
|
229
|
-
description: 'true
|
|
229
|
+
description: 'true behind TLS',
|
|
230
230
|
type: 'boolean',
|
|
231
231
|
default: 'false',
|
|
232
232
|
},
|
|
@@ -234,7 +234,7 @@ export const ENV_FIELDS = [
|
|
|
234
234
|
key: 'AUTH_CSRF_ENABLED',
|
|
235
235
|
section: 'auth',
|
|
236
236
|
label: 'AUTH_CSRF_ENABLED',
|
|
237
|
-
description: '
|
|
237
|
+
description: 'CSRF double-submit protection',
|
|
238
238
|
type: 'boolean',
|
|
239
239
|
default: 'true',
|
|
240
240
|
},
|
|
@@ -243,7 +243,7 @@ export const ENV_FIELDS = [
|
|
|
243
243
|
key: 'STORAGE_DRIVER',
|
|
244
244
|
section: 'storage',
|
|
245
245
|
label: 'STORAGE_DRIVER',
|
|
246
|
-
description: '
|
|
246
|
+
description: 'Where media is stored',
|
|
247
247
|
type: 'enum',
|
|
248
248
|
options: ['local', 's3', 'r2', 'minio'],
|
|
249
249
|
default: 'local',
|
|
@@ -252,7 +252,7 @@ export const ENV_FIELDS = [
|
|
|
252
252
|
key: 'STORAGE_LOCAL_PATH',
|
|
253
253
|
section: 'storage',
|
|
254
254
|
label: 'STORAGE_LOCAL_PATH',
|
|
255
|
-
description: '
|
|
255
|
+
description: 'Local media folder (driver=local) — mount as a Docker volume',
|
|
256
256
|
type: 'path',
|
|
257
257
|
default: '.data/storage',
|
|
258
258
|
when: (r) => (r['STORAGE_DRIVER'] ?? 'local') === 'local',
|
|
@@ -261,7 +261,7 @@ export const ENV_FIELDS = [
|
|
|
261
261
|
key: 'STORAGE_PUBLIC_BASE',
|
|
262
262
|
section: 'storage',
|
|
263
263
|
label: 'STORAGE_PUBLIC_BASE',
|
|
264
|
-
description: '
|
|
264
|
+
description: 'Public prefix for media URLs',
|
|
265
265
|
type: 'path',
|
|
266
266
|
default: '/storage',
|
|
267
267
|
when: (r) => (r['STORAGE_DRIVER'] ?? 'local') === 'local',
|
|
@@ -278,7 +278,7 @@ export const ENV_FIELDS = [
|
|
|
278
278
|
key: 'STORAGE_ENDPOINT',
|
|
279
279
|
section: 'storage',
|
|
280
280
|
label: 'STORAGE_ENDPOINT',
|
|
281
|
-
description: '
|
|
281
|
+
description: 'S3-compatible endpoint',
|
|
282
282
|
type: 'url',
|
|
283
283
|
example: 'http://localhost:9000',
|
|
284
284
|
when: (r) => (r['STORAGE_DRIVER'] ?? 'local') !== 'local',
|
|
@@ -287,7 +287,7 @@ export const ENV_FIELDS = [
|
|
|
287
287
|
key: 'STORAGE_ACCESS_KEY',
|
|
288
288
|
section: 'storage',
|
|
289
289
|
label: 'STORAGE_ACCESS_KEY',
|
|
290
|
-
description: '
|
|
290
|
+
description: 'Object access key',
|
|
291
291
|
type: 'secret',
|
|
292
292
|
when: (r) => (r['STORAGE_DRIVER'] ?? 'local') !== 'local',
|
|
293
293
|
},
|
|
@@ -295,7 +295,7 @@ export const ENV_FIELDS = [
|
|
|
295
295
|
key: 'STORAGE_SECRET_KEY',
|
|
296
296
|
section: 'storage',
|
|
297
297
|
label: 'STORAGE_SECRET_KEY',
|
|
298
|
-
description: '
|
|
298
|
+
description: 'Object secret key',
|
|
299
299
|
type: 'secret',
|
|
300
300
|
when: (r) => (r['STORAGE_DRIVER'] ?? 'local') !== 'local',
|
|
301
301
|
},
|
|
@@ -313,7 +313,7 @@ export const ENV_FIELDS = [
|
|
|
313
313
|
key: 'WORKER_COUNT',
|
|
314
314
|
section: 'worker',
|
|
315
315
|
label: 'WORKER_COUNT',
|
|
316
|
-
description: '
|
|
316
|
+
description: 'Number of worker processes',
|
|
317
317
|
type: 'number',
|
|
318
318
|
default: '1',
|
|
319
319
|
},
|
|
@@ -321,7 +321,7 @@ export const ENV_FIELDS = [
|
|
|
321
321
|
key: 'WORKER_CONCURRENCY',
|
|
322
322
|
section: 'worker',
|
|
323
323
|
label: 'WORKER_CONCURRENCY',
|
|
324
|
-
description: '
|
|
324
|
+
description: 'Concurrent jobs per process',
|
|
325
325
|
type: 'number',
|
|
326
326
|
default: '5',
|
|
327
327
|
},
|
|
@@ -329,7 +329,7 @@ export const ENV_FIELDS = [
|
|
|
329
329
|
key: 'WORKER_RETRY_ATTEMPTS',
|
|
330
330
|
section: 'worker',
|
|
331
331
|
label: 'WORKER_RETRY_ATTEMPTS',
|
|
332
|
-
description: '
|
|
332
|
+
description: 'Retry attempts per job',
|
|
333
333
|
type: 'number',
|
|
334
334
|
default: '3',
|
|
335
335
|
},
|
|
@@ -337,7 +337,7 @@ export const ENV_FIELDS = [
|
|
|
337
337
|
key: 'WORKER_RETRY_DELAY',
|
|
338
338
|
section: 'worker',
|
|
339
339
|
label: 'WORKER_RETRY_DELAY',
|
|
340
|
-
description: 'Delay
|
|
340
|
+
description: 'Delay between attempts (ms)',
|
|
341
341
|
type: 'number',
|
|
342
342
|
default: '1000',
|
|
343
343
|
},
|
|
@@ -346,7 +346,7 @@ export const ENV_FIELDS = [
|
|
|
346
346
|
key: 'CACHE_TTL',
|
|
347
347
|
section: 'cache',
|
|
348
348
|
label: 'CACHE_TTL',
|
|
349
|
-
description: '
|
|
349
|
+
description: 'Default cache TTL (s)',
|
|
350
350
|
type: 'number',
|
|
351
351
|
default: '3600',
|
|
352
352
|
},
|
|
@@ -354,7 +354,7 @@ export const ENV_FIELDS = [
|
|
|
354
354
|
key: 'CACHE_PREFIX',
|
|
355
355
|
section: 'cache',
|
|
356
356
|
label: 'CACHE_PREFIX',
|
|
357
|
-
description: '
|
|
357
|
+
description: 'Key prefix in Redis',
|
|
358
358
|
type: 'string',
|
|
359
359
|
default: 'bl:',
|
|
360
360
|
},
|
|
@@ -366,7 +366,7 @@ export const ENV_FIELDS = [
|
|
|
366
366
|
key: 'ADMIN_PORT',
|
|
367
367
|
section: 'ports',
|
|
368
368
|
label: 'ADMIN_PORT',
|
|
369
|
-
description: '
|
|
369
|
+
description: 'Admin port',
|
|
370
370
|
type: 'port',
|
|
371
371
|
default: '3011',
|
|
372
372
|
},
|
|
@@ -374,7 +374,7 @@ export const ENV_FIELDS = [
|
|
|
374
374
|
key: 'WEB_PORT',
|
|
375
375
|
section: 'ports',
|
|
376
376
|
label: 'WEB_PORT',
|
|
377
|
-
description: '
|
|
377
|
+
description: 'Public site port',
|
|
378
378
|
type: 'port',
|
|
379
379
|
default: '3001',
|
|
380
380
|
},
|
|
@@ -383,7 +383,7 @@ export const ENV_FIELDS = [
|
|
|
383
383
|
key: 'ACTIVE_THEME',
|
|
384
384
|
section: 'theme',
|
|
385
385
|
label: 'ACTIVE_THEME',
|
|
386
|
-
description: '
|
|
386
|
+
description: 'Folder name in themes/ (empty = default theme)',
|
|
387
387
|
type: 'string',
|
|
388
388
|
example: 'default',
|
|
389
389
|
},
|
|
@@ -392,7 +392,7 @@ export const ENV_FIELDS = [
|
|
|
392
392
|
key: 'OKCMS_VERSION',
|
|
393
393
|
section: 'deploy',
|
|
394
394
|
label: 'OKCMS_VERSION',
|
|
395
|
-
description: '
|
|
395
|
+
description: 'okcms/app image tag used by the blue/green deploy compose',
|
|
396
396
|
type: 'string',
|
|
397
397
|
default: 'latest',
|
|
398
398
|
example: '0.2.0',
|
|
@@ -401,7 +401,7 @@ export const ENV_FIELDS = [
|
|
|
401
401
|
key: 'SERVER_NAME',
|
|
402
402
|
section: 'deploy',
|
|
403
403
|
label: 'SERVER_NAME',
|
|
404
|
-
description: 'server_name
|
|
404
|
+
description: 'nginx server_name (public site)',
|
|
405
405
|
type: 'string',
|
|
406
406
|
default: '_',
|
|
407
407
|
example: 'meusite.com',
|
|
@@ -410,7 +410,7 @@ export const ENV_FIELDS = [
|
|
|
410
410
|
key: 'ADMIN_SERVER_NAME',
|
|
411
411
|
section: 'deploy',
|
|
412
412
|
label: 'ADMIN_SERVER_NAME',
|
|
413
|
-
description: 'server_name
|
|
413
|
+
description: 'admin server_name on the proxy (must be a separate host)',
|
|
414
414
|
type: 'string',
|
|
415
415
|
default: 'admin.localhost',
|
|
416
416
|
example: 'admin.meusite.com',
|
|
@@ -426,60 +426,60 @@ export function validateField(field, value) {
|
|
|
426
426
|
const trimmed = value.trim();
|
|
427
427
|
if (trimmed === '') {
|
|
428
428
|
if (field.required)
|
|
429
|
-
return `${field.key}
|
|
429
|
+
return `${field.key} is required`;
|
|
430
430
|
return null;
|
|
431
431
|
}
|
|
432
432
|
switch (field.type) {
|
|
433
433
|
case 'port': {
|
|
434
434
|
if (!PORT_RE.test(trimmed))
|
|
435
|
-
return '
|
|
435
|
+
return 'must be a port number';
|
|
436
436
|
const port = Number(trimmed);
|
|
437
437
|
if (port < 1 || port > 65535)
|
|
438
|
-
return '
|
|
438
|
+
return 'out of range 1..65535';
|
|
439
439
|
return null;
|
|
440
440
|
}
|
|
441
441
|
case 'number': {
|
|
442
442
|
if (!/^-?\d+$/.test(trimmed))
|
|
443
|
-
return '
|
|
443
|
+
return 'must be an integer';
|
|
444
444
|
return null;
|
|
445
445
|
}
|
|
446
446
|
case 'boolean': {
|
|
447
447
|
if (!['true', 'false', '1', '0'].includes(trimmed.toLowerCase())) {
|
|
448
|
-
return 'use true
|
|
448
|
+
return 'use true or false';
|
|
449
449
|
}
|
|
450
450
|
return null;
|
|
451
451
|
}
|
|
452
452
|
case 'enum': {
|
|
453
453
|
const options = field.options ?? [];
|
|
454
454
|
if (!options.includes(trimmed))
|
|
455
|
-
return `use
|
|
455
|
+
return `use one of: ${options.join(' | ')}`;
|
|
456
456
|
return null;
|
|
457
457
|
}
|
|
458
458
|
case 'duration': {
|
|
459
459
|
if (!DURATION_RE.test(trimmed))
|
|
460
|
-
return 'use
|
|
460
|
+
return 'use a format like 15m, 2h or 7d';
|
|
461
461
|
return null;
|
|
462
462
|
}
|
|
463
463
|
case 'url': {
|
|
464
464
|
try {
|
|
465
465
|
const parsed = new URL(trimmed);
|
|
466
466
|
if (!['http:', 'https:'].includes(parsed.protocol))
|
|
467
|
-
return 'use http://
|
|
467
|
+
return 'use http:// or https://';
|
|
468
468
|
return null;
|
|
469
469
|
}
|
|
470
470
|
catch {
|
|
471
|
-
return 'URL
|
|
471
|
+
return 'invalid URL';
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
474
|
case 'database-url': {
|
|
475
475
|
if (!parseDatabaseUrl(trimmed)) {
|
|
476
|
-
return 'use postgres://
|
|
476
|
+
return 'use postgres:// or mysql:// with host and database (e.g. postgres://user:pass@host:5432/okcms)';
|
|
477
477
|
}
|
|
478
478
|
return null;
|
|
479
479
|
}
|
|
480
480
|
case 'secret': {
|
|
481
481
|
if (field.key === 'JWT_SECRET' && trimmed.length < 16) {
|
|
482
|
-
return 'JWT_SECRET
|
|
482
|
+
return 'JWT_SECRET must be at least 16 characters';
|
|
483
483
|
}
|
|
484
484
|
return null;
|
|
485
485
|
}
|