cyberia 3.0.2 → 3.1.3

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 (182) hide show
  1. package/{.env.production → .env.example} +20 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +41 -10
  3. package/.github/workflows/engine-cyberia.ci.yml +53 -14
  4. package/.github/workflows/ghpkg.ci.yml +1 -1
  5. package/.github/workflows/gitlab.ci.yml +1 -1
  6. package/.github/workflows/hardhat.ci.yml +82 -0
  7. package/.github/workflows/npmpkg.ci.yml +37 -8
  8. package/.github/workflows/publish.ci.yml +5 -5
  9. package/.github/workflows/publish.cyberia.ci.yml +5 -5
  10. package/.github/workflows/pwa-microservices-template-page.cd.yml +3 -3
  11. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  12. package/.github/workflows/release.cd.yml +3 -2
  13. package/.vscode/extensions.json +9 -8
  14. package/.vscode/settings.json +3 -2
  15. package/CHANGELOG.md +533 -290
  16. package/CLI-HELP.md +79 -53
  17. package/WHITE-PAPER.md +1540 -0
  18. package/bin/build.js +16 -11
  19. package/bin/cyberia.js +959 -8
  20. package/bin/deploy.js +103 -270
  21. package/bin/file.js +2 -1
  22. package/bin/index.js +959 -8
  23. package/bin/vs.js +3 -3
  24. package/conf.js +277 -77
  25. package/deployment.yaml +218 -4
  26. package/hardhat/.env.example +31 -0
  27. package/hardhat/README.md +531 -0
  28. package/hardhat/WHITE-PAPER.md +1540 -0
  29. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  30. package/hardhat/deployments/.gitkeep +0 -0
  31. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  32. package/hardhat/hardhat.config.js +136 -0
  33. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  34. package/hardhat/networks/besu-object-layer.network.json +138 -0
  35. package/hardhat/package-lock.json +7628 -0
  36. package/hardhat/package.json +45 -0
  37. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  38. package/hardhat/test/ObjectLayerToken.js +590 -0
  39. package/jsdoc.dd-cyberia.json +59 -0
  40. package/jsdoc.json +20 -13
  41. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +1 -1
  42. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +1 -1
  43. package/manifests/deployment/dd-cyberia-development/deployment.yaml +490 -0
  44. package/manifests/deployment/dd-cyberia-development/proxy.yaml +261 -0
  45. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
  46. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  47. package/manifests/deployment/dd-test-development/deployment.yaml +52 -52
  48. package/manifests/deployment/dd-test-development/proxy.yaml +4 -4
  49. package/manifests/pv-pvc-dd.yaml +1 -1
  50. package/package.json +60 -50
  51. package/proxy.yaml +128 -9
  52. package/pv-pvc.yaml +132 -0
  53. package/scripts/k3s-node-setup.sh +1 -1
  54. package/scripts/ports-ls.sh +2 -0
  55. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +3 -1
  56. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +1 -2
  57. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +40 -7
  58. package/src/api/document/document.service.js +1 -1
  59. package/src/api/file/file.controller.js +3 -1
  60. package/src/api/file/file.service.js +28 -5
  61. package/src/api/ipfs/ipfs.service.js +2 -2
  62. package/src/api/object-layer/object-layer.controller.js +6 -2
  63. package/src/api/object-layer/object-layer.model.js +67 -21
  64. package/src/api/object-layer/object-layer.router.js +668 -42
  65. package/src/api/object-layer/object-layer.service.js +10 -16
  66. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
  67. package/src/api/user/user.router.js +10 -5
  68. package/src/api/user/user.service.js +7 -7
  69. package/src/cli/baremetal.js +6 -10
  70. package/src/cli/cloud-init.js +0 -3
  71. package/src/cli/db.js +54 -71
  72. package/src/cli/deploy.js +64 -12
  73. package/src/cli/env.js +5 -5
  74. package/src/cli/fs.js +0 -2
  75. package/src/cli/image.js +0 -3
  76. package/src/cli/index.js +41 -13
  77. package/src/cli/monitor.js +5 -6
  78. package/src/cli/repository.js +329 -46
  79. package/src/cli/run.js +210 -122
  80. package/src/cli/secrets.js +1 -3
  81. package/src/cli/ssh.js +1 -1
  82. package/src/client/Itemledger.index.js +1 -959
  83. package/src/client/Underpost.index.js +36 -0
  84. package/src/client/components/core/AgGrid.js +20 -5
  85. package/src/client/components/core/Alert.js +2 -2
  86. package/src/client/components/core/Content.js +22 -3
  87. package/src/client/components/core/Docs.js +30 -6
  88. package/src/client/components/core/FileExplorer.js +71 -4
  89. package/src/client/components/core/Input.js +1 -1
  90. package/src/client/components/core/Modal.js +22 -6
  91. package/src/client/components/core/PublicProfile.js +3 -3
  92. package/src/client/components/core/RichText.js +1 -2
  93. package/src/client/components/core/Router.js +34 -1
  94. package/src/client/components/core/Worker.js +1 -1
  95. package/src/client/components/cryptokoyn/CssCryptokoyn.js +63 -1
  96. package/src/client/components/cyberia/ObjectLayerEngineModal.js +145 -119
  97. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +64 -6
  98. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +1 -0
  99. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
  100. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +0 -1
  101. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +64 -2
  102. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +1 -0
  103. package/src/client/components/itemledger/CssItemledger.js +62 -0
  104. package/src/client/components/underpost/CommonUnderpost.js +29 -0
  105. package/src/client/components/underpost/CssUnderpost.js +281 -0
  106. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
  107. package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
  108. package/src/client/components/underpost/ElementsUnderpost.js +38 -0
  109. package/src/client/components/underpost/LabGalleryUnderpost.js +82 -0
  110. package/src/client/components/underpost/LogInUnderpost.js +23 -0
  111. package/src/client/components/underpost/LogOutUnderpost.js +15 -0
  112. package/src/client/components/underpost/MenuUnderpost.js +691 -0
  113. package/src/client/components/underpost/RoutesUnderpost.js +47 -0
  114. package/src/client/components/underpost/SettingsUnderpost.js +16 -0
  115. package/src/client/components/underpost/SignUpUnderpost.js +9 -0
  116. package/src/client/components/underpost/SocketIoUnderpost.js +54 -0
  117. package/src/client/components/underpost/TranslateUnderpost.js +10 -0
  118. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  119. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  120. package/src/client/public/cryptokoyn/microdata.json +85 -0
  121. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  122. package/src/client/public/cryptokoyn/sitemap +3 -3
  123. package/src/client/public/default/sitemap +3 -3
  124. package/src/client/public/itemledger/browserconfig.xml +2 -2
  125. package/src/client/public/itemledger/manifest.webmanifest +4 -4
  126. package/src/client/public/itemledger/microdata.json +71 -0
  127. package/src/client/public/itemledger/sitemap +3 -3
  128. package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
  129. package/src/client/public/test/sitemap +3 -3
  130. package/src/client/services/object-layer/object-layer.management.js +23 -4
  131. package/src/client/ssr/body/404.js +15 -11
  132. package/src/client/ssr/body/500.js +15 -11
  133. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  134. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +83 -0
  135. package/src/client/ssr/head/PwaItemledger.js +60 -0
  136. package/src/client/ssr/head/UnderpostScripts.js +6 -0
  137. package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
  138. package/src/client/ssr/pages/Test.js +11 -10
  139. package/src/client.build.js +0 -3
  140. package/src/client.dev.js +0 -3
  141. package/src/db/DataBaseProvider.js +17 -2
  142. package/src/db/mariadb/MariaDB.js +14 -9
  143. package/src/db/mongo/MongooseDB.js +17 -1
  144. package/src/index.js +1 -1
  145. package/src/proxy.js +0 -3
  146. package/src/runtime/express/Express.js +15 -9
  147. package/src/runtime/lampp/Lampp.js +6 -13
  148. package/src/server/auth.js +12 -14
  149. package/src/server/backup.js +2 -3
  150. package/src/server/besu-genesis-generator.js +1630 -0
  151. package/src/server/client-build-docs.js +126 -17
  152. package/src/server/client-build-live.js +9 -18
  153. package/src/server/client-build.js +203 -75
  154. package/src/server/client-dev-server.js +14 -13
  155. package/src/server/conf.js +376 -164
  156. package/src/server/cron.js +2 -1
  157. package/src/server/dns.js +28 -12
  158. package/src/server/downloader.js +0 -2
  159. package/src/server/logger.js +27 -9
  160. package/src/server/object-layer.js +92 -16
  161. package/src/server/peer.js +0 -2
  162. package/src/server/process.js +1 -50
  163. package/src/server/proxy.js +4 -8
  164. package/src/server/runtime.js +5 -8
  165. package/src/server/semantic-layer-generator.js +1 -0
  166. package/src/server/ssr.js +0 -3
  167. package/src/server/start.js +19 -12
  168. package/src/server/tls.js +0 -2
  169. package/src/server.js +0 -4
  170. package/.env.development +0 -43
  171. package/.env.test +0 -43
  172. package/hardhat/contracts/CryptoKoyn.sol +0 -59
  173. package/hardhat/contracts/ItemLedger.sol +0 -73
  174. package/hardhat/contracts/Lock.sol +0 -34
  175. package/hardhat/hardhat.config.cjs +0 -45
  176. package/hardhat/ignition/modules/Lock.js +0 -18
  177. package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
  178. package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
  179. package/hardhat/scripts/deployItemledger.cjs +0 -25
  180. package/hardhat/test/Lock.js +0 -126
  181. package/hardhat/white-paper.md +0 -581
  182. package/white-paper.md +0 -581
