plugin-cluster-manager 1.1.7 → 1.1.11
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/client.js +1 -0
- package/dist/client/AclCacheManager.d.ts +2 -0
- package/dist/client/CacheMonitor.d.ts +2 -0
- package/dist/client/ClusterManagerLayout.d.ts +2 -0
- package/dist/client/ClusterNodes.d.ts +2 -0
- package/dist/client/ContainerOrchestrator.d.ts +2 -0
- package/dist/client/Doctor.d.ts +2 -0
- package/dist/client/EventQueueMonitor.d.ts +2 -0
- package/dist/client/LockMonitor.d.ts +2 -0
- package/dist/client/NginxCacheManager.d.ts +2 -0
- package/dist/client/PackageInstaller.d.ts +2 -0
- package/dist/client/PluginOperations.d.ts +2 -0
- package/dist/client/RedisMonitor.d.ts +2 -0
- package/dist/client/TaskManager.d.ts +2 -0
- package/dist/client/WorkflowExecutions.d.ts +2 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.js +1 -1
- package/dist/client/utils/clientSafeCache.d.ts +3 -0
- package/dist/client/utils/requestDedupInterceptor.d.ts +2 -0
- package/dist/client/utils.d.ts +12 -0
- package/dist/externalVersion.js +5 -5
- package/dist/index.d.ts +2 -0
- package/dist/locale/en-US.json +97 -1
- package/dist/locale/vi-VN.json +98 -1
- package/dist/locale/zh-CN.json +98 -1
- package/dist/server/actions/acl-cache.d.ts +53 -0
- package/dist/server/actions/acl-cache.js +1 -1
- package/dist/server/actions/cache-monitor.d.ts +33 -0
- package/dist/server/actions/cache-monitor.js +301 -0
- package/dist/server/actions/cluster-nodes.d.ts +64 -0
- package/dist/server/actions/cluster-nodes.js +394 -10
- package/dist/server/actions/doctor.d.ts +82 -0
- package/dist/server/actions/doctor.js +1250 -0
- package/dist/server/actions/event-queue-monitor.d.ts +13 -0
- package/dist/server/actions/lock-monitor.d.ts +19 -0
- package/dist/server/actions/orchestrator.d.ts +58 -0
- package/dist/server/actions/package-manager.d.ts +6 -0
- package/dist/server/actions/plugin-operations.d.ts +6 -0
- package/dist/server/actions/redis-monitor.d.ts +12 -0
- package/dist/server/actions/tasks.d.ts +7 -0
- package/dist/server/actions/workflow-executions.d.ts +7 -0
- package/dist/server/adapters/redis-lock-adapter.d.ts +15 -0
- package/dist/server/adapters/redis-node-registry.d.ts +12 -0
- package/dist/server/adapters/redis-pubsub-adapter.d.ts +16 -0
- package/dist/server/collections/app.d.ts +8 -0
- package/dist/server/collections/cluster-manager-acl-cache.d.ts +22 -0
- package/dist/server/collections/cluster-manager-cache-mgr.d.ts +22 -0
- package/dist/server/collections/cluster-manager-cluster.d.ts +22 -0
- package/dist/server/collections/cluster-manager-doctor-runs.d.ts +3 -0
- package/dist/server/collections/cluster-manager-doctor-runs.js +52 -0
- package/dist/server/collections/cluster-manager-doctor.d.ts +18 -0
- package/dist/server/collections/cluster-manager-doctor.js +44 -0
- package/dist/server/collections/cluster-manager-lock.d.ts +22 -0
- package/dist/server/collections/cluster-manager-plugins.d.ts +18 -0
- package/dist/server/collections/cluster-manager-queue.d.ts +22 -0
- package/dist/server/collections/cluster-manager-redis.d.ts +22 -0
- package/dist/server/collections/cluster-manager-workflow.d.ts +22 -0
- package/dist/server/collections/cluster-manager.d.ts +22 -0
- package/dist/server/collections/orchestrator-settings.d.ts +59 -0
- package/dist/server/collections/orchestrator-stacks.d.ts +102 -0
- package/dist/server/collections/worker-orchestrator.d.ts +22 -0
- package/dist/server/collections/worker-packages-configs.d.ts +3 -0
- package/dist/server/collections/worker-packages.d.ts +22 -0
- package/dist/server/hooks/cacheInvalidationHooks.d.ts +1 -0
- package/dist/server/hooks/cacheInvalidationHooks.js +81 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/middlewares/listMetaCacheMiddleware.d.ts +2 -0
- package/dist/server/middlewares/listMetaCacheMiddleware.js +79 -0
- package/dist/server/orchestrator/PackageManager.d.ts +39 -0
- package/dist/server/orchestrator/PackageManager.js +83 -27
- package/dist/server/orchestrator/docker-adapter.d.ts +41 -0
- package/dist/server/orchestrator/index.d.ts +4 -0
- package/dist/server/orchestrator/k8s-adapter.d.ts +50 -0
- package/dist/server/orchestrator/leader-election.d.ts +48 -0
- package/dist/server/orchestrator/types.d.ts +84 -0
- package/dist/server/plugin.d.ts +26 -0
- package/dist/server/plugin.js +70 -8
- package/dist/server/utils/node.d.ts +6 -0
- package/dist/server/utils/redis.d.ts +29 -0
- package/dist/server/utils/versionManager.d.ts +10 -0
- package/dist/server/utils/versionManager.js +91 -0
- package/dist/shared/packages.d.ts +23 -0
- package/package.json +41 -41
- package/server.js +1 -0
- package/src/client/CacheMonitor.tsx +166 -179
- package/src/client/ClusterManagerLayout.tsx +48 -42
- package/src/client/ClusterNodes.tsx +691 -418
- package/src/client/Doctor.tsx +559 -0
- package/src/client/NginxCacheManager.tsx +415 -0
- package/src/client/PluginOperations.tsx +234 -234
- package/src/client/index.tsx +22 -14
- package/src/client/utils/clientSafeCache.ts +41 -0
- package/src/client/utils/requestDedupInterceptor.ts +213 -0
- package/src/locale/en-US.json +97 -1
- package/src/locale/vi-VN.json +98 -1
- package/src/locale/zh-CN.json +98 -1
- package/src/server/__tests__/doctor.test.ts +53 -0
- package/src/server/actions/acl-cache.ts +272 -272
- package/src/server/actions/cache-monitor.ts +453 -116
- package/src/server/actions/cluster-nodes.ts +882 -378
- package/src/server/actions/doctor.ts +1540 -0
- package/src/server/collections/cluster-manager-doctor-runs.ts +23 -0
- package/src/server/collections/cluster-manager-doctor.ts +19 -0
- package/src/server/hooks/cacheInvalidationHooks.ts +58 -0
- package/src/server/middlewares/listMetaCacheMiddleware.ts +55 -0
- package/src/server/orchestrator/PackageManager.ts +19 -15
- package/src/server/plugin.ts +353 -263
- package/src/server/utils/versionManager.ts +69 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { getRedisClient } from './redis';
|
|
2
|
+
|
|
3
|
+
const localCounters = new Map<string, number>();
|
|
4
|
+
|
|
5
|
+
async function getVersion(app: any, key: string): Promise<number> {
|
|
6
|
+
const redis = getRedisClient(app);
|
|
7
|
+
if (redis) {
|
|
8
|
+
try {
|
|
9
|
+
const val = await redis.sendCommand(['GET', key]);
|
|
10
|
+
return val ? parseInt(val, 10) : 1;
|
|
11
|
+
} catch {
|
|
12
|
+
// Fallback to local
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return localCounters.get(key) || 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async function incrementVersion(app: any, key: string): Promise<number> {
|
|
19
|
+
const redis = getRedisClient(app);
|
|
20
|
+
if (redis) {
|
|
21
|
+
try {
|
|
22
|
+
const val = await redis.sendCommand(['INCR', key]);
|
|
23
|
+
return parseInt(val, 10);
|
|
24
|
+
} catch {
|
|
25
|
+
// Fallback to local
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const next = (localCounters.get(key) || 1) + 1;
|
|
29
|
+
localCounters.set(key, next);
|
|
30
|
+
return next;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const cacheVersionManager = {
|
|
34
|
+
async getCollectionVersion(app: any): Promise<number> {
|
|
35
|
+
return getVersion(app, 'nocobase:version:collections');
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
async incrementCollectionVersion(app: any): Promise<number> {
|
|
39
|
+
app.logger.info('[ClusterManager] Incrementing collections cache version due to schema change');
|
|
40
|
+
return incrementVersion(app, 'nocobase:version:collections');
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
async getSchemaVersion(app: any): Promise<number> {
|
|
44
|
+
return getVersion(app, 'nocobase:version:schemas');
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
async incrementSchemaVersion(app: any): Promise<number> {
|
|
48
|
+
app.logger.info('[ClusterManager] Incrementing uiSchemas cache version due to UI change');
|
|
49
|
+
return incrementVersion(app, 'nocobase:version:schemas');
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
async getAclVersion(app: any, roleName: string): Promise<number> {
|
|
53
|
+
return getVersion(app, `nocobase:version:acl:role:${roleName}`);
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
async incrementAclVersion(app: any, roleName: string): Promise<number> {
|
|
57
|
+
app.logger.info(`[ClusterManager] Incrementing ACL cache version for role: ${roleName}`);
|
|
58
|
+
return incrementVersion(app, `nocobase:version:acl:role:${roleName}`);
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
async incrementAllAclVersions(app: any): Promise<number> {
|
|
62
|
+
app.logger.info('[ClusterManager] Incrementing global ACL cache version');
|
|
63
|
+
return incrementVersion(app, 'nocobase:version:acl:global');
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
async getGlobalAclVersion(app: any): Promise<number> {
|
|
67
|
+
return getVersion(app, 'nocobase:version:acl:global');
|
|
68
|
+
},
|
|
69
|
+
};
|