@git.zone/cli 3.2.0 → 4.0.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_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/classes.gitzoneconfig.js +1 -1
- package/dist_ts/classes.project.js +1 -1
- package/dist_ts/gitzone.cli.js +1 -1
- package/dist_ts/gitzone.logging.js +1 -1
- package/dist_ts/helpers.changelog.js +1 -1
- package/dist_ts/helpers.climode.js +1 -1
- package/dist_ts/helpers.smartconfig.js +61 -11
- package/dist_ts/helpers.smartconfigmigrations.js +1 -1
- package/dist_ts/helpers.tsdocker.js +1 -1
- package/dist_ts/helpers.workflow.js +1 -1
- package/dist_ts/index.js +1 -1
- package/dist_ts/mod_audit/index.js +1 -1
- package/dist_ts/mod_commit/index.js +1 -1
- package/dist_ts/mod_commit/mod.helpers.js +1 -1
- package/dist_ts/mod_commit/mod.plugins.js +1 -1
- package/dist_ts/mod_commit/mod.ui.js +1 -1
- package/dist_ts/mod_config/classes.commitconfig.js +1 -1
- package/dist_ts/mod_config/classes.releaseconfig.js +1 -1
- package/dist_ts/mod_config/index.js +2 -2
- package/dist_ts/mod_config/mod.plugins.js +1 -1
- package/dist_ts/mod_deprecate/index.js +1 -1
- package/dist_ts/mod_deprecate/mod.plugins.js +1 -1
- package/dist_ts/mod_docker/classes.dockerpruner.js +7 -1
- package/dist_ts/mod_docker/index.js +1 -1
- package/dist_ts/mod_docker/mod.plugins.js +1 -1
- package/dist_ts/mod_format/classes.baseformatter.js +1 -1
- package/dist_ts/mod_format/classes.diffreporter.js +1 -1
- package/dist_ts/mod_format/classes.formatcontext.js +1 -1
- package/dist_ts/mod_format/classes.formatplanner.js +1 -1
- package/dist_ts/mod_format/classes.formatstats.js +1 -1
- package/dist_ts/mod_format/formatters/assets.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/cleanup.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/copy.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/gitignore.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/license.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/packagejson.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/prettier.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/readme.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/smartconfig.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/templates.formatter.js +1 -1
- package/dist_ts/mod_format/formatters/tsconfig.formatter.js +1 -1
- package/dist_ts/mod_format/index.js +1 -1
- package/dist_ts/mod_format/interfaces.format.js +1 -1
- package/dist_ts/mod_format/mod.plugins.js +1 -1
- package/dist_ts/mod_helpers/index.js +1 -1
- package/dist_ts/mod_helpers/mod.plugins.js +1 -1
- package/dist_ts/mod_meta/index.js +1 -1
- package/dist_ts/mod_meta/meta.classes.meta.js +1 -1
- package/dist_ts/mod_meta/meta.interfaces.js +1 -1
- package/dist_ts/mod_meta/meta.plugins.js +1 -1
- package/dist_ts/mod_open/index.js +1 -1
- package/dist_ts/mod_open/mod.plugins.js +1 -1
- package/dist_ts/mod_release/index.js +4 -4
- package/dist_ts/mod_release/mod.plugins.js +1 -1
- package/dist_ts/mod_services/classes.dockercontainer.d.ts +50 -3
- package/dist_ts/mod_services/classes.dockercontainer.js +646 -84
- package/dist_ts/mod_services/classes.globalregistry.d.ts +10 -24
- package/dist_ts/mod_services/classes.globalregistry.js +210 -62
- package/dist_ts/mod_services/classes.globalregistrystore.d.ts +48 -0
- package/dist_ts/mod_services/classes.globalregistrystore.js +156 -0
- package/dist_ts/mod_services/classes.interprocesslock.d.ts +21 -0
- package/dist_ts/mod_services/classes.interprocesslock.js +141 -0
- package/dist_ts/mod_services/classes.serviceconfiguration.d.ts +15 -12
- package/dist_ts/mod_services/classes.serviceconfiguration.js +188 -91
- package/dist_ts/mod_services/classes.servicedatamarker.d.ts +32 -7
- package/dist_ts/mod_services/classes.servicedatamarker.js +145 -49
- package/dist_ts/mod_services/classes.servicemanager.d.ts +70 -28
- package/dist_ts/mod_services/classes.servicemanager.js +995 -421
- package/dist_ts/mod_services/classes.servicenames.d.ts +8 -0
- package/dist_ts/mod_services/classes.servicenames.js +54 -0
- package/dist_ts/mod_services/classes.serviceoptions.js +1 -1
- package/dist_ts/mod_services/classes.servicepruner.d.ts +3 -0
- package/dist_ts/mod_services/classes.servicepruner.js +208 -46
- package/dist_ts/mod_services/helpers.js +1 -1
- package/dist_ts/mod_services/index.d.ts +2 -0
- package/dist_ts/mod_services/index.js +81 -58
- package/dist_ts/mod_services/mod.plugins.js +1 -1
- package/dist_ts/mod_standard/index.js +2 -2
- package/dist_ts/mod_standard/mod.plugins.js +1 -1
- package/dist_ts/mod_start/index.js +1 -1
- package/dist_ts/mod_start/mod.plugins.js +1 -1
- package/dist_ts/mod_template/index.js +1 -1
- package/dist_ts/mod_template/mod.plugins.js +1 -1
- package/dist_ts/mod_tools/classes.packagemanager.js +1 -1
- package/dist_ts/mod_tools/index.js +1 -1
- package/dist_ts/mod_tools/mod.plugins.js +1 -1
- package/dist_ts/paths.js +1 -1
- package/dist_ts/plugins.d.ts +3 -1
- package/dist_ts/plugins.js +4 -2
- package/dist_ts_migration/001.service-selection.d.ts +9 -0
- package/dist_ts_migration/001.service-selection.js +51 -0
- package/dist_ts_migration/002.runtime-config.d.ts +19 -0
- package/dist_ts_migration/002.runtime-config.js +170 -0
- package/dist_ts_migration/003.service-data-marker.d.ts +9 -0
- package/dist_ts_migration/003.service-data-marker.js +156 -0
- package/dist_ts_migration/004.global-registry.d.ts +13 -0
- package/dist_ts_migration/004.global-registry.js +165 -0
- package/dist_ts_migration/index.d.ts +11 -0
- package/dist_ts_migration/index.js +59 -0
- package/package.json +6 -3
- package/readme.hints.md +102 -25
- package/readme.md +123 -28
- package/readme.plan.md +29 -16
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/helpers.smartconfig.ts +63 -10
- package/ts/mod_config/index.ts +1 -1
- package/ts/mod_docker/classes.dockerpruner.ts +6 -0
- package/ts/mod_release/index.ts +3 -3
- package/ts/mod_services/classes.dockercontainer.ts +912 -96
- package/ts/mod_services/classes.globalregistry.ts +290 -89
- package/ts/mod_services/classes.globalregistrystore.ts +279 -0
- package/ts/mod_services/classes.interprocesslock.ts +189 -0
- package/ts/mod_services/classes.serviceconfiguration.ts +215 -108
- package/ts/mod_services/classes.servicedatamarker.ts +210 -52
- package/ts/mod_services/classes.servicemanager.ts +1332 -512
- package/ts/mod_services/classes.servicenames.ts +76 -0
- package/ts/mod_services/classes.servicepruner.ts +310 -52
- package/ts/mod_services/index.ts +89 -62
- package/ts/mod_standard/index.ts +1 -1
- package/ts/plugins.ts +4 -0
- package/ts_migration/001.service-selection.ts +77 -0
- package/ts_migration/002.runtime-config.ts +218 -0
- package/ts_migration/003.service-data-marker.ts +216 -0
- package/ts_migration/004.global-registry.ts +272 -0
- package/ts_migration/index.ts +83 -0
|
@@ -165,4 +165,4 @@ export const getLocalNetworkIp = async () => {
|
|
|
165
165
|
// Last resort: localhost
|
|
166
166
|
return 'localhost';
|
|
167
167
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21vZF9zZXJ2aWNlcy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQW9CLEVBQUU7SUFDdEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLElBQXFCLEVBQUU7SUFDaEUsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBRXhCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJ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
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ServiceManager } from "./classes.servicemanager.js";
|
|
1
2
|
import type { ICliMode } from "../helpers.climode.js";
|
|
2
3
|
export declare const run: (argvArg: any) => Promise<void>;
|
|
4
|
+
export declare function handleRestart(serviceManager: ServiceManager, service: string): Promise<void>;
|
|
3
5
|
export declare function showHelp(mode?: ICliMode): void;
|
|
@@ -3,6 +3,8 @@ import * as helpers from "./helpers.js";
|
|
|
3
3
|
import { ServiceManager } from "./classes.servicemanager.js";
|
|
4
4
|
import { GlobalRegistry } from "./classes.globalregistry.js";
|
|
5
5
|
import { getServiceDataDirectory } from "./classes.servicedatamarker.js";
|
|
6
|
+
import { allowedServiceNames, normalizeUserServiceName, normalizeUserServiceNames, readPersistedServiceConfiguration, } from "./classes.servicenames.js";
|
|
7
|
+
import { runServiceMigrations } from "../../dist_ts_migration/index.js";
|
|
6
8
|
import { ServicePruner, defaultStaleDays, } from "./classes.servicepruner.js";
|
|
7
9
|
import { logger } from "../gitzone.logging.js";
|
|
8
10
|
import { getCliMode, printJson, runWithSuppressedOutput, } from "../helpers.climode.js";
|
|
@@ -17,6 +19,7 @@ export const run = async (argvArg) => {
|
|
|
17
19
|
}
|
|
18
20
|
// Handle global commands first
|
|
19
21
|
if (isGlobal) {
|
|
22
|
+
await runServiceMigrations({ scopes: ["global-registry"] });
|
|
20
23
|
await handleGlobalCommand(command, argvArg, mode);
|
|
21
24
|
return;
|
|
22
25
|
}
|
|
@@ -25,23 +28,40 @@ export const run = async (argvArg) => {
|
|
|
25
28
|
case "config":
|
|
26
29
|
if (service === "services" || argvArg._[2] === "services") {
|
|
27
30
|
const serviceManager = new ServiceManager();
|
|
28
|
-
await serviceManager.init();
|
|
31
|
+
await serviceManager.init("config");
|
|
29
32
|
await handleConfigureServices(serviceManager);
|
|
30
33
|
}
|
|
31
34
|
else {
|
|
35
|
+
await runServiceMigrations({
|
|
36
|
+
projectPath: process.cwd(),
|
|
37
|
+
scopes: ["service-selection", "runtime-config"],
|
|
38
|
+
});
|
|
32
39
|
await handleShowConfig(mode);
|
|
33
40
|
}
|
|
34
41
|
break;
|
|
35
42
|
case "set":
|
|
43
|
+
await runServiceMigrations({
|
|
44
|
+
projectPath: process.cwd(),
|
|
45
|
+
scopes: ["service-selection"],
|
|
46
|
+
});
|
|
36
47
|
await handleSetServices(argvArg._[2], mode);
|
|
37
48
|
break;
|
|
38
49
|
case "enable":
|
|
50
|
+
await runServiceMigrations({
|
|
51
|
+
projectPath: process.cwd(),
|
|
52
|
+
scopes: ["service-selection"],
|
|
53
|
+
});
|
|
39
54
|
await handleEnableServices(argvArg._.slice(2), mode);
|
|
40
55
|
break;
|
|
41
56
|
case "disable":
|
|
57
|
+
await runServiceMigrations({
|
|
58
|
+
projectPath: process.cwd(),
|
|
59
|
+
scopes: ["service-selection"],
|
|
60
|
+
});
|
|
42
61
|
await handleDisableServices(argvArg._.slice(2), mode);
|
|
43
62
|
break;
|
|
44
63
|
case "prune":
|
|
64
|
+
await runServiceMigrations({ scopes: ["global-registry"] });
|
|
45
65
|
await handlePrune(argvArg, mode);
|
|
46
66
|
break;
|
|
47
67
|
case "auth":
|
|
@@ -59,7 +79,7 @@ export const run = async (argvArg) => {
|
|
|
59
79
|
const serviceManager = new ServiceManager();
|
|
60
80
|
// Initialisation is chatty. In JSON mode that chatter would land on stdout
|
|
61
81
|
// ahead of the payload and make the output unparseable.
|
|
62
|
-
await withJsonSafeOutput(mode, () => serviceManager.init());
|
|
82
|
+
await withJsonSafeOutput(mode, () => serviceManager.init(command));
|
|
63
83
|
switch (command) {
|
|
64
84
|
case "start":
|
|
65
85
|
await handleStart(serviceManager, service, mode);
|
|
@@ -114,26 +134,8 @@ async function withJsonSafeOutput(mode, work) {
|
|
|
114
134
|
}
|
|
115
135
|
return runWithSuppressedOutput(work);
|
|
116
136
|
}
|
|
117
|
-
const allowedServices = ["mongodb", "minio", "elasticsearch"];
|
|
118
|
-
const normalizeServiceName = (service) => {
|
|
119
|
-
switch (service) {
|
|
120
|
-
case "mongo":
|
|
121
|
-
case "mongodb":
|
|
122
|
-
return "mongodb";
|
|
123
|
-
case "minio":
|
|
124
|
-
case "s3":
|
|
125
|
-
return "minio";
|
|
126
|
-
case "elastic":
|
|
127
|
-
case "elasticsearch":
|
|
128
|
-
case "es":
|
|
129
|
-
return "elasticsearch";
|
|
130
|
-
default:
|
|
131
|
-
return service;
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
137
|
async function readServicesConfig() {
|
|
135
|
-
const
|
|
136
|
-
const enabledServices = getCliConfigValueFromData(smartconfigData, "services");
|
|
138
|
+
const enabledServices = await readPersistedServiceConfiguration();
|
|
137
139
|
let environment = null;
|
|
138
140
|
const envPath = plugins.path.join(process.cwd(), ".nogit", "env.json");
|
|
139
141
|
if (await plugins.smartfs.file(envPath).exists()) {
|
|
@@ -144,7 +146,7 @@ async function readServicesConfig() {
|
|
|
144
146
|
environment = JSON.parse(envContent);
|
|
145
147
|
}
|
|
146
148
|
return {
|
|
147
|
-
enabledServices
|
|
149
|
+
enabledServices,
|
|
148
150
|
environment,
|
|
149
151
|
};
|
|
150
152
|
}
|
|
@@ -156,7 +158,15 @@ async function updateEnabledServices(services) {
|
|
|
156
158
|
async function handleShowConfig(mode) {
|
|
157
159
|
const configData = await readServicesConfig();
|
|
158
160
|
if (mode.json) {
|
|
159
|
-
|
|
161
|
+
const environment = configData.environment
|
|
162
|
+
? {
|
|
163
|
+
...configData.environment,
|
|
164
|
+
S3_ACCESSKEY: "***",
|
|
165
|
+
S3_SECRETKEY: "***",
|
|
166
|
+
S3_ADMIN_PASSWORD: "***",
|
|
167
|
+
}
|
|
168
|
+
: null;
|
|
169
|
+
printJson({ ...configData, environment });
|
|
160
170
|
return;
|
|
161
171
|
}
|
|
162
172
|
helpers.printHeader("Current Services Configuration");
|
|
@@ -176,13 +186,13 @@ async function handleShowConfig(mode) {
|
|
|
176
186
|
logger.log("info", ` Data: ${getServiceDataDirectory(process.cwd(), "mongodb")}`);
|
|
177
187
|
logger.log("info", ` Connection: ${env.MONGODB_URL}`);
|
|
178
188
|
console.log();
|
|
179
|
-
logger.log("note", "S3/
|
|
189
|
+
logger.log("note", "S3/ObjectStorage:");
|
|
180
190
|
logger.log("info", ` Host: ${env.S3_HOST}`);
|
|
181
191
|
logger.log("info", ` API Port: ${env.S3_PORT}`);
|
|
182
|
-
logger.log("info", `
|
|
192
|
+
logger.log("info", ` Management UI Port: ${env.S3_UI_PORT}`);
|
|
183
193
|
logger.log("info", ` Bucket: ${env.S3_BUCKET}`);
|
|
184
|
-
logger.log("info", ` Container: ${env.PROJECT_NAME}-
|
|
185
|
-
logger.log("info", ` Data: ${getServiceDataDirectory(process.cwd(), "
|
|
194
|
+
logger.log("info", ` Container: ${env.PROJECT_NAME}-objectstorage`);
|
|
195
|
+
logger.log("info", ` Data: ${getServiceDataDirectory(process.cwd(), "objectstorage")}`);
|
|
186
196
|
logger.log("info", ` Endpoint: ${env.S3_ENDPOINT}`);
|
|
187
197
|
console.log();
|
|
188
198
|
logger.log("note", "Elasticsearch:");
|
|
@@ -196,10 +206,7 @@ async function handleSetServices(rawValue, mode) {
|
|
|
196
206
|
if (!rawValue) {
|
|
197
207
|
throw new Error("Specify a comma-separated list of services");
|
|
198
208
|
}
|
|
199
|
-
const requestedServices = rawValue
|
|
200
|
-
.split(",")
|
|
201
|
-
.map((service) => normalizeServiceName(service.trim()))
|
|
202
|
-
.filter(Boolean);
|
|
209
|
+
const requestedServices = normalizeUserServiceNames(rawValue.split(","));
|
|
203
210
|
validateRequestedServices(requestedServices);
|
|
204
211
|
await updateEnabledServices(requestedServices);
|
|
205
212
|
if (mode.json) {
|
|
@@ -209,7 +216,7 @@ async function handleSetServices(rawValue, mode) {
|
|
|
209
216
|
logger.log("ok", `Enabled services set to: ${requestedServices.join(", ")}`);
|
|
210
217
|
}
|
|
211
218
|
async function handleEnableServices(requestedServices, mode) {
|
|
212
|
-
const normalizedServices = requestedServices.map((service) =>
|
|
219
|
+
const normalizedServices = requestedServices.map((service) => normalizeUserServiceName(service));
|
|
213
220
|
validateRequestedServices(normalizedServices);
|
|
214
221
|
const configData = await readServicesConfig();
|
|
215
222
|
const nextServices = Array.from(new Set([...configData.enabledServices, ...normalizedServices]));
|
|
@@ -221,7 +228,7 @@ async function handleEnableServices(requestedServices, mode) {
|
|
|
221
228
|
logger.log("ok", `Enabled services: ${nextServices.join(", ")}`);
|
|
222
229
|
}
|
|
223
230
|
async function handleDisableServices(requestedServices, mode) {
|
|
224
|
-
const normalizedServices = requestedServices.map((service) =>
|
|
231
|
+
const normalizedServices = requestedServices.map((service) => normalizeUserServiceName(service));
|
|
225
232
|
validateRequestedServices(normalizedServices);
|
|
226
233
|
const configData = await readServicesConfig();
|
|
227
234
|
const nextServices = configData.enabledServices.filter((service) => !normalizedServices.includes(service));
|
|
@@ -236,7 +243,7 @@ function validateRequestedServices(services) {
|
|
|
236
243
|
if (services.length === 0) {
|
|
237
244
|
throw new Error("Specify at least one service");
|
|
238
245
|
}
|
|
239
|
-
const invalidServices = services.filter((service) => !
|
|
246
|
+
const invalidServices = services.filter((service) => !allowedServiceNames.some((allowed) => allowed === service));
|
|
240
247
|
if (invalidServices.length > 0) {
|
|
241
248
|
throw new Error(`Unknown service(s): ${invalidServices.join(", ")}`);
|
|
242
249
|
}
|
|
@@ -248,9 +255,9 @@ async function handleStart(serviceManager, service, mode) {
|
|
|
248
255
|
case "mongodb":
|
|
249
256
|
await serviceManager.startMongoDB();
|
|
250
257
|
break;
|
|
251
|
-
case "
|
|
258
|
+
case "objectstorage":
|
|
252
259
|
case "s3":
|
|
253
|
-
await serviceManager.
|
|
260
|
+
await serviceManager.startObjectStorage();
|
|
254
261
|
break;
|
|
255
262
|
case "elasticsearch":
|
|
256
263
|
case "es":
|
|
@@ -271,7 +278,7 @@ async function handleStart(serviceManager, service, mode) {
|
|
|
271
278
|
if (mode.json) {
|
|
272
279
|
const started = await runWithSuppressedOutput(startService);
|
|
273
280
|
if (!started) {
|
|
274
|
-
throw new Error(`Unknown service: ${service}. Use: mongo, s3, elasticsearch, or all`);
|
|
281
|
+
throw new Error(`Unknown service: ${service}. Use: mongo, objectstorage, s3, elasticsearch, or all`);
|
|
275
282
|
}
|
|
276
283
|
printJson(await serviceManager.collectStatus());
|
|
277
284
|
return;
|
|
@@ -279,7 +286,7 @@ async function handleStart(serviceManager, service, mode) {
|
|
|
279
286
|
helpers.printHeader("Starting Services");
|
|
280
287
|
if (!(await startService())) {
|
|
281
288
|
logger.log("error", `Unknown service: ${service}`);
|
|
282
|
-
logger.log("note", "Use: mongo, s3, elasticsearch, or all");
|
|
289
|
+
logger.log("note", "Use: mongo, objectstorage, s3, elasticsearch, or all");
|
|
283
290
|
return;
|
|
284
291
|
}
|
|
285
292
|
await printStaleHint();
|
|
@@ -316,9 +323,9 @@ async function handleStop(serviceManager, service) {
|
|
|
316
323
|
case "mongodb":
|
|
317
324
|
await serviceManager.stopMongoDB();
|
|
318
325
|
break;
|
|
319
|
-
case "
|
|
326
|
+
case "objectstorage":
|
|
320
327
|
case "s3":
|
|
321
|
-
await serviceManager.
|
|
328
|
+
await serviceManager.stopObjectStorage();
|
|
322
329
|
break;
|
|
323
330
|
case "elasticsearch":
|
|
324
331
|
case "es":
|
|
@@ -330,41 +337,53 @@ async function handleStop(serviceManager, service) {
|
|
|
330
337
|
break;
|
|
331
338
|
default:
|
|
332
339
|
logger.log("error", `Unknown service: ${service}`);
|
|
333
|
-
logger.log("note", "Use: mongo, s3, elasticsearch, or all");
|
|
340
|
+
logger.log("note", "Use: mongo, objectstorage, s3, elasticsearch, or all");
|
|
334
341
|
break;
|
|
335
342
|
}
|
|
336
343
|
}
|
|
337
|
-
async function handleRestart(serviceManager, service) {
|
|
344
|
+
export async function handleRestart(serviceManager, service) {
|
|
338
345
|
helpers.printHeader("Restarting Services");
|
|
346
|
+
let restarted = false;
|
|
339
347
|
switch (service) {
|
|
340
348
|
case "mongo":
|
|
341
349
|
case "mongodb":
|
|
342
350
|
await serviceManager.stopMongoDB();
|
|
343
351
|
await plugins.smartdelay.delayFor(2000);
|
|
344
352
|
await serviceManager.startMongoDB();
|
|
353
|
+
restarted = true;
|
|
345
354
|
break;
|
|
346
|
-
case "
|
|
355
|
+
case "objectstorage":
|
|
347
356
|
case "s3":
|
|
348
|
-
await serviceManager.
|
|
357
|
+
await serviceManager.assertObjectStorageStartupAllowed();
|
|
358
|
+
await serviceManager.stopObjectStorage();
|
|
349
359
|
await plugins.smartdelay.delayFor(2000);
|
|
350
|
-
await serviceManager.
|
|
360
|
+
await serviceManager.startObjectStorage();
|
|
361
|
+
restarted = true;
|
|
351
362
|
break;
|
|
352
363
|
case "elasticsearch":
|
|
353
364
|
case "es":
|
|
354
365
|
await serviceManager.stopElasticsearch();
|
|
355
366
|
await plugins.smartdelay.delayFor(2000);
|
|
356
367
|
await serviceManager.startElasticsearch();
|
|
368
|
+
restarted = true;
|
|
357
369
|
break;
|
|
358
370
|
case "all":
|
|
359
371
|
case "":
|
|
372
|
+
if (serviceManager.isServiceEnabled("objectstorage")) {
|
|
373
|
+
await serviceManager.assertObjectStorageStartupAllowed();
|
|
374
|
+
}
|
|
360
375
|
await serviceManager.stopAll();
|
|
361
376
|
await plugins.smartdelay.delayFor(2000);
|
|
362
377
|
await serviceManager.startAll();
|
|
378
|
+
restarted = true;
|
|
363
379
|
break;
|
|
364
380
|
default:
|
|
365
381
|
logger.log("error", `Unknown service: ${service}`);
|
|
366
382
|
break;
|
|
367
383
|
}
|
|
384
|
+
if (restarted) {
|
|
385
|
+
await serviceManager.registerWithGlobalRegistry();
|
|
386
|
+
}
|
|
368
387
|
}
|
|
369
388
|
async function handleRemove(serviceManager, mode) {
|
|
370
389
|
helpers.printHeader("Removing Containers");
|
|
@@ -415,7 +434,7 @@ async function handleClean(serviceManager, mode) {
|
|
|
415
434
|
* loopback and is refused outright for a non-local MONGODB_HOST.
|
|
416
435
|
*/
|
|
417
436
|
async function handleAuth(rawService, rawValue, mode) {
|
|
418
|
-
const service =
|
|
437
|
+
const service = normalizeUserServiceName((rawService || "").trim());
|
|
419
438
|
if (service !== "mongodb") {
|
|
420
439
|
throw new Error("Only `mongodb` supports an auth toggle. Usage: gitzone services auth mongodb <on|off>");
|
|
421
440
|
}
|
|
@@ -425,7 +444,7 @@ async function handleAuth(rawService, rawValue, mode) {
|
|
|
425
444
|
}
|
|
426
445
|
const serviceManager = new ServiceManager();
|
|
427
446
|
const configuration = await withJsonSafeOutput(mode, async () => {
|
|
428
|
-
await serviceManager.init();
|
|
447
|
+
await serviceManager.init("auth");
|
|
429
448
|
const resolvedConfiguration = serviceManager.getConfiguration();
|
|
430
449
|
await resolvedConfiguration.setMongoAuthEnabled(value === "on");
|
|
431
450
|
return resolvedConfiguration;
|
|
@@ -599,7 +618,7 @@ export function showHelp(mode) {
|
|
|
599
618
|
examples: [
|
|
600
619
|
"gitzone services config --json",
|
|
601
620
|
"gitzone services status --json",
|
|
602
|
-
"gitzone services set mongodb,
|
|
621
|
+
"gitzone services set mongodb,objectstorage",
|
|
603
622
|
"gitzone services enable elasticsearch",
|
|
604
623
|
"gitzone services auth mongodb off",
|
|
605
624
|
"gitzone services prune",
|
|
@@ -612,9 +631,9 @@ export function showHelp(mode) {
|
|
|
612
631
|
logger.log("ok", "Usage: gitzone services [command] [options]");
|
|
613
632
|
console.log();
|
|
614
633
|
logger.log("note", "Commands:");
|
|
615
|
-
logger.log("info", " start [service] Start services (mongo|s3|elasticsearch|all)");
|
|
616
|
-
logger.log("info", " stop [service] Stop services (mongo|s3|elasticsearch|all)");
|
|
617
|
-
logger.log("info", " restart [service] Restart services (mongo|s3|elasticsearch|all)");
|
|
634
|
+
logger.log("info", " start [service] Start services (mongo|objectstorage|s3|elasticsearch|all)");
|
|
635
|
+
logger.log("info", " stop [service] Stop services (mongo|objectstorage|s3|elasticsearch|all)");
|
|
636
|
+
logger.log("info", " restart [service] Restart services (mongo|objectstorage|s3|elasticsearch|all)");
|
|
618
637
|
logger.log("info", " status Show service status");
|
|
619
638
|
logger.log("info", " config Show current configuration");
|
|
620
639
|
logger.log("info", " config services Configure which services are enabled");
|
|
@@ -622,7 +641,7 @@ export function showHelp(mode) {
|
|
|
622
641
|
logger.log("info", " enable <svc...> Enable one or more services");
|
|
623
642
|
logger.log("info", " disable <svc...> Disable one or more services");
|
|
624
643
|
logger.log("info", " compass Show MongoDB Compass connection string");
|
|
625
|
-
logger.log("info", " logs [service] Show logs (mongo|s3|elasticsearch|all) [lines]");
|
|
644
|
+
logger.log("info", " logs [service] Show logs (mongo|objectstorage|s3|elasticsearch|all) [lines]");
|
|
626
645
|
logger.log("info", " reconfigure Reassign ports and restart services");
|
|
627
646
|
logger.log("info", " auth mongodb <on|off> Toggle MongoDB auth (off = loopback only) ⚠️");
|
|
628
647
|
logger.log("info", " prune Report reclaimable data/containers machine-wide");
|
|
@@ -638,12 +657,12 @@ export function showHelp(mode) {
|
|
|
638
657
|
console.log();
|
|
639
658
|
logger.log("note", "Available Services:");
|
|
640
659
|
logger.log("info", " • MongoDB (mongo) - Document database");
|
|
641
|
-
logger.log("info", " •
|
|
660
|
+
logger.log("info", " • ObjectStorage (s3) - S3-compatible object storage");
|
|
642
661
|
logger.log("info", " • Elasticsearch (elasticsearch) - Search and analytics engine");
|
|
643
662
|
console.log();
|
|
644
663
|
logger.log("note", "Features:");
|
|
645
664
|
logger.log("info", " • Auto-creates .nogit/env.json with smart defaults");
|
|
646
|
-
logger.log("info", " • Random ports (20000-30000) for MongoDB/
|
|
665
|
+
logger.log("info", " • Random ports (20000-30000) for MongoDB/ObjectStorage to avoid conflicts");
|
|
647
666
|
logger.log("info", " • Elasticsearch uses standard port 9200");
|
|
648
667
|
logger.log("info", " • Project-specific containers for multi-project support");
|
|
649
668
|
logger.log("info", " • Preserves custom configuration values");
|
|
@@ -657,7 +676,7 @@ export function showHelp(mode) {
|
|
|
657
676
|
logger.log("info", " gitzone services status # Check service status");
|
|
658
677
|
logger.log("info", " gitzone services config # Show configuration");
|
|
659
678
|
logger.log("info", " gitzone services config --json # Show configuration as JSON");
|
|
660
|
-
logger.log("info", " gitzone services set mongodb,
|
|
679
|
+
logger.log("info", " gitzone services set mongodb,objectstorage # Configure services without prompts");
|
|
661
680
|
logger.log("info", " gitzone services compass # Get MongoDB Compass connection");
|
|
662
681
|
logger.log("info", " gitzone services logs elasticsearch # Show Elasticsearch logs");
|
|
663
682
|
console.log();
|
|
@@ -735,6 +754,10 @@ async function handleGlobalStatus(globalRegistry) {
|
|
|
735
754
|
}
|
|
736
755
|
for (const container of project.containers) {
|
|
737
756
|
totalContainers++;
|
|
757
|
+
if (container.ownership === "conflict") {
|
|
758
|
+
logger.log("error", ` ❓ ${container.name}: ownership conflict (not managed)`);
|
|
759
|
+
continue;
|
|
760
|
+
}
|
|
738
761
|
const statusIcon = container.status === "running"
|
|
739
762
|
? "🟢"
|
|
740
763
|
: container.status === "exited"
|
|
@@ -755,7 +778,7 @@ async function handleGlobalStop(globalRegistry) {
|
|
|
755
778
|
let runningCount = 0;
|
|
756
779
|
for (const project of statuses) {
|
|
757
780
|
for (const container of project.containers) {
|
|
758
|
-
if (container.status === "running")
|
|
781
|
+
if (container.status === "running" && container.ownership !== "conflict")
|
|
759
782
|
runningCount++;
|
|
760
783
|
}
|
|
761
784
|
}
|
|
@@ -767,7 +790,7 @@ async function handleGlobalStop(globalRegistry) {
|
|
|
767
790
|
console.log();
|
|
768
791
|
// Show what will be stopped
|
|
769
792
|
for (const project of statuses) {
|
|
770
|
-
const runningContainers = project.containers.filter((c) => c.status === "running");
|
|
793
|
+
const runningContainers = project.containers.filter((c) => c.status === "running" && c.ownership !== "conflict");
|
|
771
794
|
if (runningContainers.length > 0) {
|
|
772
795
|
logger.log("info", `${project.projectName}:`);
|
|
773
796
|
for (const container of runningContainers) {
|
|
@@ -806,4 +829,4 @@ async function handleGlobalCleanup(globalRegistry) {
|
|
|
806
829
|
logger.log("info", ` • ${path}`);
|
|
807
830
|
}
|
|
808
831
|
}
|
|
809
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2Rfc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEdBRWpCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUNULHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixvQkFBb0IsR0FDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM3QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUV2QyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLE9BQU87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
|
|
832
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2Rfc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixpQ0FBaUMsR0FDbEMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixHQUVqQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCx1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsb0JBQW9CLEdBQ3JCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUN4QyxNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDN0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFD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
|
|
@@ -5,4 +5,4 @@ import * as smartinteract from '@push.rocks/smartinteract';
|
|
|
5
5
|
import * as smartnetwork from '@push.rocks/smartnetwork';
|
|
6
6
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
7
7
|
export { smartshell, smartfile, smartinteract, smartnetwork, smartdelay };
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2Rfc2VydmljZXMvbW9kLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxhQUFhLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxLQUFLLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMifQ==
|