package/src/cli/env.js CHANGED
@@ -10,12 +10,10 @@ import { loggerFactory } from '../server/logger.js';
10
10
  import dotenv from 'dotenv';
11
11
  import { pbcopy } from '../server/process.js';
12
12
 
13
- dotenv.config();
14
-
15
13
  const logger = loggerFactory(import.meta);
16
14
 
17
15
  /**
18
- * @class UnderpostEnv
16
+ * @class UnderpostRootEnv
19
17
  * @description Manages the environment variables of the underpost root.
20
18
  * @memberof UnderpostEnv
21
19
  */
@@ -41,7 +39,9 @@ class UnderpostRootEnv {
41
39
  if (options.build) {
42
40
  const deployIdList = options.deployId
43
41
  ? [options.deployId]
44
- : fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8').split(',');
42
+ : fs.existsSync(`./engine-private/deploy/dd.router`)
43
+ ? fs.readFileSync(`./engine-private/deploy/dd.router`, 'utf8').split(',')
44
+ : [DEFAULT_DEPLOY_ID];
45
45
  for (const deployId of deployIdList)
46
46
  for (const envFile of ['test', 'development', 'production'])
47
47
  _set(`./engine-private/conf/${deployId}/.env.${envFile}`, key, value);
@@ -79,7 +79,7 @@ class UnderpostRootEnv {
79
79
  get(key, value, options = { plain: false, disableLog: false, copy: false }) {
80
80
  const exeRootPath = `${getNpmRootPath()}/underpost`;
81
81
  const envPath = `${exeRootPath}/.env`;
82
- if (!fs.existsSync(envPath)) {
82
+ if (!fs.existsSync(envPath) || !fs.statSync(envPath).isFile()) {
83
83
  logger.warn(`Empty environment variables`);
84
84
  return undefined;
85
85
  }
package/src/cli/fs.js CHANGED
@@ -6,14 +6,12 @@
6
6
 
7
7
  import { v2 as cloudinary } from 'cloudinary';
8
8
  import { loggerFactory } from '../server/logger.js';
9
- import dotenv from 'dotenv';
10
9
  import AdmZip from 'adm-zip';
11
10
  import * as dir from 'path';
12
11
  import fs from 'fs-extra';
13
12
  import Downloader from '../server/downloader.js';
14
13
  import { shellExec } from '../server/process.js';
15
14
  import Underpost from '../index.js';
16
- dotenv.config();
17
15
 
18
16
  const logger = loggerFactory(import.meta);
19
17
 
package/src/cli/image.js CHANGED
@@ -5,14 +5,11 @@
5
5
  */
6
6
 
7
7
  import fs from 'fs-extra';
8
- import dotenv from 'dotenv';
9
8
  import { loggerFactory } from '../server/logger.js';
10
9
  import Underpost from '../index.js';
11
10
  import { getNpmRootPath, getUnderpostRootPath } from '../server/conf.js';
12
11
  import { shellExec } from '../server/process.js';
13
12
 
14
- dotenv.config();
15
-
16
13
  const logger = loggerFactory(import.meta);
17
14
 
18
15
  /**
package/src/cli/index.js CHANGED
@@ -7,11 +7,10 @@ import { commitData } from '../client/components/core/CommonJs.js';
7
7
 
8
8
  import Underpost from '../index.js';
9
9
 
10
- const underpostRootPath = getUnderpostRootPath();
10
+ const underpostGlobalEnv = `${getUnderpostRootPath()}/.env`;
11
11
 
12
- fs.existsSync(`${underpostRootPath}/.env`)
13
- ? dotenv.config({ path: `${underpostRootPath}/.env`, override: true })
14
- : dotenv.config();
12
+ if (fs.existsSync(underpostGlobalEnv)) dotenv.config({ path: underpostGlobalEnv, override: true, quiet: true });
13
+ else dotenv.config({ quiet: true });
15
14
 
16
15
  const program = new Command();
17
16
 
@@ -27,6 +26,10 @@ program
27
26
  .option('--build', 'Build the deployment to pwa-microservices-template (requires --deploy-id)')
28
27
  .option('--clean-template', 'Clean the build directory (pwa-microservices-template)')
29
28
  .option('--sync-conf', 'Sync configuration to private repositories (requires --deploy-id)')
29
+ .option(
30
+ '--sync-start',
31
+ "Sync start scripts in deploy ID package.json with root package.json (use 'dd' as --deploy-id to sync all dd.router)",
32
+ )
30
33
  .option('--purge', 'Remove deploy ID conf and all related repositories (requires --deploy-id)')
31
34
  .option('--dev', 'Sets the development cli context')
32
35
  .option('--default-conf', 'Create default deploy ID conf env files')
@@ -34,6 +37,20 @@ program
34
37
  .description('Initializes a new Underpost project, service, or configuration.')
35
38
  .action(Underpost.repo.new);
36
39
 
40
+ program
41
+ .command('client')
42
+ .argument('[deploy-id]', 'The deployment ID to build.', 'dd-default')
43
+ .argument('[sub-conf]', 'The sub-configuration for the build.', '')
44
+ .argument('[host]', 'Comma-separated hosts to filter the build.', '')
45
+ .argument('[path]', 'Comma-separated paths to filter the build.', '')
46
+ .option('--sync-env-port', 'Sync environment port assignments across all deploy IDs')
47
+ .option('--single-replica', 'Build single replica folders instead of full client')
48
+ .option('--build-zip', 'Create zip files of the builds')
49
+ .option('--lite-build', 'Skip full build (default is full build)')
50
+ .option('--icons-build', 'Build icons')
51
+ .description('Builds client assets, single replicas, and/or syncs environment ports.')
52
+ .action(Underpost.repo.client);
53
+
37
54
  program
38
55
  .command('start')
39
56
  .argument('<deploy-id>', 'The unique identifier for the deployment configuration.')
@@ -44,6 +61,7 @@ program
44
61
  .option('--run', 'Starts application servers and monitors their health.')
45
62
  .option('--build', 'Triggers the client-side application build process.')
46
63
  .option('--underpost-quickly-install', 'Uses Underpost Quickly Install for dependency installation.')
64
+ .option('--skip-pull-base', 'Skips cloning repositories, uses current workspace code directly.')
47
65
  .action(Underpost.start.callback)
48
66
  .description('Initiates application servers, build pipelines, or other defined services based on the deployment ID.');
49
67
 
@@ -51,7 +69,7 @@ program
51
69
  .command('clone')
52
70
  .argument(`<uri>`, 'The URI of the GitHub repository (e.g., "username/repository").')
53
71
  .option('--bare', 'Performs a bare clone, downloading only the .git files.')
54
- .option('-g8', 'Uses the g8 repository extension for cloning.')
72
+ .option('--g8', 'Uses the g8 repository extension for cloning.')
55
73
  .description('Clones a specified GitHub repository into the current directory.')
56
74
  .action(Underpost.repo.clone);
57
75
 
@@ -60,7 +78,7 @@ program
60
78
  .argument('<path>', 'The absolute or relative directory path where the repository is located.')
61
79
  .argument(`<uri>`, 'The URI of the GitHub repository (e.g., "username/repository").')
62
80
  .description('Pulls the latest changes from a specified GitHub repository.')
63
- .option('-g8', 'Uses the g8 repository extension for pulling.')
81
+ .option('--g8', 'Uses the g8 repository extension for pulling.')
64
82
  .action(Underpost.repo.pull);
65
83
 
66
84
  program
@@ -90,6 +108,7 @@ program
90
108
  '--changelog-no-hash',
91
109
  'Excludes commit hashes from the generated changelog entries (used with --changelog-build).',
92
110
  )
111
+ .option('-b', 'Shows the current Git branch name.')
93
112
  .description('Manages commits to a GitHub repository, supporting various commit types and options.')
94
113
  .action(Underpost.repo.commit);
95
114
 
@@ -98,7 +117,7 @@ program
98
117
  .argument('<path>', 'The absolute or relative directory path of the repository.')
99
118
  .argument(`<uri>`, 'The URI of the GitHub repository (e.g., "username/repository").')
100
119
  .option('-f', 'Forces the push, overwriting the remote repository history.')
101
- .option('-g8', 'Uses the g8 repository extension for pushing.')
120
+ .option('--g8', 'Uses the g8 repository extension for pushing.')
102
121
  .description('Pushes committed changes from a local repository to a remote GitHub repository.')
103
122
  .action(Underpost.repo.push);
104
123
 
@@ -112,11 +131,11 @@ program
112
131
  .argument('[subConf]', 'Optional: The sub configuration to set.')
113
132
  .description('Sets environment variables and configurations related to a specific deployment ID.')
114
133
  .action((deployId, env, subConf) => {
115
- if (fs.existsSync(`./engine-private/conf/${deployId}/.env.${env}`))
116
- dotenv.config({ path: `./engine-private/conf/${deployId}/.env.${env}`, override: true });
117
- else if (deployId === 'root') {
118
- deployId = Underpost.env.get('DEPLOY_ID');
119
- } else dotenv.config({ path: `./.env`, override: true });
134
+ if (deployId === 'root') {
135
+ const underpostRootDeployId = Underpost.env.get('DEPLOY_ID');
136
+ if (underpostRootDeployId) deployId = underpostRootDeployId;
137
+ }
138
+ if (env) process.env.NODE_ENV = env;
120
139
  loadConf(deployId, subConf);
121
140
  });
122
141
 
@@ -556,7 +575,6 @@ program
556
575
  .option('--force', 'Forces operation, overriding any warnings or conflicts.')
557
576
  .option('--tls', 'Enables TLS for the runner execution.')
558
577
  .option('--reset', 'Resets the runner state before execution.')
559
- .option('--terminal', 'Enables terminal mode for interactive script execution.')
560
578
  .option('--dev-proxy-port-offset <port-offset>', 'Sets a custom port offset for development proxy.')
561
579
  .option('--host-network', 'Enables host network mode for the runner execution.')
562
580
  .option('--requests-memory <requests-memory>', 'Requests memory limit for the runner execution.')
@@ -608,10 +626,20 @@ program
608
626
  'Sets the maximum number of status check attempts (default: 600).',
609
627
  )
610
628
  .option('--dry-run', 'Preview operations without executing them.')
629
+ .option(
630
+ '--from-n-commit <n>',
631
+ 'Number of commits back to use for message propagation in template-deploy (default: 1, last commit only).',
632
+ )
611
633
  .option(
612
634
  '--create-job-now',
613
635
  'After applying cron manifests, immediately create a Job from each CronJob (forwarded to cron runner).',
614
636
  )
637
+ .option(
638
+ '--host-aliases <host-aliases>',
639
+ 'Adds entries to the Pod /etc/hosts via hostAliases. ' +
640
+ 'Format: semicolon-separated entries of "ip=hostname1,hostname2" ' +
641
+ '(e.g., "127.0.0.1=foo.local,bar.local;10.1.2.3=foo.remote,bar.remote").',
642
+ )
615
643
  .description('Runs specified scripts using various runners.')
616
644
  .action(Underpost.run.callback);
617
645
 
@@ -4,7 +4,7 @@
4
4
  * @namespace UnderpostMonitor
5
5
  */
6
6
 
7
- import { loadReplicas, pathPortAssignmentFactory } from '../server/conf.js';
7
+ import { loadReplicas, pathPortAssignmentFactory, loadConfServerJson, loadCronDeployEnv } from '../server/conf.js';
8
8
  import { loggerFactory } from '../server/logger.js';
9
9
  import axios from 'axios';
10
10
  import fs from 'fs-extra';
@@ -71,6 +71,7 @@ class UnderpostMonitor {
71
71
  commanderOptions,
72
72
  auxRouter,
73
73
  ) {
74
+ loadCronDeployEnv();
74
75
  if (!options.namespace) options.namespace = 'default';
75
76
  if (!options.replicas) options.replicas = '1';
76
77
  if (deployId === 'dd' && fs.existsSync(`./engine-private/deploy/dd.router`)) {
@@ -100,7 +101,7 @@ class UnderpostMonitor {
100
101
 
101
102
  const confServer = loadReplicas(
102
103
  deployId,
103
- JSON.parse(fs.readFileSync(`./engine-private/conf/${deployId}/conf.server.json`, 'utf8')),
104
+ loadConfServerJson(`./engine-private/conf/${deployId}/conf.server.json`),
104
105
  );
105
106
 
106
107
  const pathPortAssignmentData = await pathPortAssignmentFactory(deployId, router, confServer);
@@ -127,7 +128,7 @@ class UnderpostMonitor {
127
128
 
128
129
  const switchTraffic = (targetTraffic) => {
129
130
  const nextTraffic = targetTraffic ?? (traffic === 'blue' ? 'green' : 'blue');
130
- // Delegate traffic switching to centralized deploy implementation so behavior is consistent
131
+ // Delegate traffic switching to deploy implementation so behavior is consistent
131
132
  Underpost.deploy.switchTraffic(deployId, env, nextTraffic, options.replicas, options.namespace, options);
132
133
  // Keep local traffic in sync with the environment
133
134
  traffic = nextTraffic;
@@ -168,9 +169,7 @@ class UnderpostMonitor {
168
169
  switch (options.type) {
169
170
  case 'blue-green':
170
171
  default: {
171
- const confServer = JSON.parse(
172
- fs.readFileSync(`./engine-private/conf/${deployId}/conf.server.json`, 'utf8'),
173
- );
172
+ const confServer = loadConfServerJson(`./engine-private/conf/${deployId}/conf.server.json`);
174
173
 
175
174
  const namespace = options.namespace;
176
175
  Underpost.deploy.configMap(env, namespace);