underpost 2.8.884 → 2.8.886

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.
Files changed (82) hide show
  1. package/.env.production +3 -0
  2. package/.github/workflows/ghpkg.ci.yml +1 -1
  3. package/.github/workflows/npmpkg.ci.yml +1 -1
  4. package/.github/workflows/publish.ci.yml +5 -5
  5. package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -1
  6. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  7. package/CHANGELOG.md +145 -1
  8. package/Dockerfile +1 -1
  9. package/README.md +5 -121
  10. package/bin/build.js +18 -9
  11. package/bin/deploy.js +102 -197
  12. package/bin/file.js +4 -6
  13. package/cli.md +16 -12
  14. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  15. package/manifests/deployment/dd-test-development/deployment.yaml +54 -54
  16. package/manifests/deployment/dd-test-development/proxy.yaml +4 -4
  17. package/manifests/lxd/underpost-setup.sh +5 -5
  18. package/package.json +3 -3
  19. package/scripts/ssl.sh +164 -0
  20. package/src/cli/baremetal.js +7 -7
  21. package/src/cli/cloud-init.js +1 -1
  22. package/src/cli/cluster.js +31 -3
  23. package/src/cli/cron.js +9 -1
  24. package/src/cli/db.js +64 -2
  25. package/src/cli/deploy.js +189 -4
  26. package/src/cli/env.js +43 -0
  27. package/src/cli/fs.js +96 -2
  28. package/src/cli/image.js +15 -0
  29. package/src/cli/index.js +17 -4
  30. package/src/cli/monitor.js +33 -2
  31. package/src/cli/repository.js +95 -2
  32. package/src/cli/run.js +315 -51
  33. package/src/cli/script.js +32 -0
  34. package/src/cli/secrets.js +34 -0
  35. package/src/cli/test.js +42 -1
  36. package/src/client/components/core/Css.js +16 -8
  37. package/src/client/components/core/Docs.js +5 -13
  38. package/src/client/components/core/Modal.js +48 -29
  39. package/src/client/components/core/Router.js +6 -3
  40. package/src/client/components/core/Worker.js +205 -118
  41. package/src/client/components/core/windowGetDimensions.js +229 -162
  42. package/src/client/components/default/MenuDefault.js +1 -0
  43. package/src/client.dev.js +6 -3
  44. package/src/db/DataBaseProvider.js +65 -12
  45. package/src/db/mariadb/MariaDB.js +39 -6
  46. package/src/db/mongo/MongooseDB.js +51 -133
  47. package/src/index.js +2 -2
  48. package/src/mailer/EmailRender.js +58 -9
  49. package/src/mailer/MailerProvider.js +99 -25
  50. package/src/runtime/express/Express.js +32 -38
  51. package/src/runtime/lampp/Dockerfile +1 -1
  52. package/src/server/auth.js +9 -28
  53. package/src/server/backup.js +20 -0
  54. package/src/server/client-build-live.js +23 -12
  55. package/src/server/client-build.js +136 -91
  56. package/src/server/client-dev-server.js +35 -8
  57. package/src/server/client-icons.js +19 -0
  58. package/src/server/conf.js +543 -80
  59. package/src/server/dns.js +184 -42
  60. package/src/server/downloader.js +65 -24
  61. package/src/server/object-layer.js +260 -162
  62. package/src/server/peer.js +3 -9
  63. package/src/server/proxy.js +93 -76
  64. package/src/server/runtime.js +15 -21
  65. package/src/server/ssr.js +4 -4
  66. package/src/server/start.js +39 -0
  67. package/src/server/tls.js +251 -0
  68. package/src/server/valkey.js +11 -10
  69. package/src/ws/IoInterface.js +133 -39
  70. package/src/ws/IoServer.js +80 -31
  71. package/src/ws/core/core.ws.connection.js +50 -16
  72. package/src/ws/core/core.ws.emit.js +47 -8
  73. package/src/ws/core/core.ws.server.js +62 -10
  74. package/manifests/maas/lxd-preseed.yaml +0 -32
  75. package/src/server/ssl.js +0 -108
  76. /package/{manifests/maas → scripts}/device-scan.sh +0 -0
  77. /package/{manifests/maas → scripts}/gpu-diag.sh +0 -0
  78. /package/{manifests/maas → scripts}/maas-setup.sh +0 -0
  79. /package/{manifests/maas → scripts}/nat-iptables.sh +0 -0
  80. /package/{manifests/maas → scripts}/nvim.sh +0 -0
  81. /package/{manifests/maas → scripts}/snap-clean.sh +0 -0
  82. /package/{manifests/maas → scripts}/ssh-cluster-info.sh +0 -0
