@platforma-sdk/bootstrap 5.2.51 → 5.2.53
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/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/block.cjs +106 -146
- package/dist/block.cjs.map +1 -1
- package/dist/block.js +100 -125
- package/dist/block.js.map +1 -1
- package/dist/cmd-opts.cjs +87 -177
- package/dist/cmd-opts.cjs.map +1 -1
- package/dist/cmd-opts.js +87 -172
- package/dist/cmd-opts.js.map +1 -1
- package/dist/commands/create-block.cjs +19 -20
- package/dist/commands/create-block.cjs.map +1 -1
- package/dist/commands/create-block.d.ts +12 -7
- package/dist/commands/create-block.js +17 -17
- package/dist/commands/create-block.js.map +1 -1
- package/dist/commands/reset.cjs +18 -21
- package/dist/commands/reset.cjs.map +1 -1
- package/dist/commands/reset.d.ts +12 -7
- package/dist/commands/reset.js +16 -18
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/start/docker/s3.cjs +64 -67
- package/dist/commands/start/docker/s3.cjs.map +1 -1
- package/dist/commands/start/docker/s3.d.ts +32 -27
- package/dist/commands/start/docker/s3.js +61 -64
- package/dist/commands/start/docker/s3.js.map +1 -1
- package/dist/commands/start/docker.cjs +64 -67
- package/dist/commands/start/docker.cjs.map +1 -1
- package/dist/commands/start/docker.d.ts +32 -27
- package/dist/commands/start/docker.js +61 -64
- package/dist/commands/start/docker.js.map +1 -1
- package/dist/commands/start/local/s3.cjs +101 -135
- package/dist/commands/start/local/s3.cjs.map +1 -1
- package/dist/commands/start/local/s3.d.ts +36 -31
- package/dist/commands/start/local/s3.js +97 -113
- package/dist/commands/start/local/s3.js.map +1 -1
- package/dist/commands/start/local.cjs +95 -122
- package/dist/commands/start/local.cjs.map +1 -1
- package/dist/commands/start/local.d.ts +34 -29
- package/dist/commands/start/local.js +91 -100
- package/dist/commands/start/local.js.map +1 -1
- package/dist/commands/start.cjs +18 -21
- package/dist/commands/start.cjs.map +1 -1
- package/dist/commands/start.d.ts +12 -7
- package/dist/commands/start.js +16 -18
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.cjs +22 -27
- package/dist/commands/stop.cjs.map +1 -1
- package/dist/commands/stop.d.ts +12 -7
- package/dist/commands/stop.js +20 -24
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/svc/create/arg-parser.cjs +102 -172
- package/dist/commands/svc/create/arg-parser.cjs.map +1 -1
- package/dist/commands/svc/create/arg-parser.js +102 -171
- package/dist/commands/svc/create/arg-parser.js.map +1 -1
- package/dist/commands/svc/create/docker/s3.cjs +78 -96
- package/dist/commands/svc/create/docker/s3.cjs.map +1 -1
- package/dist/commands/svc/create/docker/s3.d.ts +35 -30
- package/dist/commands/svc/create/docker/s3.js +75 -93
- package/dist/commands/svc/create/docker/s3.js.map +1 -1
- package/dist/commands/svc/create/docker.cjs +82 -103
- package/dist/commands/svc/create/docker.cjs.map +1 -1
- package/dist/commands/svc/create/docker.d.ts +35 -30
- package/dist/commands/svc/create/docker.js +79 -100
- package/dist/commands/svc/create/docker.js.map +1 -1
- package/dist/commands/svc/create/local/s3.cjs +107 -139
- package/dist/commands/svc/create/local/s3.cjs.map +1 -1
- package/dist/commands/svc/create/local/s3.d.ts +39 -34
- package/dist/commands/svc/create/local/s3.js +103 -117
- package/dist/commands/svc/create/local/s3.js.map +1 -1
- package/dist/commands/svc/create/local.cjs +101 -138
- package/dist/commands/svc/create/local.cjs.map +1 -1
- package/dist/commands/svc/create/local.d.ts +37 -32
- package/dist/commands/svc/create/local.js +97 -116
- package/dist/commands/svc/create/local.js.map +1 -1
- package/dist/commands/svc/delete.cjs +36 -38
- package/dist/commands/svc/delete.cjs.map +1 -1
- package/dist/commands/svc/delete.d.ts +16 -11
- package/dist/commands/svc/delete.js +34 -35
- package/dist/commands/svc/delete.js.map +1 -1
- package/dist/commands/svc/down.cjs +27 -30
- package/dist/commands/svc/down.cjs.map +1 -1
- package/dist/commands/svc/down.d.ts +15 -10
- package/dist/commands/svc/down.js +25 -27
- package/dist/commands/svc/down.js.map +1 -1
- package/dist/commands/svc/list.cjs +25 -29
- package/dist/commands/svc/list.cjs.map +1 -1
- package/dist/commands/svc/list.d.ts +9 -5
- package/dist/commands/svc/list.js +23 -26
- package/dist/commands/svc/list.js.map +1 -1
- package/dist/commands/svc/up.cjs +33 -49
- package/dist/commands/svc/up.cjs.map +1 -1
- package/dist/commands/svc/up.d.ts +15 -10
- package/dist/commands/svc/up.js +31 -46
- package/dist/commands/svc/up.js.map +1 -1
- package/dist/core.cjs +712 -881
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +709 -877
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +36 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +37 -33
- package/dist/index.js +35 -34
- package/dist/index.js.map +1 -1
- package/dist/package.cjs +15 -36
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +14 -14
- package/dist/package.js.map +1 -1
- package/dist/platforma.cjs +119 -148
- package/dist/platforma.cjs.map +1 -1
- package/dist/platforma.js +114 -122
- package/dist/platforma.js.map +1 -1
- package/dist/run.cjs +55 -58
- package/dist/run.cjs.map +1 -1
- package/dist/run.js +56 -56
- package/dist/run.js.map +1 -1
- package/dist/state.cjs +114 -141
- package/dist/state.cjs.map +1 -1
- package/dist/state.js +110 -139
- package/dist/state.js.map +1 -1
- package/dist/templates/compose.cjs +38 -65
- package/dist/templates/compose.cjs.map +1 -1
- package/dist/templates/compose.js +35 -63
- package/dist/templates/compose.js.map +1 -1
- package/dist/templates/pl-config.cjs +163 -165
- package/dist/templates/pl-config.cjs.map +1 -1
- package/dist/templates/pl-config.js +161 -163
- package/dist/templates/pl-config.js.map +1 -1
- package/dist/templates/types.cjs +24 -23
- package/dist/templates/types.cjs.map +1 -1
- package/dist/templates/types.js +24 -22
- package/dist/templates/types.js.map +1 -1
- package/dist/util.cjs +57 -74
- package/dist/util.cjs.map +1 -1
- package/dist/util.js +51 -72
- package/dist/util.js.map +1 -1
- package/package.json +7 -7
- package/dist/block.d.ts +0 -25
- package/dist/block.d.ts.map +0 -1
- package/dist/cmd-opts.d.ts +0 -89
- package/dist/cmd-opts.d.ts.map +0 -1
- package/dist/commands/create-block.d.ts.map +0 -1
- package/dist/commands/reset.d.ts.map +0 -1
- package/dist/commands/start/docker/s3.d.ts.map +0 -1
- package/dist/commands/start/docker.d.ts.map +0 -1
- package/dist/commands/start/local/s3.d.ts.map +0 -1
- package/dist/commands/start/local.d.ts.map +0 -1
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/svc/create/arg-parser.d.ts +0 -43
- package/dist/commands/svc/create/arg-parser.d.ts.map +0 -1
- package/dist/commands/svc/create/docker/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/docker.d.ts.map +0 -1
- package/dist/commands/svc/create/local/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/local.d.ts.map +0 -1
- package/dist/commands/svc/delete.d.ts.map +0 -1
- package/dist/commands/svc/down.d.ts.map +0 -1
- package/dist/commands/svc/list.d.ts.map +0 -1
- package/dist/commands/svc/up.d.ts.map +0 -1
- package/dist/core.d.ts +0 -105
- package/dist/core.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/package.d.ts +0 -7
- package/dist/package.d.ts.map +0 -1
- package/dist/platforma.d.ts +0 -24
- package/dist/platforma.d.ts.map +0 -1
- package/dist/run.d.ts +0 -13
- package/dist/run.d.ts.map +0 -1
- package/dist/state.d.ts +0 -63
- package/dist/state.d.ts.map +0 -1
- package/dist/templates/compose.d.ts +0 -14
- package/dist/templates/compose.d.ts.map +0 -1
- package/dist/templates/pl-config.d.ts +0 -6
- package/dist/templates/pl-config.d.ts.map +0 -1
- package/dist/templates/types.d.ts +0 -138
- package/dist/templates/types.d.ts.map +0 -1
- package/dist/util.d.ts +0 -18
- package/dist/util.d.ts.map +0 -1
|
@@ -1,70 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
let node_fs = require("node:fs");
|
|
3
|
+
node_fs = require_runtime.__toESM(node_fs);
|
|
4
|
+
let yaml = require("yaml");
|
|
5
|
+
yaml = require_runtime.__toESM(yaml);
|
|
5
6
|
|
|
7
|
+
//#region src/templates/compose.ts
|
|
6
8
|
function render(composeSource, composeDest, deployName, services, options) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const last = svcSpec.environment.pop();
|
|
38
|
-
// Do not insert back last element we just removed.
|
|
39
|
-
if (last && svcSpec.environment.length !== envSpecI) {
|
|
40
|
-
svcSpec.environment[envSpecI] = last;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
envSpecI++;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
for (const [envName, envValue] of Object.entries(options.envs)) {
|
|
48
|
-
svcSpec.environment.push(`${envName}=${envValue}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (options.mounts) {
|
|
52
|
-
if (!svcSpec.volumes) {
|
|
53
|
-
svcSpec.volumes = [];
|
|
54
|
-
}
|
|
55
|
-
for (const mount of options.mounts) {
|
|
56
|
-
svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (options.commands) {
|
|
60
|
-
svcSpec.command = options.commands;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (options?.dropVolumes) {
|
|
64
|
-
delete compose.volumes;
|
|
65
|
-
}
|
|
66
|
-
fs.writeFileSync(composeDest, YAML.stringify(compose));
|
|
9
|
+
const composeSrcData = node_fs.default.readFileSync(composeSource, { encoding: "utf-8" });
|
|
10
|
+
const compose = yaml.default.parse(composeSrcData.toString());
|
|
11
|
+
if (!compose.services) throw new Error(`file '${composeSource}' seems to be not a docker-compose file or has unsupported version`);
|
|
12
|
+
if (services) {
|
|
13
|
+
for (const svcName of Object.keys(compose.services)) if (!services.has(svcName)) delete compose.services[svcName];
|
|
14
|
+
}
|
|
15
|
+
compose.name = deployName;
|
|
16
|
+
for (const [svcName, options] of services?.entries() ?? []) {
|
|
17
|
+
const svcSpec = compose.services[svcName];
|
|
18
|
+
if (!svcSpec) throw new Error(`docker compose '${composeSource}' has no declaration of service '${svcName}'`);
|
|
19
|
+
if (options.platform) svcSpec.platform = options.platform;
|
|
20
|
+
if (options.envs) {
|
|
21
|
+
if (!svcSpec.environment) svcSpec.environment = [];
|
|
22
|
+
for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0);) {
|
|
23
|
+
const envName = svcSpec.environment[envSpecI].split("=")[0];
|
|
24
|
+
if (options.envs[envName]) {
|
|
25
|
+
const last = svcSpec.environment.pop();
|
|
26
|
+
if (last && svcSpec.environment.length !== envSpecI) svcSpec.environment[envSpecI] = last;
|
|
27
|
+
} else envSpecI++;
|
|
28
|
+
}
|
|
29
|
+
for (const [envName, envValue] of Object.entries(options.envs)) svcSpec.environment.push(`${envName}=${envValue}`);
|
|
30
|
+
}
|
|
31
|
+
if (options.mounts) {
|
|
32
|
+
if (!svcSpec.volumes) svcSpec.volumes = [];
|
|
33
|
+
for (const mount of options.mounts) svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);
|
|
34
|
+
}
|
|
35
|
+
if (options.commands) svcSpec.command = options.commands;
|
|
36
|
+
}
|
|
37
|
+
if (options?.dropVolumes) delete compose.volumes;
|
|
38
|
+
node_fs.default.writeFileSync(composeDest, yaml.default.stringify(compose));
|
|
67
39
|
}
|
|
68
40
|
|
|
41
|
+
//#endregion
|
|
69
42
|
exports.render = render;
|
|
70
|
-
//# sourceMappingURL=compose.cjs.map
|
|
43
|
+
//# sourceMappingURL=compose.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.cjs","sources":["../../src/templates/compose.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport YAML from \"yaml\";\n\nexport type VolumeMountOption = {\n hostPath: string;\n containerPath: string;\n};\n\nexport type ServiceOptions = {\n platform?: string;\n envs?: NodeJS.ProcessEnv;\n mounts?: VolumeMountOption[];\n commands?: string[];\n};\n\ntype ComposeYamlSpec = {\n name: string;\n services: Record<\n string,\n {\n platform?: string;\n environment?: string[];\n volumes?: string[];\n command?: string[];\n }\n >;\n\n volumes?: unknown;\n};\n\nexport function render(\n composeSource: string,\n composeDest: string,\n deployName: string,\n services?: Map<string, ServiceOptions>,\n options?: {\n dropVolumes: boolean;\n },\n) {\n const composeSrcData = fs.readFileSync(composeSource, { encoding: \"utf-8\" });\n const compose = YAML.parse(composeSrcData.toString()) as ComposeYamlSpec;\n\n if (!compose.services) {\n throw new Error(\n `file '${composeSource}' seems to be not a docker-compose file or has unsupported version`,\n );\n }\n\n if (services) {\n for (const svcName of Object.keys(compose.services)) {\n if (!services.has(svcName)) {\n delete compose.services[svcName];\n }\n }\n }\n\n compose.name = deployName;\n\n for (const [svcName, options] of services?.entries() ?? []) {\n const svcSpec = compose.services[svcName];\n\n if (!svcSpec) {\n throw new Error(\n `docker compose '${composeSource}' has no declaration of service '${svcName}'`,\n );\n }\n\n if (options.platform) {\n svcSpec.platform = options.platform;\n }\n\n if (options.envs) {\n if (!svcSpec.environment) {\n svcSpec.environment = [];\n }\n for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0); ) {\n const envSpec: string = svcSpec.environment[envSpecI];\n const envName = envSpec.split(\"=\")[0];\n if (options.envs[envName]) {\n // Drop env expression from list as we will replace it later by our custom configuration\n const last = svcSpec.environment.pop();\n\n // Do not insert back last element we just removed.\n if (last && svcSpec.environment.length !== envSpecI) {\n svcSpec.environment[envSpecI] = last;\n }\n } else {\n envSpecI++;\n }\n }\n\n for (const [envName, envValue] of Object.entries(options.envs)) {\n svcSpec.environment.push(`${envName}=${envValue}`);\n }\n }\n\n if (options.mounts) {\n if (!svcSpec.volumes) {\n svcSpec.volumes = [];\n }\n for (const mount of options.mounts) {\n svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);\n }\n }\n\n if (options.commands) {\n svcSpec.command = options.commands;\n }\n }\n\n if (options?.dropVolumes) {\n delete compose.volumes;\n }\n\n fs.writeFileSync(composeDest, YAML.stringify(compose));\n}\n"],"
|
|
1
|
+
{"version":3,"file":"compose.cjs","names":["fs","YAML"],"sources":["../../src/templates/compose.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport YAML from \"yaml\";\n\nexport type VolumeMountOption = {\n hostPath: string;\n containerPath: string;\n};\n\nexport type ServiceOptions = {\n platform?: string;\n envs?: NodeJS.ProcessEnv;\n mounts?: VolumeMountOption[];\n commands?: string[];\n};\n\ntype ComposeYamlSpec = {\n name: string;\n services: Record<\n string,\n {\n platform?: string;\n environment?: string[];\n volumes?: string[];\n command?: string[];\n }\n >;\n\n volumes?: unknown;\n};\n\nexport function render(\n composeSource: string,\n composeDest: string,\n deployName: string,\n services?: Map<string, ServiceOptions>,\n options?: {\n dropVolumes: boolean;\n },\n) {\n const composeSrcData = fs.readFileSync(composeSource, { encoding: \"utf-8\" });\n const compose = YAML.parse(composeSrcData.toString()) as ComposeYamlSpec;\n\n if (!compose.services) {\n throw new Error(\n `file '${composeSource}' seems to be not a docker-compose file or has unsupported version`,\n );\n }\n\n if (services) {\n for (const svcName of Object.keys(compose.services)) {\n if (!services.has(svcName)) {\n delete compose.services[svcName];\n }\n }\n }\n\n compose.name = deployName;\n\n for (const [svcName, options] of services?.entries() ?? []) {\n const svcSpec = compose.services[svcName];\n\n if (!svcSpec) {\n throw new Error(\n `docker compose '${composeSource}' has no declaration of service '${svcName}'`,\n );\n }\n\n if (options.platform) {\n svcSpec.platform = options.platform;\n }\n\n if (options.envs) {\n if (!svcSpec.environment) {\n svcSpec.environment = [];\n }\n for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0); ) {\n const envSpec: string = svcSpec.environment[envSpecI];\n const envName = envSpec.split(\"=\")[0];\n if (options.envs[envName]) {\n // Drop env expression from list as we will replace it later by our custom configuration\n const last = svcSpec.environment.pop();\n\n // Do not insert back last element we just removed.\n if (last && svcSpec.environment.length !== envSpecI) {\n svcSpec.environment[envSpecI] = last;\n }\n } else {\n envSpecI++;\n }\n }\n\n for (const [envName, envValue] of Object.entries(options.envs)) {\n svcSpec.environment.push(`${envName}=${envValue}`);\n }\n }\n\n if (options.mounts) {\n if (!svcSpec.volumes) {\n svcSpec.volumes = [];\n }\n for (const mount of options.mounts) {\n svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);\n }\n }\n\n if (options.commands) {\n svcSpec.command = options.commands;\n }\n }\n\n if (options?.dropVolumes) {\n delete compose.volumes;\n }\n\n fs.writeFileSync(composeDest, YAML.stringify(compose));\n}\n"],"mappings":";;;;;;;AA8BA,SAAgB,OACd,eACA,aACA,YACA,UACA,SAGA;CACA,MAAM,iBAAiBA,gBAAG,aAAa,eAAe,EAAE,UAAU,SAAS,CAAC;CAC5E,MAAM,UAAUC,aAAK,MAAM,eAAe,UAAU,CAAC;AAErD,KAAI,CAAC,QAAQ,SACX,OAAM,IAAI,MACR,SAAS,cAAc,oEACxB;AAGH,KAAI,UACF;OAAK,MAAM,WAAW,OAAO,KAAK,QAAQ,SAAS,CACjD,KAAI,CAAC,SAAS,IAAI,QAAQ,CACxB,QAAO,QAAQ,SAAS;;AAK9B,SAAQ,OAAO;AAEf,MAAK,MAAM,CAAC,SAAS,YAAY,UAAU,SAAS,IAAI,EAAE,EAAE;EAC1D,MAAM,UAAU,QAAQ,SAAS;AAEjC,MAAI,CAAC,QACH,OAAM,IAAI,MACR,mBAAmB,cAAc,mCAAmC,QAAQ,GAC7E;AAGH,MAAI,QAAQ,SACV,SAAQ,WAAW,QAAQ;AAG7B,MAAI,QAAQ,MAAM;AAChB,OAAI,CAAC,QAAQ,YACX,SAAQ,cAAc,EAAE;AAE1B,QAAK,IAAI,WAAW,GAAG,YAAY,SAAS,YAAY,UAAU,KAAM;IAEtE,MAAM,UADkB,QAAQ,YAAY,UACpB,MAAM,IAAI,CAAC;AACnC,QAAI,QAAQ,KAAK,UAAU;KAEzB,MAAM,OAAO,QAAQ,YAAY,KAAK;AAGtC,SAAI,QAAQ,QAAQ,YAAY,WAAW,SACzC,SAAQ,YAAY,YAAY;UAGlC;;AAIJ,QAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,QAAQ,KAAK,CAC5D,SAAQ,YAAY,KAAK,GAAG,QAAQ,GAAG,WAAW;;AAItD,MAAI,QAAQ,QAAQ;AAClB,OAAI,CAAC,QAAQ,QACX,SAAQ,UAAU,EAAE;AAEtB,QAAK,MAAM,SAAS,QAAQ,OAC1B,SAAQ,QAAQ,KAAK,GAAG,MAAM,SAAS,GAAG,MAAM,gBAAgB;;AAIpE,MAAI,QAAQ,SACV,SAAQ,UAAU,QAAQ;;AAI9B,KAAI,SAAS,YACX,QAAO,QAAQ;AAGjB,iBAAG,cAAc,aAAaA,aAAK,UAAU,QAAQ,CAAC"}
|
|
@@ -1,68 +1,40 @@
|
|
|
1
|
-
import
|
|
2
|
-
import YAML from
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import YAML from "yaml";
|
|
3
3
|
|
|
4
|
+
//#region src/templates/compose.ts
|
|
4
5
|
function render(composeSource, composeDest, deployName, services, options) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const last = svcSpec.environment.pop();
|
|
36
|
-
// Do not insert back last element we just removed.
|
|
37
|
-
if (last && svcSpec.environment.length !== envSpecI) {
|
|
38
|
-
svcSpec.environment[envSpecI] = last;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
envSpecI++;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
for (const [envName, envValue] of Object.entries(options.envs)) {
|
|
46
|
-
svcSpec.environment.push(`${envName}=${envValue}`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
if (options.mounts) {
|
|
50
|
-
if (!svcSpec.volumes) {
|
|
51
|
-
svcSpec.volumes = [];
|
|
52
|
-
}
|
|
53
|
-
for (const mount of options.mounts) {
|
|
54
|
-
svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (options.commands) {
|
|
58
|
-
svcSpec.command = options.commands;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (options?.dropVolumes) {
|
|
62
|
-
delete compose.volumes;
|
|
63
|
-
}
|
|
64
|
-
fs__default.writeFileSync(composeDest, YAML.stringify(compose));
|
|
6
|
+
const composeSrcData = fs.readFileSync(composeSource, { encoding: "utf-8" });
|
|
7
|
+
const compose = YAML.parse(composeSrcData.toString());
|
|
8
|
+
if (!compose.services) throw new Error(`file '${composeSource}' seems to be not a docker-compose file or has unsupported version`);
|
|
9
|
+
if (services) {
|
|
10
|
+
for (const svcName of Object.keys(compose.services)) if (!services.has(svcName)) delete compose.services[svcName];
|
|
11
|
+
}
|
|
12
|
+
compose.name = deployName;
|
|
13
|
+
for (const [svcName, options] of services?.entries() ?? []) {
|
|
14
|
+
const svcSpec = compose.services[svcName];
|
|
15
|
+
if (!svcSpec) throw new Error(`docker compose '${composeSource}' has no declaration of service '${svcName}'`);
|
|
16
|
+
if (options.platform) svcSpec.platform = options.platform;
|
|
17
|
+
if (options.envs) {
|
|
18
|
+
if (!svcSpec.environment) svcSpec.environment = [];
|
|
19
|
+
for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0);) {
|
|
20
|
+
const envName = svcSpec.environment[envSpecI].split("=")[0];
|
|
21
|
+
if (options.envs[envName]) {
|
|
22
|
+
const last = svcSpec.environment.pop();
|
|
23
|
+
if (last && svcSpec.environment.length !== envSpecI) svcSpec.environment[envSpecI] = last;
|
|
24
|
+
} else envSpecI++;
|
|
25
|
+
}
|
|
26
|
+
for (const [envName, envValue] of Object.entries(options.envs)) svcSpec.environment.push(`${envName}=${envValue}`);
|
|
27
|
+
}
|
|
28
|
+
if (options.mounts) {
|
|
29
|
+
if (!svcSpec.volumes) svcSpec.volumes = [];
|
|
30
|
+
for (const mount of options.mounts) svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);
|
|
31
|
+
}
|
|
32
|
+
if (options.commands) svcSpec.command = options.commands;
|
|
33
|
+
}
|
|
34
|
+
if (options?.dropVolumes) delete compose.volumes;
|
|
35
|
+
fs.writeFileSync(composeDest, YAML.stringify(compose));
|
|
65
36
|
}
|
|
66
37
|
|
|
38
|
+
//#endregion
|
|
67
39
|
export { render };
|
|
68
|
-
//# sourceMappingURL=compose.js.map
|
|
40
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sources":["../../src/templates/compose.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport YAML from \"yaml\";\n\nexport type VolumeMountOption = {\n hostPath: string;\n containerPath: string;\n};\n\nexport type ServiceOptions = {\n platform?: string;\n envs?: NodeJS.ProcessEnv;\n mounts?: VolumeMountOption[];\n commands?: string[];\n};\n\ntype ComposeYamlSpec = {\n name: string;\n services: Record<\n string,\n {\n platform?: string;\n environment?: string[];\n volumes?: string[];\n command?: string[];\n }\n >;\n\n volumes?: unknown;\n};\n\nexport function render(\n composeSource: string,\n composeDest: string,\n deployName: string,\n services?: Map<string, ServiceOptions>,\n options?: {\n dropVolumes: boolean;\n },\n) {\n const composeSrcData = fs.readFileSync(composeSource, { encoding: \"utf-8\" });\n const compose = YAML.parse(composeSrcData.toString()) as ComposeYamlSpec;\n\n if (!compose.services) {\n throw new Error(\n `file '${composeSource}' seems to be not a docker-compose file or has unsupported version`,\n );\n }\n\n if (services) {\n for (const svcName of Object.keys(compose.services)) {\n if (!services.has(svcName)) {\n delete compose.services[svcName];\n }\n }\n }\n\n compose.name = deployName;\n\n for (const [svcName, options] of services?.entries() ?? []) {\n const svcSpec = compose.services[svcName];\n\n if (!svcSpec) {\n throw new Error(\n `docker compose '${composeSource}' has no declaration of service '${svcName}'`,\n );\n }\n\n if (options.platform) {\n svcSpec.platform = options.platform;\n }\n\n if (options.envs) {\n if (!svcSpec.environment) {\n svcSpec.environment = [];\n }\n for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0); ) {\n const envSpec: string = svcSpec.environment[envSpecI];\n const envName = envSpec.split(\"=\")[0];\n if (options.envs[envName]) {\n // Drop env expression from list as we will replace it later by our custom configuration\n const last = svcSpec.environment.pop();\n\n // Do not insert back last element we just removed.\n if (last && svcSpec.environment.length !== envSpecI) {\n svcSpec.environment[envSpecI] = last;\n }\n } else {\n envSpecI++;\n }\n }\n\n for (const [envName, envValue] of Object.entries(options.envs)) {\n svcSpec.environment.push(`${envName}=${envValue}`);\n }\n }\n\n if (options.mounts) {\n if (!svcSpec.volumes) {\n svcSpec.volumes = [];\n }\n for (const mount of options.mounts) {\n svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);\n }\n }\n\n if (options.commands) {\n svcSpec.command = options.commands;\n }\n }\n\n if (options?.dropVolumes) {\n delete compose.volumes;\n }\n\n fs.writeFileSync(composeDest, YAML.stringify(compose));\n}\n"],"
|
|
1
|
+
{"version":3,"file":"compose.js","names":[],"sources":["../../src/templates/compose.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport YAML from \"yaml\";\n\nexport type VolumeMountOption = {\n hostPath: string;\n containerPath: string;\n};\n\nexport type ServiceOptions = {\n platform?: string;\n envs?: NodeJS.ProcessEnv;\n mounts?: VolumeMountOption[];\n commands?: string[];\n};\n\ntype ComposeYamlSpec = {\n name: string;\n services: Record<\n string,\n {\n platform?: string;\n environment?: string[];\n volumes?: string[];\n command?: string[];\n }\n >;\n\n volumes?: unknown;\n};\n\nexport function render(\n composeSource: string,\n composeDest: string,\n deployName: string,\n services?: Map<string, ServiceOptions>,\n options?: {\n dropVolumes: boolean;\n },\n) {\n const composeSrcData = fs.readFileSync(composeSource, { encoding: \"utf-8\" });\n const compose = YAML.parse(composeSrcData.toString()) as ComposeYamlSpec;\n\n if (!compose.services) {\n throw new Error(\n `file '${composeSource}' seems to be not a docker-compose file or has unsupported version`,\n );\n }\n\n if (services) {\n for (const svcName of Object.keys(compose.services)) {\n if (!services.has(svcName)) {\n delete compose.services[svcName];\n }\n }\n }\n\n compose.name = deployName;\n\n for (const [svcName, options] of services?.entries() ?? []) {\n const svcSpec = compose.services[svcName];\n\n if (!svcSpec) {\n throw new Error(\n `docker compose '${composeSource}' has no declaration of service '${svcName}'`,\n );\n }\n\n if (options.platform) {\n svcSpec.platform = options.platform;\n }\n\n if (options.envs) {\n if (!svcSpec.environment) {\n svcSpec.environment = [];\n }\n for (let envSpecI = 0; envSpecI < (svcSpec?.environment.length ?? 0); ) {\n const envSpec: string = svcSpec.environment[envSpecI];\n const envName = envSpec.split(\"=\")[0];\n if (options.envs[envName]) {\n // Drop env expression from list as we will replace it later by our custom configuration\n const last = svcSpec.environment.pop();\n\n // Do not insert back last element we just removed.\n if (last && svcSpec.environment.length !== envSpecI) {\n svcSpec.environment[envSpecI] = last;\n }\n } else {\n envSpecI++;\n }\n }\n\n for (const [envName, envValue] of Object.entries(options.envs)) {\n svcSpec.environment.push(`${envName}=${envValue}`);\n }\n }\n\n if (options.mounts) {\n if (!svcSpec.volumes) {\n svcSpec.volumes = [];\n }\n for (const mount of options.mounts) {\n svcSpec.volumes.push(`${mount.hostPath}:${mount.containerPath}`);\n }\n }\n\n if (options.commands) {\n svcSpec.command = options.commands;\n }\n }\n\n if (options?.dropVolumes) {\n delete compose.volumes;\n }\n\n fs.writeFileSync(composeDest, YAML.stringify(compose));\n}\n"],"mappings":";;;;AA8BA,SAAgB,OACd,eACA,aACA,YACA,UACA,SAGA;CACA,MAAM,iBAAiB,GAAG,aAAa,eAAe,EAAE,UAAU,SAAS,CAAC;CAC5E,MAAM,UAAU,KAAK,MAAM,eAAe,UAAU,CAAC;AAErD,KAAI,CAAC,QAAQ,SACX,OAAM,IAAI,MACR,SAAS,cAAc,oEACxB;AAGH,KAAI,UACF;OAAK,MAAM,WAAW,OAAO,KAAK,QAAQ,SAAS,CACjD,KAAI,CAAC,SAAS,IAAI,QAAQ,CACxB,QAAO,QAAQ,SAAS;;AAK9B,SAAQ,OAAO;AAEf,MAAK,MAAM,CAAC,SAAS,YAAY,UAAU,SAAS,IAAI,EAAE,EAAE;EAC1D,MAAM,UAAU,QAAQ,SAAS;AAEjC,MAAI,CAAC,QACH,OAAM,IAAI,MACR,mBAAmB,cAAc,mCAAmC,QAAQ,GAC7E;AAGH,MAAI,QAAQ,SACV,SAAQ,WAAW,QAAQ;AAG7B,MAAI,QAAQ,MAAM;AAChB,OAAI,CAAC,QAAQ,YACX,SAAQ,cAAc,EAAE;AAE1B,QAAK,IAAI,WAAW,GAAG,YAAY,SAAS,YAAY,UAAU,KAAM;IAEtE,MAAM,UADkB,QAAQ,YAAY,UACpB,MAAM,IAAI,CAAC;AACnC,QAAI,QAAQ,KAAK,UAAU;KAEzB,MAAM,OAAO,QAAQ,YAAY,KAAK;AAGtC,SAAI,QAAQ,QAAQ,YAAY,WAAW,SACzC,SAAQ,YAAY,YAAY;UAGlC;;AAIJ,QAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,QAAQ,KAAK,CAC5D,SAAQ,YAAY,KAAK,GAAG,QAAQ,GAAG,WAAW;;AAItD,MAAI,QAAQ,QAAQ;AAClB,OAAI,CAAC,QAAQ,QACX,SAAQ,UAAU,EAAE;AAEtB,QAAK,MAAM,SAAS,QAAQ,OAC1B,SAAQ,QAAQ,KAAK,GAAG,MAAM,SAAS,GAAG,MAAM,gBAAgB;;AAIpE,MAAI,QAAQ,SACV,SAAQ,UAAU,QAAQ;;AAI9B,KAAI,SAAS,YACX,QAAO,QAAQ;AAGjB,IAAG,cAAc,aAAa,KAAK,UAAU,QAAQ,CAAC"}
|
|
@@ -1,177 +1,174 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_util = require('../util.cjs');
|
|
3
|
+
const require_state = require('../state.cjs');
|
|
4
|
+
const require_types = require('./types.cjs');
|
|
5
|
+
let node_fs = require("node:fs");
|
|
6
|
+
node_fs = require_runtime.__toESM(node_fs);
|
|
7
7
|
|
|
8
|
+
//#region src/templates/pl-config.ts
|
|
8
9
|
function storageSettingsFromURL(storageURL, baseDir, defaults) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
throw new Error(`storage protocol '${url.protocol}' is not supported`);
|
|
61
|
-
}
|
|
10
|
+
storageURL = require_util.resolveTilde(storageURL);
|
|
11
|
+
const url = new URL(storageURL, `file:${baseDir}`);
|
|
12
|
+
switch (url.protocol) {
|
|
13
|
+
case "s3:": {
|
|
14
|
+
const bucketName = url.hostname;
|
|
15
|
+
const region = url.searchParams.get("region");
|
|
16
|
+
const keyPrefix = url.pathname.slice(1);
|
|
17
|
+
return {
|
|
18
|
+
...defaults,
|
|
19
|
+
type: "S3",
|
|
20
|
+
bucketName,
|
|
21
|
+
region,
|
|
22
|
+
keyPrefix
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
case "s3e:": {
|
|
26
|
+
const p = url.pathname.split("/").slice(1);
|
|
27
|
+
const bucketName = p[0];
|
|
28
|
+
const keyPrefix = p.length > 1 ? p.slice(1).join("/") : "";
|
|
29
|
+
return {
|
|
30
|
+
...defaults,
|
|
31
|
+
type: "S3",
|
|
32
|
+
endpoint: `http://${url.host}/`,
|
|
33
|
+
bucketName,
|
|
34
|
+
keyPrefix,
|
|
35
|
+
region: url.searchParams.get("region"),
|
|
36
|
+
key: url.username ? `static:${url.username}` : "",
|
|
37
|
+
secret: url.password ? `static:${url.password}` : ""
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
case "s3es:": {
|
|
41
|
+
const p = url.pathname.split("/").slice(1);
|
|
42
|
+
const bucketName = p[0];
|
|
43
|
+
const keyPrefix = p.length > 1 ? p.slice(1).join("/") : "";
|
|
44
|
+
return {
|
|
45
|
+
...defaults,
|
|
46
|
+
type: "S3",
|
|
47
|
+
endpoint: `https://${url.host}/`,
|
|
48
|
+
bucketName,
|
|
49
|
+
keyPrefix,
|
|
50
|
+
region: url.searchParams.get("region"),
|
|
51
|
+
key: url.username ? `static:${url.username}` : "",
|
|
52
|
+
secret: url.password ? `static:${url.password}` : ""
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
case "file:": return {
|
|
56
|
+
type: "FS",
|
|
57
|
+
rootPath: url.pathname
|
|
58
|
+
};
|
|
59
|
+
default: throw new Error(`storage protocol '${url.protocol}' is not supported`);
|
|
60
|
+
}
|
|
62
61
|
}
|
|
63
62
|
function loadDefaults(jwtKey, options) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
63
|
+
const localRoot = options?.localRoot ?? require_state.default.instanceDir("default");
|
|
64
|
+
const log = {
|
|
65
|
+
level: options?.log?.level ?? "info",
|
|
66
|
+
path: options?.log?.path ?? `${localRoot}/logs/platforma.log`
|
|
67
|
+
};
|
|
68
|
+
const grpc = {
|
|
69
|
+
listen: options?.grpc?.listen ?? "localhost:6345",
|
|
70
|
+
tls: {
|
|
71
|
+
enable: defaultBool(options?.grpc?.tls?.enable, false),
|
|
72
|
+
clientAuthMode: options?.grpc?.tls?.clientAuthMode ?? "NoAuth",
|
|
73
|
+
certFile: options?.grpc?.tls?.certFile ?? `${localRoot}/certs/tls.cert`,
|
|
74
|
+
keyFile: options?.grpc?.tls?.keyFile ?? `${localRoot}/certs/tls.key`,
|
|
75
|
+
...options?.grpc?.tls
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const core = {
|
|
79
|
+
auth: {
|
|
80
|
+
enabled: options?.core?.auth?.enabled ?? false,
|
|
81
|
+
drivers: options?.core?.auth?.drivers ?? [{
|
|
82
|
+
driver: "jwt",
|
|
83
|
+
key: jwtKey
|
|
84
|
+
}, {
|
|
85
|
+
driver: "htpasswd",
|
|
86
|
+
path: `${localRoot}/users.htpasswd`
|
|
87
|
+
}]
|
|
88
|
+
},
|
|
89
|
+
db: { path: `${localRoot}/db` }
|
|
90
|
+
};
|
|
91
|
+
const primary = defaultStorageSettings("main", `${localRoot}/storages/main`, "platforma-primary-bucket", options?.storages?.primary);
|
|
92
|
+
let work;
|
|
93
|
+
switch (options?.storages?.work?.type) {
|
|
94
|
+
case void 0:
|
|
95
|
+
case "FS":
|
|
96
|
+
work = require_types.emptyFSSettings("work");
|
|
97
|
+
work.rootPath = options?.storages?.work?.rootPath ?? `${localRoot}/storages/work`;
|
|
98
|
+
work.indexCachePeriod = options?.storages?.work?.indexCachePeriod ?? "1m";
|
|
99
|
+
break;
|
|
100
|
+
default: throw new Error("work storage MUST have 'FS' type as it is used for working directories management");
|
|
101
|
+
}
|
|
102
|
+
const library = defaultStorageSettings("library", `${localRoot}/storages/library`, "platforma-library-bucket", options?.storages?.library);
|
|
103
|
+
const monitoring = {
|
|
104
|
+
enabled: defaultBool(options?.monitoring?.enabled, true),
|
|
105
|
+
listen: options?.monitoring?.listen ?? "127.0.0.1:9090"
|
|
106
|
+
};
|
|
107
|
+
const debug = {
|
|
108
|
+
enabled: defaultBool(options?.debug?.enabled, true),
|
|
109
|
+
listen: options?.debug?.listen ?? "127.0.0.1:9091"
|
|
110
|
+
};
|
|
111
|
+
return {
|
|
112
|
+
localRoot,
|
|
113
|
+
license: {
|
|
114
|
+
value: options?.license?.value ?? "",
|
|
115
|
+
file: options?.license?.file ?? ""
|
|
116
|
+
},
|
|
117
|
+
log,
|
|
118
|
+
grpc,
|
|
119
|
+
core,
|
|
120
|
+
monitoring,
|
|
121
|
+
debug,
|
|
122
|
+
numCpu: options?.numCpu,
|
|
123
|
+
storages: {
|
|
124
|
+
primary,
|
|
125
|
+
work,
|
|
126
|
+
library
|
|
127
|
+
},
|
|
128
|
+
hacks: { libraryDownloadable: true }
|
|
129
|
+
};
|
|
129
130
|
}
|
|
130
131
|
function defaultStorageSettings(storageID, defaultLocation, defaultBucket, options) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
132
|
+
let storage;
|
|
133
|
+
const pType = options?.type;
|
|
134
|
+
switch (pType) {
|
|
135
|
+
case void 0:
|
|
136
|
+
case "FS":
|
|
137
|
+
storage = require_types.emptyFSSettings(storageID);
|
|
138
|
+
storage.rootPath = options?.rootPath ?? defaultLocation;
|
|
139
|
+
break;
|
|
140
|
+
case "S3":
|
|
141
|
+
storage = require_types.emptyS3Settings(storageID);
|
|
142
|
+
storage.endpoint = options?.endpoint;
|
|
143
|
+
storage.region = options?.region;
|
|
144
|
+
storage.presignEndpoint = options?.presignEndpoint ?? options?.endpoint;
|
|
145
|
+
storage.bucketName = options?.bucketName ?? defaultBucket;
|
|
146
|
+
storage.createBucket = defaultBool(options?.createBucket, true);
|
|
147
|
+
storage.forcePathStyle = defaultBool(options?.forcePathStyle, true);
|
|
148
|
+
storage.key = options?.key ?? "";
|
|
149
|
+
storage.secret = options?.secret ?? "";
|
|
150
|
+
storage.keyPrefix = options?.keyPrefix ?? "";
|
|
151
|
+
storage.accessPrefixes = options?.accessPrefixes ?? [""];
|
|
152
|
+
storage.uploadKeyPrefix = options?.uploadKeyPrefix ?? "";
|
|
153
|
+
break;
|
|
154
|
+
default:
|
|
155
|
+
require_util.assertNever(pType);
|
|
156
|
+
throw new Error("unknown storage type");
|
|
157
|
+
}
|
|
158
|
+
return storage;
|
|
158
159
|
}
|
|
159
160
|
function render(options) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
let cpuLimit = "";
|
|
168
|
-
if (options.numCpu) {
|
|
169
|
-
cpuLimit = `
|
|
161
|
+
const disableMon = options.monitoring.enabled ? "" : " disabled";
|
|
162
|
+
const disableDbg = options.debug.enabled ? "" : " disabled";
|
|
163
|
+
const libraryDownloadable = options.hacks.libraryDownloadable ? "true" : "false";
|
|
164
|
+
let miLicenseSecret = options.license.value;
|
|
165
|
+
if (options.license.file != "") miLicenseSecret = node_fs.default.readFileSync(options.license.file).toString().trimEnd();
|
|
166
|
+
let cpuLimit = "";
|
|
167
|
+
if (options.numCpu) cpuLimit = `
|
|
170
168
|
resources:
|
|
171
169
|
cpu: ${options.numCpu}
|
|
172
170
|
`;
|
|
173
|
-
|
|
174
|
-
return `
|
|
171
|
+
return `
|
|
175
172
|
license:
|
|
176
173
|
value: '${options.license.value}'
|
|
177
174
|
file: '${options.license.file}'
|
|
@@ -255,10 +252,11 @@ ${cpuLimit}
|
|
|
255
252
|
`;
|
|
256
253
|
}
|
|
257
254
|
function defaultBool(v, def) {
|
|
258
|
-
|
|
255
|
+
return v === void 0 ? def : v;
|
|
259
256
|
}
|
|
260
257
|
|
|
258
|
+
//#endregion
|
|
261
259
|
exports.loadDefaults = loadDefaults;
|
|
262
260
|
exports.render = render;
|
|
263
261
|
exports.storageSettingsFromURL = storageSettingsFromURL;
|
|
264
|
-
//# sourceMappingURL=pl-config.cjs.map
|
|
262
|
+
//# sourceMappingURL=pl-config.cjs.map
|