cyberia 2.99.8 → 3.0.2
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/.env.production +1 -0
- package/.github/workflows/engine-cyberia.cd.yml +1 -0
- package/.github/workflows/gitlab.ci.yml +20 -0
- package/.github/workflows/publish.ci.yml +18 -38
- package/.github/workflows/publish.cyberia.ci.yml +18 -38
- package/.vscode/extensions.json +8 -50
- package/.vscode/settings.json +0 -77
- package/CHANGELOG.md +171 -1
- package/{cli.md → CLI-HELP.md} +49 -44
- package/README.md +139 -0
- package/bin/build.js +7 -15
- package/bin/cyberia.js +385 -71
- package/bin/deploy.js +14 -151
- package/bin/file.js +13 -8
- package/bin/index.js +385 -71
- package/bin/zed.js +63 -2
- package/conf.js +32 -3
- package/deployment.yaml +2 -2
- package/jsdoc.json +1 -2
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/manifests/deployment/fastapi/initial_data.sh +4 -52
- package/manifests/ipfs/configmap.yaml +64 -0
- package/manifests/ipfs/headless-service.yaml +35 -0
- package/manifests/ipfs/kustomization.yaml +8 -0
- package/manifests/ipfs/statefulset.yaml +149 -0
- package/manifests/ipfs/storage-class.yaml +9 -0
- package/package.json +15 -11
- package/scripts/k3s-node-setup.sh +89 -0
- package/scripts/lxd-vm-setup.sh +23 -0
- package/scripts/rocky-setup.sh +1 -13
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +2 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +7 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +93 -2
- package/src/api/file/file.controller.js +3 -13
- package/src/api/file/file.ref.json +0 -21
- package/src/api/ipfs/ipfs.controller.js +104 -0
- package/src/api/ipfs/ipfs.model.js +71 -0
- package/src/api/ipfs/ipfs.router.js +31 -0
- package/src/api/ipfs/ipfs.service.js +193 -0
- package/src/api/object-layer/README.md +139 -0
- package/src/api/object-layer/object-layer.controller.js +3 -0
- package/src/api/object-layer/object-layer.model.js +15 -1
- package/src/api/object-layer/object-layer.router.js +6 -10
- package/src/api/object-layer/object-layer.service.js +311 -182
- package/src/api/user/user.router.js +0 -47
- package/src/cli/baremetal.js +7 -9
- package/src/cli/cluster.js +95 -152
- package/src/cli/deploy.js +8 -5
- package/src/cli/index.js +31 -31
- package/src/cli/ipfs.js +184 -0
- package/src/cli/lxd.js +192 -237
- package/src/cli/repository.js +4 -1
- package/src/cli/run.js +17 -2
- package/src/client/components/core/Docs.js +92 -6
- package/src/client/components/core/LoadingAnimation.js +2 -3
- package/src/client/components/core/Modal.js +1 -1
- package/src/client/components/core/VanillaJs.js +36 -25
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +4 -5
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +280 -29
- package/src/client/services/ipfs/ipfs.service.js +144 -0
- package/src/client/services/object-layer/object-layer.management.js +161 -8
- package/src/client/services/user/user.management.js +0 -5
- package/src/client/services/user/user.service.js +1 -1
- package/src/index.js +12 -1
- package/src/runtime/express/Express.js +4 -3
- package/src/server/auth.js +18 -18
- package/src/server/client-build-docs.js +178 -41
- package/src/server/conf.js +1 -1
- package/src/server/ipfs-client.js +433 -0
- package/src/server/logger.js +22 -10
- package/src/server/object-layer.js +649 -18
- package/src/server/semantic-layer-generator.js +1083 -0
- package/src/server/shape-generator.js +952 -0
- package/test/shape-generator.test.js +457 -0
- package/.vscode/zed.keymap.json +0 -39
- package/.vscode/zed.settings.json +0 -20
- package/bin/ssl.js +0 -63
- package/manifests/lxd/underpost-setup.sh +0 -163
package/bin/deploy.js
CHANGED
|
@@ -374,7 +374,9 @@ try {
|
|
|
374
374
|
shellExec(`node bin run kill 4002`);
|
|
375
375
|
shellExec(`node bin run kill 4003`);
|
|
376
376
|
shellExec(`npm run update-template`);
|
|
377
|
-
shellExec(
|
|
377
|
+
shellExec(
|
|
378
|
+
`cd ../pwa-microservices-template && npm install && echo "\nENABLE_FILE_LOGS=true" >> .env.development`,
|
|
379
|
+
);
|
|
378
380
|
shellExec(`cd ../pwa-microservices-template && npm run build && timeout 5s npm run dev`, {
|
|
379
381
|
async: true,
|
|
380
382
|
});
|
|
@@ -509,33 +511,23 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
509
511
|
// https://besu.hyperledger.org/
|
|
510
512
|
// https://github.com/hyperledger/besu/archive/refs/tags/24.9.1.tar.gz
|
|
511
513
|
|
|
512
|
-
|
|
513
|
-
case 'linux':
|
|
514
|
-
{
|
|
515
|
-
shellCd(`..`);
|
|
516
|
-
|
|
517
|
-
// Download the Linux binary
|
|
518
|
-
shellExec(`wget https://github.com/hyperledger/besu/releases/download/24.9.1/besu-24.9.1.tar.gz`);
|
|
519
|
-
|
|
520
|
-
// Unzip the file:
|
|
521
|
-
shellExec(`tar -xvzf besu-24.9.1.tar.gz`);
|
|
514
|
+
shellCd(`..`);
|
|
522
515
|
|
|
523
|
-
|
|
516
|
+
// Download the Linux binary
|
|
517
|
+
shellExec(`wget https://github.com/hyperledger/besu/releases/download/24.9.1/besu-24.9.1.tar.gz`);
|
|
524
518
|
|
|
525
|
-
|
|
519
|
+
// Unzip the file:
|
|
520
|
+
shellExec(`tar -xvzf besu-24.9.1.tar.gz`);
|
|
526
521
|
|
|
527
|
-
|
|
528
|
-
// export PATH=$PATH:/home/dd/besu-24.9.1/bin
|
|
522
|
+
shellCd(`besu-24.9.1`);
|
|
529
523
|
|
|
530
|
-
|
|
531
|
-
// shellExec(`sudo code /home/dd/besu-24.9.1 --user-data-dir="/root/.vscode-root" --no-sandbox`);
|
|
532
|
-
}
|
|
524
|
+
shellExec(`bin/besu --help`);
|
|
533
525
|
|
|
534
|
-
|
|
526
|
+
// Set env path
|
|
527
|
+
// export PATH=$PATH:/home/dd/besu-24.9.1/bin
|
|
535
528
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
}
|
|
529
|
+
// Open src
|
|
530
|
+
// shellExec(`sudo code /home/dd/besu-24.9.1 --user-data-dir="/root/.vscode-root" --no-sandbox`);
|
|
539
531
|
|
|
540
532
|
break;
|
|
541
533
|
}
|
|
@@ -568,42 +560,6 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
568
560
|
break;
|
|
569
561
|
}
|
|
570
562
|
|
|
571
|
-
case 'postgresql': {
|
|
572
|
-
if (process.argv.includes('install')) {
|
|
573
|
-
shellExec(`sudo dnf install -y postgresql-server postgresql`);
|
|
574
|
-
shellExec(`sudo postgresql-setup --initdb`);
|
|
575
|
-
shellExec(`chown postgres /var/lib/pgsql/data`);
|
|
576
|
-
shellExec(`sudo systemctl enable postgresql.service`);
|
|
577
|
-
shellExec(`sudo systemctl start postgresql.service`);
|
|
578
|
-
} else {
|
|
579
|
-
shellExec(`sudo systemctl enable postgresql.service`);
|
|
580
|
-
shellExec(`sudo systemctl restart postgresql.service`);
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
shellExec(`sudo systemctl status postgresql.service`);
|
|
584
|
-
|
|
585
|
-
// sudo systemctl stop postgresql
|
|
586
|
-
// sudo systemctl disable postgresql
|
|
587
|
-
|
|
588
|
-
// psql login
|
|
589
|
-
// psql -U <user> -h 127.0.0.1 -W <db-name>
|
|
590
|
-
|
|
591
|
-
// gedit /var/lib/pgsql/data/pg_hba.conf
|
|
592
|
-
// host <db-name> <db-user> <db-host> md5
|
|
593
|
-
// local all postgres trust
|
|
594
|
-
// # "local" is for Unix domain socket connections only
|
|
595
|
-
// local all all md5
|
|
596
|
-
// # IPv4 local connections:
|
|
597
|
-
// host all all 127.0.0.1/32 md5
|
|
598
|
-
// # IPv6 local connections:
|
|
599
|
-
// host all all ::1/128 md5
|
|
600
|
-
|
|
601
|
-
// gedit /var/lib/pgsql/data/postgresql.conf
|
|
602
|
-
// listen_addresses = '*'
|
|
603
|
-
|
|
604
|
-
break;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
563
|
case 'postgresql-17': {
|
|
608
564
|
if (process.argv.includes('install')) {
|
|
609
565
|
shellExec(`sudo dnf module reset postgresql -y`);
|
|
@@ -635,46 +591,6 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
635
591
|
break;
|
|
636
592
|
}
|
|
637
593
|
|
|
638
|
-
case 'postgresql-14': {
|
|
639
|
-
if (process.argv.includes('install')) {
|
|
640
|
-
shellExec(`sudo dnf module reset postgresql -y`);
|
|
641
|
-
shellExec(`sudo dnf -qy module disable postgresql`);
|
|
642
|
-
|
|
643
|
-
shellExec(`sudo systemctl stop postgresql-14`);
|
|
644
|
-
shellExec(`sudo systemctl disable postgresql-14`);
|
|
645
|
-
|
|
646
|
-
shellExec(`sudo dnf remove -y postgresql14 postgresql14-server postgresql14-contrib`);
|
|
647
|
-
shellExec(`sudo rm -rf /var/lib/pgsql`);
|
|
648
|
-
|
|
649
|
-
shellExec(`sudo dnf install postgresql14 postgresql14-server postgresql14-contrib -y`);
|
|
650
|
-
}
|
|
651
|
-
if (process.argv.includes('uninstall')) {
|
|
652
|
-
shellExec(`sudo systemctl stop postgresql-14`);
|
|
653
|
-
shellExec(`sudo systemctl disable postgresql-14`);
|
|
654
|
-
shellExec(`sudo dnf remove -y postgresql14 postgresql14-server postgresql14-contrib`);
|
|
655
|
-
shellExec(`sudo rm -rf /var/lib/pgsql /var/log/pgsql /etc/postgresql`);
|
|
656
|
-
} else {
|
|
657
|
-
shellExec(`sudo /usr/pgsql-14/bin/postgresql-14-setup initdb`);
|
|
658
|
-
shellExec(`sudo systemctl start postgresql-14`);
|
|
659
|
-
shellExec(`sudo systemctl enable postgresql-14`);
|
|
660
|
-
shellExec(`sudo systemctl status postgresql-14`);
|
|
661
|
-
// sudo dnf install postgresql14-contrib
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
break;
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
case 'pg-stop': {
|
|
668
|
-
shellExec(`sudo systemctl stop postgresql-14`);
|
|
669
|
-
shellExec(`sudo systemctl disable postgresql-14`);
|
|
670
|
-
break;
|
|
671
|
-
}
|
|
672
|
-
case 'pg-start': {
|
|
673
|
-
shellExec(`sudo systemctl enable postgresql-14`);
|
|
674
|
-
shellExec(`sudo systemctl restart postgresql-14`);
|
|
675
|
-
break;
|
|
676
|
-
}
|
|
677
|
-
|
|
678
594
|
case 'pg-list-db': {
|
|
679
595
|
shellExec(`sudo -i -u postgres psql -c "\\l"`);
|
|
680
596
|
break;
|
|
@@ -696,36 +612,6 @@ ${shellExec(`git log | grep Author: | sort -u`, { stdout: true }).split(`\n`).jo
|
|
|
696
612
|
break;
|
|
697
613
|
}
|
|
698
614
|
|
|
699
|
-
case 'mount': {
|
|
700
|
-
const mounts = shellExec(`mount`).split(`\n`);
|
|
701
|
-
console.table(
|
|
702
|
-
mounts
|
|
703
|
-
.filter((l) => l.trim())
|
|
704
|
-
.map(
|
|
705
|
-
(o) => (
|
|
706
|
-
(o = o.split(' ')),
|
|
707
|
-
{
|
|
708
|
-
path: o[2],
|
|
709
|
-
type: o[4],
|
|
710
|
-
permissions: o[5],
|
|
711
|
-
}
|
|
712
|
-
),
|
|
713
|
-
),
|
|
714
|
-
);
|
|
715
|
-
break;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
case 'create-ports': {
|
|
719
|
-
const cmd = [];
|
|
720
|
-
const commissioningDeviceIp = Underpost.dns.getLocalIPv4Address();
|
|
721
|
-
for (const port of ['5240']) {
|
|
722
|
-
const name = 'maas';
|
|
723
|
-
cmd.push(`${name}:${port}-${port}:${commissioningDeviceIp}`);
|
|
724
|
-
}
|
|
725
|
-
pbcopy(`node engine-private/r create-port ${cmd}`);
|
|
726
|
-
break;
|
|
727
|
-
}
|
|
728
|
-
|
|
729
615
|
case 'fastapi-models': {
|
|
730
616
|
shellExec(`chmod +x ../full-stack-fastapi-template/backend/initial_data.sh`);
|
|
731
617
|
shellExec(`../full-stack-fastapi-template/backend/initial_data.sh`);
|
|
@@ -987,22 +873,6 @@ nvidia/gpu-operator \
|
|
|
987
873
|
break;
|
|
988
874
|
}
|
|
989
875
|
|
|
990
|
-
case 'update-static-guide': {
|
|
991
|
-
fs.writeFileSync(
|
|
992
|
-
`src/client/public/nexodev/docs/references/Static Site Generator Quick Reference.md`,
|
|
993
|
-
fs.readFileSync(`examples/static-page/QUICK-REFERENCE.md`, 'utf8'),
|
|
994
|
-
);
|
|
995
|
-
fs.writeFileSync(
|
|
996
|
-
`src/client/public/nexodev/docs/references/Static Site Generator Examples.md`,
|
|
997
|
-
fs.readFileSync(`examples/static-page/README.md`, 'utf8'),
|
|
998
|
-
);
|
|
999
|
-
fs.writeFileSync(
|
|
1000
|
-
`src/client/public/nexodev/docs/references/Static Generator Guide.md`,
|
|
1001
|
-
fs.readFileSync(`examples/static-page/STATIC-GENERATOR-GUIDE.md`, 'utf8'),
|
|
1002
|
-
);
|
|
1003
|
-
break;
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
876
|
case 'udpate-version-files': {
|
|
1007
877
|
const oldNpmVersion = process.argv[3];
|
|
1008
878
|
const oldNodeVersion = process.argv[4];
|
|
@@ -1018,13 +888,6 @@ nvidia/gpu-operator \
|
|
|
1018
888
|
.replaceAll(oldNodeVersion, nodeVersion)
|
|
1019
889
|
.replaceAll(oldNpmVersion, npmVersion),
|
|
1020
890
|
);
|
|
1021
|
-
fs.writeFileSync(
|
|
1022
|
-
`manifests/lxd/underpost-setup.sh`,
|
|
1023
|
-
fs
|
|
1024
|
-
.readFileSync(`manifests/lxd/underpost-setup.sh`, 'utf8')
|
|
1025
|
-
.replaceAll(oldNodeVersion, nodeVersion)
|
|
1026
|
-
.replaceAll(oldNpmVersion, npmVersion),
|
|
1027
|
-
);
|
|
1028
891
|
fs.writeFileSync(
|
|
1029
892
|
`src/client/public/nexodev/docs/references/Getting started.md`,
|
|
1030
893
|
fs
|
package/bin/file.js
CHANGED
|
@@ -22,26 +22,22 @@ logger.info('argv', process.argv);
|
|
|
22
22
|
let [exe, dir, type] = process.argv;
|
|
23
23
|
let rawPath = process.argv[3].replaceAll(`'`, '');
|
|
24
24
|
let toPath = process.argv[4].replaceAll(`'`, '');
|
|
25
|
-
|
|
26
25
|
let path = `${rawPath}`.split('/');
|
|
27
26
|
path.pop();
|
|
28
27
|
path = path.join('/');
|
|
29
|
-
|
|
30
28
|
const file = `${rawPath}`.split('/').pop();
|
|
31
29
|
const ext = file.split('.')[1];
|
|
32
30
|
let name = getCapVariableName(file.split('.')[0]);
|
|
31
|
+
let content = '';
|
|
33
32
|
|
|
34
33
|
logger.info('File metadata', { path, file, ext, name });
|
|
35
34
|
|
|
36
35
|
try {
|
|
37
|
-
let content = '';
|
|
38
36
|
switch (type) {
|
|
39
37
|
case 'update-template':
|
|
40
38
|
case 'copy-src':
|
|
41
39
|
console.log({ rawPath, toPath });
|
|
42
40
|
|
|
43
|
-
// this function returns a promise, but you can also pass a cb
|
|
44
|
-
// if you like that approach better.
|
|
45
41
|
let result = await new Promise((resolve) =>
|
|
46
42
|
walk(
|
|
47
43
|
{
|
|
@@ -90,7 +86,7 @@ try {
|
|
|
90
86
|
// fs.copySync(`./.github`, `../pwa-microservices-template/.github`);
|
|
91
87
|
fs.copySync(`./src/client/public/default`, `../pwa-microservices-template/src/client/public/default`);
|
|
92
88
|
|
|
93
|
-
for (const checkoutPath of ['README.md', 'package
|
|
89
|
+
for (const checkoutPath of ['README.md', 'package.json'])
|
|
94
90
|
shellExec(`cd ../pwa-microservices-template && git checkout ${checkoutPath}`);
|
|
95
91
|
|
|
96
92
|
for (const deletePath of [
|
|
@@ -101,6 +97,9 @@ try {
|
|
|
101
97
|
'./manifests/deployment/dd-template-development',
|
|
102
98
|
'./src/server/object-layer.js',
|
|
103
99
|
'./src/server/atlas-sprite-sheet-generator.js',
|
|
100
|
+
'./src/server/shape-generator.js',
|
|
101
|
+
'./src/server/semantic-layer-generator.js',
|
|
102
|
+
'./test/shape-generator.test.js',
|
|
104
103
|
'bin/cyberia.js',
|
|
105
104
|
]) {
|
|
106
105
|
if (fs.existsSync(deletePath)) fs.removeSync('../pwa-microservices-template/' + deletePath);
|
|
@@ -114,6 +113,7 @@ try {
|
|
|
114
113
|
`./.github/workflows/pwa-microservices-template-test.ci.yml`,
|
|
115
114
|
`./.github/workflows/npmpkg.ci.yml`,
|
|
116
115
|
`./.github/workflows/ghpkg.ci.yml`,
|
|
116
|
+
`./.github/workflows/gitlab.ci.yml`,
|
|
117
117
|
`./.github/workflows/publish.ci.yml`,
|
|
118
118
|
`./.github/workflows/release.cd.yml`,
|
|
119
119
|
'./src/ws/IoInterface.js',
|
|
@@ -133,6 +133,7 @@ try {
|
|
|
133
133
|
templatePackageJson.devDependencies = originPackageJson.devDependencies;
|
|
134
134
|
templatePackageJson.version = originPackageJson.version;
|
|
135
135
|
templatePackageJson.scripts = originPackageJson.scripts;
|
|
136
|
+
templatePackageJson.overrides = originPackageJson.overrides;
|
|
136
137
|
templatePackageJson.name = name;
|
|
137
138
|
templatePackageJson.description = description;
|
|
138
139
|
// templatePackageJson.scripts.dev = dev;
|
|
@@ -146,15 +147,17 @@ try {
|
|
|
146
147
|
JSON.stringify(templatePackageJson, null, 4),
|
|
147
148
|
'utf8',
|
|
148
149
|
);
|
|
149
|
-
|
|
150
150
|
const originPackageLockJson = JSON.parse(fs.readFileSync('./package-lock.json', 'utf8'));
|
|
151
|
+
|
|
151
152
|
const templatePackageLockJson = JSON.parse(
|
|
152
153
|
fs.readFileSync('../pwa-microservices-template/package-lock.json', 'utf8'),
|
|
153
154
|
);
|
|
155
|
+
|
|
154
156
|
const originBasePackageLock = newInstance(templatePackageLockJson.packages['']);
|
|
157
|
+
templatePackageLockJson.name = name;
|
|
155
158
|
templatePackageLockJson.version = originPackageLockJson.version;
|
|
156
159
|
templatePackageLockJson.packages = originPackageLockJson.packages;
|
|
157
|
-
templatePackageLockJson.packages[''].name =
|
|
160
|
+
templatePackageLockJson.packages[''].name = name;
|
|
158
161
|
templatePackageLockJson.packages[''].version = originPackageLockJson.version;
|
|
159
162
|
templatePackageLockJson.packages[''].hasInstallScript = originBasePackageLock.hasInstallScript;
|
|
160
163
|
templatePackageLockJson.packages[''].license = originBasePackageLock.license;
|
|
@@ -163,6 +166,8 @@ try {
|
|
|
163
166
|
JSON.stringify(templatePackageLockJson, null, 4),
|
|
164
167
|
'utf8',
|
|
165
168
|
);
|
|
169
|
+
// Regenerate package-lock.json to match the modified package.json
|
|
170
|
+
// shellExec(`cd ../pwa-microservices-template && npm install --package-lock-only --ignore-scripts`);
|
|
166
171
|
fs.writeFileSync(
|
|
167
172
|
'../pwa-microservices-template/README.md',
|
|
168
173
|
fs
|