package/bin/deploy.js CHANGED
@@ -122,7 +122,12 @@ try {
122
122
  }
123
123
  break;
124
124
  case 'conf': {
125
- loadConf(process.argv[3], process.argv[4]);
125
+ let subConf = process.argv[5] ?? '';
126
+
127
+ if (!['current', 'clean'].includes(process.argv[3]))
128
+ dotenv.config({ path: `./engine-private/conf/${process.argv[3]}/.env.${process.argv[4]}`, override: true });
129
+
130
+ loadConf(process.argv[3], subConf);
126
131
  break;
127
132
  }
128
133
 
@@ -194,10 +199,10 @@ try {
194
199
  {
195
200
  dotenv.config({ override: true });
196
201
  if (!process.argv[3]) process.argv[3] = 'dd-default';
197
- const { deployId, folder } = loadConf(process.argv[3]);
202
+ const { deployId } = loadConf(process.argv[3], process.argv[4] ?? '');
198
203
 
199
- let argHost = process.argv[4] ? process.argv[4].split(',') : [];
200
- let argPath = process.argv[5] ? process.argv[5].split(',') : [];
204
+ let argHost = process.argv[5] ? process.argv[5].split(',') : [];
205
+ let argPath = process.argv[6] ? process.argv[6].split(',') : [];
201
206
  let deployIdSingleReplicas = [];
202
207
  const serverConf = deployId
203
208
  ? JSON.parse(fs.readFileSync(`./conf/conf.server.json`, 'utf8'))
@@ -209,16 +214,10 @@ try {
209
214
  } else {
210
215
  serverConf[host][path].liteBuild = process.argv.includes('l') ? true : false;
211
216
  serverConf[host][path].minifyBuild = process.env.NODE_ENV === 'production' ? true : false;
212
- if (process.env.NODE_ENV === 'development' && process.argv.includes('static')) {
213
- serverConf[host][path].apiBaseProxyPath = '/';
214
- serverConf[host][path].apiBaseHost = `localhost:${parseInt(process.env.PORT) + 1}`;
215
- }
216
217
  if (serverConf[host][path].singleReplica && serverConf[host][path].replicas) {
217
218
  deployIdSingleReplicas = deployIdSingleReplicas.concat(
218
219
  serverConf[host][path].replicas.map((replica) => buildReplicaId({ deployId, replica })),
219
220
  );
220
-
221
- // shellExec(Cmd.replica(deployId, host, path));
222
221
  }
223
222
  }
224
223
  }
@@ -254,25 +253,32 @@ try {
254
253
  { env: 'development', port: 4000 },
255
254
  { env: 'test', port: 5000 },
256
255
  ];
257
- let port = 0;
258
- const singleReplicaHosts = [];
256
+ let portOffset = 0;
259
257
  for (const deployIdObj of dataDeploy) {
260
- const { deployId, replicaHost } = deployIdObj;
261
- if (replicaHost && !singleReplicaHosts.includes(replicaHost)) singleReplicaHosts.push(replicaHost);
258
+ const { deployId } = deployIdObj;
262
259
  const baseConfPath = fs.existsSync(`./engine-private/replica/${deployId}`)
263
260
  ? `./engine-private/replica`
264
261
  : `./engine-private/conf`;
265
262
  for (const envInstanceObj of dataEnv) {
266
263
  const envPath = `${baseConfPath}/${deployId}/.env.${envInstanceObj.env}`;
267
264
  const envObj = dotenv.parse(fs.readFileSync(envPath, 'utf8'));
268
- envObj.PORT = envInstanceObj.port + port - singleReplicaHosts.length - (replicaHost ? 1 : 0);
265
+ envObj.PORT = `${envInstanceObj.port + portOffset}`;
269
266
 
270
267
  writeEnv(envPath, envObj);
271
268
  }
272
269
  const serverConf = loadReplicas(
273
270
  JSON.parse(fs.readFileSync(`${baseConfPath}/${deployId}/conf.server.json`, 'utf8')),
274
271
  );
275
- for (const host of Object.keys(serverConf)) port += Object.keys(serverConf[host]).length;
272
+ for (const host of Object.keys(serverConf)) {
273
+ for (const path of Object.keys(serverConf[host])) {
274
+ if (serverConf[host][path].singleReplica) {
275
+ portOffset--;
276
+ continue;
277
+ }
278
+ portOffset++;
279
+ if (serverConf[host][path].peer) portOffset++;
280
+ }
281
+ }
276
282
  }
277
283
  break;
278
284
 
@@ -431,11 +437,11 @@ try {
431
437
  'utf8',
432
438
  );
433
439
 
434
- if (fs.existsSync(`./.github/workflows/docker-image.yml`))
440
+ if (fs.existsSync(`./.github/workflows/docker-image.ci.yml`))
435
441
  fs.writeFileSync(
436
- `./.github/workflows/docker-image.yml`,
442
+ `./.github/workflows/docker-image.ci.yml`,
437
443
  fs
438
- .readFileSync(`./.github/workflows/docker-image.yml`, 'utf8')
444
+ .readFileSync(`./.github/workflows/docker-image.ci.yml`, 'utf8')
439
445
  .replaceAll(`underpost-engine:v${version}`, `underpost-engine:v${newVersion}`),
440
446
  'utf8',
441
447
  );
@@ -924,82 +930,6 @@ EOF`);
924
930
  break;
925
931
  }
926
932
 
927
- case 'nfs': {
928
- // Daemon RPC NFSv3. ports:
929
-
930
- // 2049 (TCP/UDP) – nfsd standard port.
931
- // 111 (TCP/UDP) – rpcbind/portmapper.
932
- // 20048 (TCP/UDP) – rpc.mountd.
933
- // 32765 (TCP/UDP) – rpc.statd.
934
- // 32766 (TCP/UDP) – lockd (NLM).
935
-
936
- // Configure export and permissions:
937
- // /etc/exports
938
-
939
- // Configure ports:
940
- // /etc/nfs.conf
941
-
942
- fs.writeFileSync(
943
- `/etc/nfs.conf`,
944
- `
945
- [mountd]
946
- port = 20048
947
-
948
- [statd]
949
- port = 32765
950
- outgoing-port = 32765
951
-
952
- [nfsd]
953
- rdma=y
954
- rdma-port=20049
955
-
956
- [lockd]
957
- port = 32766
958
- udp-port = 32766
959
- `,
960
- 'utf8',
961
- );
962
-
963
- // Client users have read-only access to resources and are identified as anonymous on the server.
964
- // /share ip-client(ro,all_squash)
965
-
966
- // Client users can modify resources and keep their UID on the server. Only root is identified as anonymous.
967
- // /share ip-client(rw)
968
-
969
- // Users on client workstation 1 can modify resources, while those on client workstation 2 have read-only access.
970
- // UIDs are kept on the server, and only root is identified as anonymous.
971
- // /share ip-client1(rw) ip-client2(ro)
972
-
973
- // Client1 users can modify resources. Their UID is changed to 1001 and their GID to 100 on the server.
974
- // /share ip-client(rw,all_squash,anonuid=1001,anongid=100)
975
-
976
- // sudo dnf install nfs-utils
977
- // sudo systemctl enable --now rpcbind // RPC map service
978
- // sudo systemctl enable --now nfs-server // nfs domains nfsd
979
-
980
- // Update exports:
981
- // shellExec(`sudo exportfs -a -r`);
982
- // shellExec(`sudo exportfs -v`);
983
-
984
- // Active nfs
985
- shellExec(`sudo exportfs -s`);
986
-
987
- shellExec(`sudo exportfs -rav`);
988
-
989
- // Rocky enable virt_use_nfs
990
- // sudo setsebool -P virt_use_nfs 1
991
-
992
- // Disable share:
993
- // sudo exportfs -u <client-ip>:${process.env.NFS_EXPORT_PATH}/rpi4mb
994
-
995
- // Nfs client:
996
- // mount -t nfs <server-ip>:/server-mnt /mnt
997
- // umount /mnt
998
-
999
- shellExec(`sudo systemctl restart nfs-server`);
1000
- break;
1001
- }
1002
-
1003
933
  case 'mount': {
1004
934
  const mounts = shellExec(`mount`).split(`\n`);
1005
935
  console.table(
@@ -1030,102 +960,6 @@ udp-port = 32766
1030
960
  break;
1031
961
  }
1032
962
 
1033
- case 'maas-ports': {
1034
- // Configure firewall:
1035
-
1036
- // systemctl stop firewalld
1037
- // systemctl mask firewalld
1038
-
1039
- // ufw disable
1040
- // ufw enable
1041
-
1042
- // sudo snap install ufw
1043
- // const ports = ['80', '443', '22', '3000-3100'];
1044
- const ports = [
1045
- '43',
1046
- '53',
1047
- '60',
1048
- '66',
1049
- '67',
1050
- '69',
1051
- '4011',
1052
- '111',
1053
- '2049',
1054
- '20048',
1055
- '20049',
1056
- '32765',
1057
- '32766',
1058
- '5248',
1059
- '5240',
1060
- ];
1061
- for (const port of ports) {
1062
- shellExec(`ufw allow ${port}/tcp`);
1063
- shellExec(`ufw allow ${port}/udp`);
1064
- }
1065
-
1066
- shellExec(`sudo systemctl mask firewalld`);
1067
-
1068
- break;
1069
- }
1070
-
1071
- case 'iptables': {
1072
- shellExec(`sudo systemctl enable nftables`);
1073
- shellExec(`sudo systemctl restart nftables`);
1074
-
1075
- shellExec(`sudo tee /etc/nftables.conf <<EOF
1076
- table inet filter {
1077
- chain input {
1078
- type filter hook input priority 0;
1079
- policy drop;
1080
- tcp dport 22 accept
1081
- }
1082
- }
1083
- EOF`);
1084
- shellExec(`sudo nft -f /etc/nftables.conf`);
1085
-
1086
- // sudo systemctl stop nftables
1087
- // sudo systemctl disable nftables
1088
-
1089
- break;
1090
- }
1091
-
1092
- case 'rpi4': {
1093
- // Rpi4 Run Bootloader:
1094
-
1095
- // 1) create boot.conf
1096
-
1097
- // 2) Run lite RPiOs from rpi-imager
1098
- // with boot.conf files in root disk path
1099
-
1100
- // 3) cd /boot/firmware && sudo rpi-eeprom-config --apply boot.conf
1101
-
1102
- // 4) sudo reboot
1103
-
1104
- // 5) check: 'vcgencmd bootloader_version'
1105
- // 6) check: 'vcgencmd bootloader_config'
1106
-
1107
- // 7) shutdown and restart without sd card
1108
-
1109
- // sudo apt update
1110
- // sudo apt install git
1111
-
1112
- break;
1113
- }
1114
-
1115
- case 'blue': {
1116
- // lsusb | grep blue -i
1117
- // rfkill list
1118
- // sudo service bluetooth start
1119
- // bluetoothctl show
1120
- // sudo rfkill unblock bluetooth
1121
- // dmesg | grep -i bluetooth
1122
- // journalctl -u bluetooth -f
1123
- // sudo dnf update bluez bluez-libs bluez-utils
1124
- // sudo rmmod btusb
1125
- // sudo modprobe btusb
1126
- break;
1127
- }
1128
-
1129
963
  case 'fastapi-models': {
1130
964
  shellExec(`chmod +x ../full-stack-fastapi-template/backend/initial_data.sh`);
1131
965
  shellExec(`../full-stack-fastapi-template/backend/initial_data.sh`);
@@ -1380,13 +1214,84 @@ nvidia/gpu-operator \
1380
1214
  break;
1381
1215
  }
1382
1216
 
1383
- case 'sbt': {
1384
- // https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Linux.html
1217
+ case 'udpate-version-files': {
1218
+ const oldNpmVersion = process.argv[3];
1219
+ const oldNodeVersion = process.argv[4];
1220
+ const oldNodeMajorVersion = oldNodeVersion.split('.')[0];
1221
+ const nodeVersion = shellExec(`node --version`, { stdout: true }).trim().replace('v', '');
1222
+ const newNodeMajorVersion = nodeVersion.split('.')[0];
1223
+ const npmVersion = shellExec(`npm --version`, { stdout: true }).trim();
1224
+
1225
+ fs.writeFileSync(
1226
+ `README.md`,
1227
+ fs
1228
+ .readFileSync(`README.md`, 'utf8')
1229
+ .replaceAll(oldNodeVersion, nodeVersion)
1230
+ .replaceAll(oldNpmVersion, npmVersion),
1231
+ );
1232
+ fs.writeFileSync(
1233
+ `manifests/lxd/underpost-setup.sh`,
1234
+ fs
1235
+ .readFileSync(`manifests/lxd/underpost-setup.sh`, 'utf8')
1236
+ .replaceAll(oldNodeVersion, nodeVersion)
1237
+ .replaceAll(oldNpmVersion, npmVersion),
1238
+ );
1239
+ fs.writeFileSync(
1240
+ `src/client/public/nexodev/docs/references/Getting started.md`,
1241
+ fs
1242
+ .readFileSync(`src/client/public/nexodev/docs/references/Getting started.md`, 'utf8')
1243
+ .replaceAll(oldNodeVersion, nodeVersion)
1244
+ .replaceAll(oldNpmVersion, npmVersion),
1245
+ );
1246
+
1247
+ const workflowFiles = [
1248
+ `./.github/workflows/coverall.ci.yml`,
1249
+
1250
+ `./.github/workflows/engine-core.ci.yml`,
1251
+
1252
+ `./.github/workflows/engine-cyberia.ci.yml`,
1253
+
1254
+ `./.github/workflows/engine-lampp.ci.yml`,
1255
+
1256
+ `./.github/workflows/engine-test.ci.yml`,
1257
+
1258
+ `./.github/workflows/ghpkg.ci.yml`,
1259
+
1260
+ `./.github/workflows/npmpkg.ci.yml`,
1261
+
1262
+ `./.github/workflows/publish.ci.yml`,
1263
+
1264
+ `./.github/workflows/pwa-microservices-template-page.cd.yml`,
1265
+
1266
+ `./.github/workflows/pwa-microservices-template-test.ci.yml`,
1267
+
1268
+ `./.github/workflows/test-api-rest.cd.yml`,
1269
+
1270
+ `./src/runtime/lampp/Dockerfile`,
1271
+
1272
+ `./Dockerfile`,
1273
+ ];
1274
+
1275
+ workflowFiles.forEach((file) => {
1276
+ fs.writeFileSync(
1277
+ file,
1278
+ fs
1279
+ .readFileSync(file, 'utf8')
1280
+ .replaceAll(oldNodeMajorVersion + '.x', newNodeMajorVersion + '.x')
1281
+ .replaceAll(oldNodeVersion, nodeVersion)
1282
+ .replaceAll(oldNpmVersion, npmVersion),
1283
+ );
1284
+ });
1285
+ pbcopy(`nvm alias default v${nodeVersion}`);
1286
+ break;
1287
+ }
1385
1288
 
1386
- // sudo rm -f /etc/yum.repos.d/bintray-rpm.repo
1387
- // curl -L https://www.scala-sbt.org/sbt-rpm.repo > sbt-rpm.repo
1388
- // sudo mv sbt-rpm.repo /etc/yum.repos.d/
1389
- // sudo yum install sbt
1289
+ case 'tls': {
1290
+ fs.mkdirSync(`./engine-private/ssl/localhost`, { recursive: true });
1291
+ const targetDir = `./engine-private/ssl/localhost`;
1292
+ const domains = ['localhost', '127.0.0.1', '::1'];
1293
+ shellExec(`chmod +x ./scripts/ssl.sh`);
1294
+ shellExec(`./scripts/ssl.sh ${targetDir} "${domains.join(' ')}"`);
1390
1295
  break;
1391
1296
  }
1392
1297
  }
package/bin/file.js CHANGED
@@ -112,6 +112,8 @@ try {
112
112
  `./.github/workflows/ghpkg.ci.yml`,
113
113
  `./.github/workflows/publish.ci.yml`,
114
114
  `./.github/workflows/release.cd.yml`,
115
+ './src/ws/IoInterface.js',
116
+ './src/ws/IoServer.js',
115
117
  ])
116
118
  fs.copyFileSync(_path, `../pwa-microservices-template/${_path}`);
117
119
 
@@ -165,13 +167,9 @@ try {
165
167
 
166
168
  originMd =
167
169
  originMd.split(`<!-- badges -->`)[0] +
168
- `
169
- <!-- badges -->
170
- ` +
170
+ `<!-- badges -->` +
171
171
  badges +
172
- `
173
- <!-- end-badges -->
174
- ` +
172
+ `<!-- end-badges -->` +
175
173
  originMd.split(`<!-- end-badges -->`)[1];
176
174
 
177
175
  const splitKeyword = '## underpost ci/cd cli';
package/cli.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v2.8.884
1
+ ## underpost ci/cd cli v2.8.886
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -7,13 +7,13 @@
7
7
  -h, --help display help for command
8
8
 
9
9
  Commands:
10
- new [options] <app-name> Initializes a new Underpost project with a predefined structure.
10
+ new [options] <app-name> Initializes a new Underpost project, service, or configuration.
11
11
  start [options] <deploy-id> [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
12
12
  clone [options] <uri> Clones a specified GitHub repository into the current directory.
13
13
  pull [options] <path> <uri> Pulls the latest changes from a specified GitHub repository.
14
14
  cmt [options] <path> <commit-type> [module-tag] [message] Manages commits to a GitHub repository, supporting various commit types and options.
15
15
  push [options] <path> <uri> Pushes committed changes from a local repository to a remote GitHub repository.
16
- env <deploy-id> [env] Sets environment variables and configurations related to a specific deployment ID.
16
+ env [deploy-id] [env] [subConf] Sets environment variables and configurations related to a specific deployment ID.
17
17
  config [options] <operator> [key] [value] Manages Underpost configurations using various operators.
18
18
  root Displays the root path of the npm installation.
19
19
  cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
@@ -44,16 +44,18 @@ Commands:
44
44
  ```
45
45
  Usage: underpost new [options] <app-name>
46
46
 
47
- Initializes a new Underpost project with a predefined structure.
47
+ Initializes a new Underpost project, service, or configuration.
48
48
 
49
49
  Arguments:
50
- app-name The name or deploy-id of the application to create.
50
+ app-name The name or deploy-id of the application to create.
51
51
 
52
52
  Options:
53
- --deploy-id Crete deploy ID conf env files
54
- --cluster Create deploy ID cluster files and sync to current cluster
55
- --dev Sets the development cli context
56
- -h, --help display help for command
53
+ --deploy-id Crete deploy ID conf env files
54
+ --cluster Create deploy ID cluster files and sync to current
55
+ cluster
56
+ --dev Sets the development cli context
57
+ --sub-conf <sub-conf> Create sub conf env files
58
+ -h, --help display help for command
57
59
 
58
60
  ```
59
61
 
@@ -157,16 +159,18 @@ Options:
157
159
 
158
160
  ### `env` :
159
161
  ```
160
- Usage: underpost env [options] <deploy-id> [env]
162
+ Usage: underpost env [options] [deploy-id] [env] [subConf]
161
163
 
162
164
  Sets environment variables and configurations related to a specific deployment
163
165
  ID.
164
166
 
165
167
  Arguments:
166
168
  deploy-id The deployment configuration ID. Use 'clean' to restore default
167
- environment settings.
169
+ environment settings. User 'root' to load root env. User
170
+ 'current' to get plain current deploy Id.
168
171
  env Optional: The environment to set (e.g., "production",
169
172
  "development"). Defaults to "production".
173
+ subConf Optional: The sub configuration to set.
170
174
 
171
175
  Options:
172
176
  -h, --help display help for command
@@ -603,7 +607,7 @@ Options:
603
607
  Runs a script from the specified path.
604
608
 
605
609
  Arguments:
606
- runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, ssh-cluster-info, cyberia-ide, engine-ide, template-deploy, clean, pull, release-deploy, ssh-deploy, ide, dev-client, dev-api, sync, ls-deployments, monitor, db-client, promote, metrics, cluster, deploy, tf-vae-test, deploy-job.
610
+ runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, underpost-config, gpu-env, tf-gpu-test, dev-cluster, ssh-cluster-info, cyberia-ide, engine-ide, cluster-build, template-deploy, clean, pull, release-deploy, ssh-deploy, ide, sync, ls-deployments, monitor, db-client, promote, metrics, cluster, deploy, sync-replica, tf-vae-test, deploy-job.
607
611
  path The absolute or relative directory path where the script is located.
608
612
 
609
613
  Options:
@@ -17,7 +17,7 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-default-development-blue
20
- image: localhost/rockylinux9-underpost:v2.8.884
20
+ image: localhost/rockylinux9-underpost:v2.8.886
21
21
  # resources:
22
22
  # requests:
23
23
  # memory: "124Ki"
@@ -100,7 +100,7 @@ spec:
100
100
  spec:
101
101
  containers:
102
102
  - name: dd-default-development-green
103
- image: localhost/rockylinux9-underpost:v2.8.884
103
+ image: localhost/rockylinux9-underpost:v2.8.886
104
104
  # resources:
105
105
  # requests:
106
106
  # memory: "124Ki"
@@ -17,13 +17,13 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-test-development-blue
20
- image: localhost/rockylinux9-underpost:v2.8.884
20
+ image: localhost/rockylinux9-underpost:v2.8.886
21
21
  # resources:
22
22
  # requests:
23
- # memory: "96294Ki"
23
+ # memory: "94Ki"
24
24
  # cpu: "75m"
25
25
  # limits:
26
- # memory: "1540709Ki"
26
+ # memory: "1504Ki"
27
27
  # cpu: "1200m"
28
28
  command:
29
29
  - /bin/sh
@@ -49,41 +49,41 @@ spec:
49
49
  selector:
50
50
  app: dd-test-development-blue
51
51
  ports:
52
- - name: 'tcp-4021'
52
+ - name: 'tcp-4041'
53
53
  protocol: TCP
54
- port: 4021
55
- targetPort: 4021
56
- - name: 'udp-4021'
54
+ port: 4041
55
+ targetPort: 4041
56
+ - name: 'udp-4041'
57
57
  protocol: UDP
58
- port: 4021
59
- targetPort: 4021
58
+ port: 4041
59
+ targetPort: 4041
60
60
 
61
- - name: 'tcp-4022'
61
+ - name: 'tcp-4042'
62
62
  protocol: TCP
63
- port: 4022
64
- targetPort: 4022
65
- - name: 'udp-4022'
63
+ port: 4042
64
+ targetPort: 4042
65
+ - name: 'udp-4042'
66
66
  protocol: UDP
67
- port: 4022
68
- targetPort: 4022
67
+ port: 4042
68
+ targetPort: 4042
69
69
 
70
- - name: 'tcp-4023'
70
+ - name: 'tcp-4043'
71
71
  protocol: TCP
72
- port: 4023
73
- targetPort: 4023
74
- - name: 'udp-4023'
72
+ port: 4043
73
+ targetPort: 4043
74
+ - name: 'udp-4043'
75
75
  protocol: UDP
76
- port: 4023
77
- targetPort: 4023
76
+ port: 4043
77
+ targetPort: 4043
78
78
 
79
- - name: 'tcp-4024'
79
+ - name: 'tcp-4044'
80
80
  protocol: TCP
81
- port: 4024
82
- targetPort: 4024
83
- - name: 'udp-4024'
81
+ port: 4044
82
+ targetPort: 4044
83
+ - name: 'udp-4044'
84
84
  protocol: UDP
85
- port: 4024
86
- targetPort: 4024
85
+ port: 4044
86
+ targetPort: 4044
87
87
  type: LoadBalancer
88
88
  ---
89
89
  apiVersion: apps/v1
@@ -104,13 +104,13 @@ spec:
104
104
  spec:
105
105
  containers:
106
106
  - name: dd-test-development-green
107
- image: localhost/rockylinux9-underpost:v2.8.884
107
+ image: localhost/rockylinux9-underpost:v2.8.886
108
108
  # resources:
109
109
  # requests:
110
- # memory: "96294Ki"
110
+ # memory: "94Ki"
111
111
  # cpu: "75m"
112
112
  # limits:
113
- # memory: "1540709Ki"
113
+ # memory: "1504Ki"
114
114
  # cpu: "1200m"
115
115
  command:
116
116
  - /bin/sh
@@ -136,39 +136,39 @@ spec:
136
136
  selector:
137
137
  app: dd-test-development-green
138
138
  ports:
139
- - name: 'tcp-4021'
139
+ - name: 'tcp-4041'
140
140
  protocol: TCP
141
- port: 4021
142
- targetPort: 4021
143
- - name: 'udp-4021'
141
+ port: 4041
142
+ targetPort: 4041
143
+ - name: 'udp-4041'
144
144
  protocol: UDP
145
- port: 4021
146
- targetPort: 4021
145
+ port: 4041
146
+ targetPort: 4041
147
147
 
148
- - name: 'tcp-4022'
148
+ - name: 'tcp-4042'
149
149
  protocol: TCP
150
- port: 4022
151
- targetPort: 4022
152
- - name: 'udp-4022'
150
+ port: 4042
151
+ targetPort: 4042
152
+ - name: 'udp-4042'
153
153
  protocol: UDP
154
- port: 4022
155
- targetPort: 4022
154
+ port: 4042
155
+ targetPort: 4042
156
156
 
157
- - name: 'tcp-4023'
157
+ - name: 'tcp-4043'
158
158
  protocol: TCP
159
- port: 4023
160
- targetPort: 4023
161
- - name: 'udp-4023'
159
+ port: 4043
160
+ targetPort: 4043
161
+ - name: 'udp-4043'
162
162
  protocol: UDP
163
- port: 4023
164
- targetPort: 4023
163
+ port: 4043
164
+ targetPort: 4043
165
165
 
166
- - name: 'tcp-4024'
166
+ - name: 'tcp-4044'
167
167
  protocol: TCP
168
- port: 4024
169
- targetPort: 4024
170
- - name: 'udp-4024'
168
+ port: 4044
169
+ targetPort: 4044
170
+ - name: 'udp-4044'
171
171
  protocol: UDP
172
- port: 4024
173
- targetPort: 4024
172
+ port: 4044
173
+ targetPort: 4044
174
174
  type: LoadBalancer