cyberia 3.1.3 → 3.2.5

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 (208) hide show
  1. package/.env.example +0 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +10 -8
  3. package/.github/workflows/engine-cyberia.ci.yml +12 -29
  4. package/.github/workflows/ghpkg.ci.yml +4 -4
  5. package/.github/workflows/npmpkg.ci.yml +28 -11
  6. package/.github/workflows/publish.ci.yml +21 -2
  7. package/.github/workflows/pwa-microservices-template-page.cd.yml +4 -5
  8. package/.github/workflows/pwa-microservices-template-test.ci.yml +3 -3
  9. package/.github/workflows/release.cd.yml +13 -8
  10. package/CHANGELOG.md +433 -1
  11. package/CLI-HELP.md +57 -7
  12. package/Dockerfile +4 -2
  13. package/README.md +347 -22
  14. package/bin/build.js +5 -2
  15. package/bin/cyberia.js +1789 -112
  16. package/bin/deploy.js +177 -124
  17. package/bin/file.js +3 -0
  18. package/bin/index.js +1789 -112
  19. package/conf.js +64 -8
  20. package/deployment.yaml +92 -20
  21. package/hardhat/hardhat.config.js +13 -13
  22. package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
  23. package/hardhat/package-lock.json +2554 -5859
  24. package/hardhat/package.json +13 -22
  25. package/hardhat/scripts/deployObjectLayerToken.js +1 -1
  26. package/hardhat/test/ObjectLayerToken.js +4 -2
  27. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  28. package/hardhat/types/ethers-contracts/common.ts +92 -0
  29. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  30. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  31. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  32. package/hardhat/types/ethers-contracts/index.ts +6 -0
  33. package/jsdoc.dd-cyberia.json +64 -55
  34. package/jsdoc.json +64 -55
  35. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
  36. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
  37. package/manifests/deployment/dd-cyberia-development/deployment.yaml +92 -20
  38. package/manifests/deployment/dd-cyberia-development/proxy.yaml +54 -18
  39. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  40. package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
  41. package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
  42. package/manifests/deployment/playwright/deployment.yaml +1 -1
  43. package/nodemon.json +1 -1
  44. package/package.json +22 -16
  45. package/proxy.yaml +54 -18
  46. package/scripts/rhel-grpc-setup.sh +56 -0
  47. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +44 -0
  48. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +16 -0
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
  51. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  52. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  53. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  54. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  55. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  56. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  57. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  58. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  59. package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
  60. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  61. package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
  62. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  63. package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
  64. package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
  65. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  66. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
  67. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
  68. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  69. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
  70. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  71. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  72. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  73. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  74. package/src/api/file/file.ref.json +18 -0
  75. package/src/api/ipfs/ipfs.controller.js +4 -25
  76. package/src/api/ipfs/ipfs.model.js +43 -34
  77. package/src/api/ipfs/ipfs.router.js +8 -13
  78. package/src/api/ipfs/ipfs.service.js +54 -102
  79. package/src/api/object-layer/README.md +347 -22
  80. package/src/api/object-layer/object-layer.router.js +30 -0
  81. package/src/api/object-layer/object-layer.service.js +114 -31
  82. package/src/api/user/user.service.js +8 -7
  83. package/src/cli/cluster.js +7 -7
  84. package/src/cli/db.js +710 -827
  85. package/src/cli/deploy.js +151 -93
  86. package/src/cli/env.js +29 -0
  87. package/src/cli/fs.js +5 -2
  88. package/src/cli/index.js +48 -2
  89. package/src/cli/kubectl.js +211 -0
  90. package/src/cli/release.js +284 -0
  91. package/src/cli/repository.js +438 -75
  92. package/src/cli/run.js +195 -35
  93. package/src/cli/secrets.js +73 -0
  94. package/src/cli/test.js +3 -3
  95. package/src/client/Cryptokoyn.index.js +3 -4
  96. package/src/client/CyberiaPortal.index.js +3 -4
  97. package/src/client/Default.index.js +3 -4
  98. package/src/client/Itemledger.index.js +3 -4
  99. package/src/client/Underpost.index.js +3 -4
  100. package/src/client/components/core/AppStore.js +69 -0
  101. package/src/client/components/core/CalendarCore.js +2 -2
  102. package/src/client/components/core/DropDown.js +137 -17
  103. package/src/client/components/core/Keyboard.js +2 -2
  104. package/src/client/components/core/LogIn.js +2 -2
  105. package/src/client/components/core/LogOut.js +2 -2
  106. package/src/client/components/core/Modal.js +0 -1
  107. package/src/client/components/core/Panel.js +0 -1
  108. package/src/client/components/core/PanelForm.js +19 -19
  109. package/src/client/components/core/SocketIo.js +82 -29
  110. package/src/client/components/core/SocketIoHandler.js +75 -0
  111. package/src/client/components/core/Stream.js +143 -95
  112. package/src/client/components/core/Webhook.js +40 -7
  113. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  114. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
  115. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
  116. package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
  117. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  118. package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
  119. package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
  120. package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
  121. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
  122. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  123. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +216 -30
  124. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -3
  125. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
  126. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +40 -7
  127. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +4 -0
  128. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  129. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  130. package/src/client/components/default/AppStoreDefault.js +5 -0
  131. package/src/client/components/default/LogInDefault.js +3 -3
  132. package/src/client/components/default/LogOutDefault.js +2 -2
  133. package/src/client/components/default/MenuDefault.js +5 -5
  134. package/src/client/components/default/SocketIoDefault.js +3 -51
  135. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  136. package/src/client/components/itemledger/LogInItemledger.js +3 -3
  137. package/src/client/components/itemledger/LogOutItemledger.js +2 -2
  138. package/src/client/components/itemledger/MenuItemledger.js +3 -3
  139. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  140. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  141. package/src/client/components/underpost/LogInUnderpost.js +3 -3
  142. package/src/client/components/underpost/LogOutUnderpost.js +2 -2
  143. package/src/client/components/underpost/MenuUnderpost.js +5 -5
  144. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  145. package/src/client/services/core/core.service.js +20 -8
  146. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
  147. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  148. package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
  149. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  150. package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
  151. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
  152. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  153. package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
  154. package/src/client/services/instance/instance.management.js +2 -2
  155. package/src/client/services/ipfs/ipfs.service.js +3 -23
  156. package/src/client/services/object-layer/object-layer.management.js +3 -3
  157. package/src/client/services/object-layer/object-layer.service.js +21 -0
  158. package/src/client/services/user/user.management.js +2 -2
  159. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  160. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
  161. package/src/grpc/cyberia/README.md +326 -0
  162. package/src/grpc/cyberia/grpc-server.js +530 -0
  163. package/src/index.js +24 -1
  164. package/src/runtime/express/Dockerfile +4 -0
  165. package/src/runtime/express/Express.js +18 -1
  166. package/src/runtime/lampp/Dockerfile +13 -2
  167. package/src/runtime/lampp/Lampp.js +27 -4
  168. package/src/runtime/wp/Dockerfile +68 -0
  169. package/src/runtime/wp/Wp.js +639 -0
  170. package/src/server/auth.js +24 -1
  171. package/src/server/backup.js +37 -9
  172. package/src/server/client-build-docs.js +9 -2
  173. package/src/server/client-build.js +31 -31
  174. package/src/server/client-formatted.js +109 -57
  175. package/src/server/conf.js +24 -9
  176. package/src/server/cron.js +25 -23
  177. package/src/server/dns.js +2 -1
  178. package/src/server/ipfs-client.js +24 -1
  179. package/src/server/object-layer.js +149 -108
  180. package/src/server/peer.js +8 -0
  181. package/src/server/runtime.js +25 -1
  182. package/src/server/semantic-layer-generator-floor.js +359 -0
  183. package/src/server/semantic-layer-generator-skin.js +1294 -0
  184. package/src/server/semantic-layer-generator.js +116 -555
  185. package/src/server/start.js +2 -2
  186. package/src/ws/IoInterface.js +1 -10
  187. package/src/ws/IoServer.js +14 -33
  188. package/src/ws/core/channels/core.ws.chat.js +65 -20
  189. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  190. package/src/ws/core/channels/core.ws.stream.js +90 -31
  191. package/src/ws/core/core.ws.connection.js +12 -33
  192. package/src/ws/core/core.ws.emit.js +10 -26
  193. package/src/ws/core/core.ws.server.js +25 -58
  194. package/src/ws/default/channels/default.ws.main.js +53 -12
  195. package/src/ws/default/default.ws.connection.js +26 -13
  196. package/src/ws/default/default.ws.server.js +30 -12
  197. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  198. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  199. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  200. package/src/client/components/default/ElementsDefault.js +0 -38
  201. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  202. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  203. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  204. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  205. package/src/ws/core/management/core.ws.chat.js +0 -8
  206. package/src/ws/core/management/core.ws.mailer.js +0 -16
  207. package/src/ws/core/management/core.ws.stream.js +0 -8
  208. package/src/ws/default/management/default.ws.main.js +0 -8
package/.env.example CHANGED
@@ -68,7 +68,5 @@ POSTMAN_PASSWORD=changethis
68
68
  DEFAULT_SSH_PORT=22
69
69
  ENABLE_FILE_LOGS=false
70
70
  BASE_API=api
71
- CERTBOT_LIVE_PATH=changethis
72
- CERTBOT_LIVE_PATH_WINDOWS=changethis
73
71
  DEV_PROXY_PORT_OFFSET=200
74
72
  DOTENV_CONFIG_QUIET=true
@@ -47,7 +47,7 @@ jobs:
47
47
  set -e
48
48
  echo "Starting remote deploy"
49
49
  cd /home/dd/engine
50
- sudo -n -- /bin/bash -lc "underpost run pull"
50
+ sudo -n -- /bin/bash -lc "node bin run pull"
51
51
  sudo -n -- /bin/bash -lc "npm install"
52
52
  sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia"
53
53
  sync-and-deploy:
@@ -80,12 +80,14 @@ jobs:
80
80
  set -e
81
81
  echo "Starting remote sync and deploy"
82
82
  cd /home/dd/engine
83
- sudo -n -- /bin/bash -lc "underpost run pull"
83
+ sudo -n -- /bin/bash -lc "node bin run pull"
84
84
  sudo -n -- /bin/bash -lc "npm install"
85
- sudo -n -- /bin/bash -lc "underpost fs src/client/public/cyberia --git --pull --recursive --deploy-id dd-cyberia"
86
- sudo -n -- /bin/bash -lc "underpost fs src/client/public/underpost --git --pull --recursive --deploy-id dd-cyberia --storage-file-path './engine-private/conf/dd-cyberia/storage.underpost.json'"
85
+ sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia"
86
+ sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --git --pull --recursive --deploy-id dd-cyberia"
87
+ sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost"
88
+ sudo -n -- /bin/bash -lc "node bin fs src/client/public/underpost --git --pull --recursive --deploy-id dd-cyberia --storage-file-path './engine-private/conf/dd-cyberia/storage.underpost.json'"
87
89
  sudo -n -- /bin/bash -lc "npm run test"
88
- sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia,1,,localhost/rockylinux9-underpost:v2.98.3 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-file /etc/config/.env.production,underpost start --build --run dd-cyberia production'"
90
+ sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia,1,,localhost/rockylinux9-underpost:v2.98.3 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-env,underpost start --build --run dd-cyberia production'"
89
91
  init:
90
92
  if: >-
91
93
  github.repository == 'underpostnet/engine'
@@ -116,8 +118,8 @@ jobs:
116
118
  set -e
117
119
  echo "Starting init deploy"
118
120
  cd /home/dd/engine
119
- sudo -n -- /bin/bash -lc "underpost run pull"
121
+ sudo -n -- /bin/bash -lc "node bin run pull"
120
122
  sudo -n -- /bin/bash -lc "npm install"
121
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --image 'localhost/rockylinux9-underpost:v2.98.3' --timeout-response 300000ms --versions green --replicas 1 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-file /etc/config/.env.production,underpost start --build --run dd-cyberia production'"
122
- sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy"
123
+ sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --image 'localhost/rockylinux9-underpost:v2.98.3' --timeout-response 300000ms --versions green --replicas 1 --cmd 'npm install -g npm@11.2.0,npm install -g underpost,underpost secret underpost --create-from-env,underpost start --build --run dd-cyberia production'"
124
+ sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy --git-clean"
123
125
  sudo -n -- /bin/bash -lc "node bin monitor dd-cyberia production --ready-deployment --promote --timeout-response 300000ms --versions green --replicas 1"
@@ -1,9 +1,5 @@
1
1
  name: CI | Engine cyberia | github repository
2
2
  on:
3
- workflow_run:
4
- workflows: ['CI | Publish npm repository package']
5
- types:
6
- - completed
7
3
  workflow_dispatch:
8
4
  inputs:
9
5
  sync:
@@ -32,7 +28,6 @@ permissions:
32
28
  id-token: write
33
29
  jobs:
34
30
  pwa-microservices-template:
35
- if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success'
36
31
  name: Update github repo package Jobs
37
32
  runs-on: ubuntu-latest
38
33
  container:
@@ -55,10 +50,7 @@ jobs:
55
50
  dnf install nodejs -y
56
51
 
57
52
  - name: Install dependencies
58
- run: |
59
- npm install -g underpost
60
- npm install
61
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
53
+ run: npm install
62
54
 
63
55
  - name: Set git global credentials
64
56
  run: |
@@ -67,33 +59,24 @@ jobs:
67
59
  git config --global user.email 'development@underpost.net'
68
60
 
69
61
  - name: Build repository
62
+ env:
63
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
70
64
  run: |
71
- cd .. && underpost clone underpostnet/pwa-microservices-template
72
- FULL_MSG=$(cd pwa-microservices-template && git log -1 --pretty=%B 2>/dev/null || echo "")
73
- if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
74
- if [ -n "${{ github.event.inputs.message }}" ]; then
75
- LAST_COMMIT_MESSAGE="${{ github.event.inputs.message }}"
76
- else
77
- LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1s/^[^:]*: [^ ]* //' | grep -v '^\[cd:' || true)
78
- fi
79
- SHOULD_CD="${{ github.event.inputs.sync }}"
80
- DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
65
+ cd .. && node engine/bin clone underpostnet/pwa-microservices-template
66
+ if [ -n "${{ github.event.inputs.message }}" ]; then
67
+ LAST_COMMIT_MESSAGE="${{ github.event.inputs.message }}"
81
68
  else
82
- LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1s/^[^:]*: [^ ]* //' | grep -v '^\[cd:' || true)
83
- CD_MARKER=$(echo "$FULL_MSG" | grep '^\[cd:engine-cyberia:' | head -1 || true)
84
- if [ -n "$CD_MARKER" ]; then
85
- SHOULD_CD="true"
86
- DEPLOY_TYPE=$(echo "$CD_MARKER" | sed 's/\[cd:engine-cyberia:\(.*\)\]/\1/')
87
- else
88
- SHOULD_CD="false"
89
- fi
69
+ FULL_MSG=$(cd pwa-microservices-template && git log -1 --pretty=%B 2>/dev/null || echo "")
70
+ LAST_COMMIT_MESSAGE=$(echo "$FULL_MSG" | sed '1s/^[^:]*: [^ ]* //')
90
71
  fi
72
+ SHOULD_CD="${{ github.event.inputs.sync }}"
73
+ DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
91
74
  if [ -z "$LAST_COMMIT_MESSAGE" ]; then
92
75
  LAST_COMMIT_MESSAGE="Update engine cyberia repository"
93
76
  fi
94
77
  echo "[INFO] Captured commit message: $LAST_COMMIT_MESSAGE"
95
78
  echo "[INFO] Should CD: $SHOULD_CD, Deploy type: $DEPLOY_TYPE"
96
- underpost clone --bare underpostnet/engine-cyberia
79
+ node engine/bin clone --bare underpostnet/engine-cyberia
97
80
  cd engine
98
81
  node bin/build dd-cyberia development
99
82
  cd ../pwa-microservices-template
@@ -104,7 +87,7 @@ jobs:
104
87
  git config user.email 'development@underpost.net'
105
88
  git add .
106
89
  git commit -m "$LAST_COMMIT_MESSAGE"
107
- underpost push . underpostnet/engine-cyberia
90
+ node ../engine/bin push . underpostnet/engine-cyberia
108
91
  if [ "$SHOULD_CD" = "true" ]; then
109
92
  if [ -z "$DEPLOY_TYPE" ]; then
110
93
  DEPLOY_TYPE="sync-and-deploy"
@@ -43,8 +43,6 @@ jobs:
43
43
 
44
44
  - name: Install dependencies and set repo configuration
45
45
  run: |
46
- npm install -g underpost
47
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
48
46
  npm install
49
47
  node ./bin/deploy rename-package @underpostnet/underpost
50
48
  node ./bin/deploy set-repo underpostnet/pwa-microservices-template-ghpkg
@@ -57,8 +55,10 @@ jobs:
57
55
  git config --global user.email 'fcoverdugoa@underpost.net'
58
56
 
59
57
  - name: Clone and Push to github package repository
58
+ env:
59
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
60
60
  run: |
61
- underpost clone --bare underpostnet/pwa-microservices-template-ghpkg
61
+ node bin clone --bare underpostnet/pwa-microservices-template-ghpkg
62
62
  rm -rf ./.git
63
63
  mv ./pwa-microservices-template-ghpkg.git ./.git
64
64
  pwd
@@ -69,4 +69,4 @@ jobs:
69
69
  git add .
70
70
  git status
71
71
  git commit -m "$LAST_COMMIT_MESSAGE"
72
- underpost push . underpostnet/pwa-microservices-template-ghpkg
72
+ node bin push . underpostnet/pwa-microservices-template-ghpkg
@@ -69,10 +69,7 @@ jobs:
69
69
  echo "[INFO] Extracted payload: $LAST_COMMIT_MESSAGE"
70
70
 
71
71
  - name: Install dependencies
72
- run: |
73
- npm install -g underpost
74
- underpost config set GITHUB_TOKEN ${{ secrets.GIT_AUTH_TOKEN }}
75
- npm install
72
+ run: npm install
76
73
 
77
74
  - name: Set git global credentials
78
75
  run: |
@@ -82,8 +79,10 @@ jobs:
82
79
  git config --global user.email 'fcoverdugoa@underpost.net'
83
80
 
84
81
  - name: Clone github package repository
82
+ env:
83
+ GITHUB_TOKEN: ${{ secrets.GIT_AUTH_TOKEN }}
85
84
  run: |
86
- cd .. && underpost clone underpostnet/pwa-microservices-template
85
+ cd .. && node engine/bin clone underpostnet/pwa-microservices-template
87
86
  cd engine
88
87
  npm run update:template
89
88
  cd ../pwa-microservices-template
@@ -91,11 +90,29 @@ jobs:
91
90
  git add .
92
91
  git config user.name 'underpostnet'
93
92
  git config user.email 'fcoverdugoa@underpost.net'
94
- COMMIT_MSG="$LAST_COMMIT_MESSAGE"
93
+ node ../engine/bin cmt . ci package-pwa-microservices-template-ghpkg "$LAST_COMMIT_MESSAGE"
94
+ node ../engine/bin push . underpostnet/pwa-microservices-template
95
+
96
+ - name: Dispatch all engine CIs
97
+ run: |
95
98
  DEPLOY_CONF_ID="${{ github.event.inputs.deploy_conf_id }}"
96
99
  DEPLOY_TYPE="${{ github.event.inputs.deploy_type }}"
97
- if [ -n "$DEPLOY_CONF_ID" ] && [ -n "$DEPLOY_TYPE" ]; then
98
- COMMIT_MSG=$(printf '%s\n[cd:%s:%s]' "$COMMIT_MSG" "$DEPLOY_CONF_ID" "$DEPLOY_TYPE")
99
- fi
100
- underpost cmt . ci package-pwa-microservices-template-ghpkg "$COMMIT_MSG"
101
- underpost push . underpostnet/pwa-microservices-template
100
+ for ENGINE in engine-core engine-cyberia engine-lampp engine-test; do
101
+ SYNC="false"
102
+ DT=""
103
+ if [ "$ENGINE" = "$DEPLOY_CONF_ID" ]; then
104
+ SYNC="true"
105
+ DT="$DEPLOY_TYPE"
106
+ fi
107
+ echo "[INFO] Dispatching ${ENGINE}.ci.yml (sync=$SYNC, deploy_type=$DT)"
108
+ INPUTS="{\"sync\":\"${SYNC}\""
109
+ if [ -n "$DT" ]; then
110
+ INPUTS="${INPUTS},\"deploy_type\":\"${DT}\""
111
+ fi
112
+ INPUTS="${INPUTS}}"
113
+ curl -s -X POST \
114
+ -H "Accept: application/vnd.github.v3+json" \
115
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
116
+ "https://api.github.com/repos/underpostnet/engine/actions/workflows/${ENGINE}.ci.yml/dispatches" \
117
+ -d "{\"ref\":\"master\",\"inputs\":${INPUTS}}"
118
+ done
@@ -3,17 +3,27 @@ on:
3
3
  push:
4
4
  tags:
5
5
  - 'v*'
6
+ permissions:
7
+ contents: write
8
+ packages: write
9
+ id-token: write
6
10
  jobs:
7
11
  build-and-publish:
8
12
  # prevents this action from running on forks
9
13
  if: github.repository == 'underpostnet/pwa-microservices-template'
10
14
  runs-on: ubuntu-latest
11
15
  permissions:
12
- contents: read
16
+ contents: write
17
+ packages: write
13
18
  id-token: write
14
19
  steps:
15
20
  - uses: actions/checkout@v6
16
21
 
22
+ - name: Install required packages
23
+ run: |
24
+ sudo apt-get update -y
25
+ sudo apt-get install -y sudo tar gzip bzip2 git curl
26
+
17
27
  - uses: actions/setup-node@v6
18
28
  with:
19
29
  node-version: '24.x'
@@ -27,12 +37,21 @@ jobs:
27
37
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
28
38
  run: npm publish --provenance --access public
29
39
 
40
+ - name: Dispatch release CD
41
+ run: |
42
+ curl -s -f -X POST \
43
+ -H "Accept: application/vnd.github.v3+json" \
44
+ -H "Authorization: token ${{ secrets.GIT_AUTH_TOKEN }}" \
45
+ "https://api.github.com/repos/underpostnet/pwa-microservices-template/actions/workflows/release.cd.yml/dispatches" \
46
+ -d '{"ref":"master"}'
47
+
30
48
  build-and-publish-ghpkg:
31
49
  # prevents this action from running on forks
32
50
  if: github.repository == 'underpostnet/pwa-microservices-template-ghpkg'
33
51
  runs-on: ubuntu-latest
34
52
  permissions:
35
- contents: read
53
+ contents: write
54
+ packages: write
36
55
  id-token: write
37
56
  steps:
38
57
  - uses: actions/checkout@v6
@@ -51,23 +51,22 @@ jobs:
51
51
 
52
52
  - name: Build the site
53
53
  run: |
54
- npm install -g underpost
55
54
  npm install
56
55
  node bin new --default-conf --conf-workflow-id dd-github-pages
57
56
  node bin new --deploy-id dd-github-pages
58
- underpost env dd-github-pages production
57
+ node bin env dd-github-pages production
59
58
  NODE_ENV=production node bin client dd-github-pages '' underpostnet.github.io /pwa-microservices-template-ghpkg
60
59
  # git lfs install
61
60
  # git lfs track
62
61
  # git lfs ls-files
63
62
  # git lfs pull
64
63
  - name: Setup Pages
65
- uses: actions/configure-pages@v5
64
+ uses: actions/configure-pages@v6
66
65
  - name: Upload artifact
67
- uses: actions/upload-pages-artifact@v4
66
+ uses: actions/upload-pages-artifact@v5
68
67
  with:
69
68
  # Upload entire repository
70
69
  path: './public/underpostnet.github.io/pwa-microservices-template-ghpkg/'
71
70
  - name: Deploy to GitHub Pages
72
71
  id: deployment
73
- uses: actions/deploy-pages@v4
72
+ uses: actions/deploy-pages@v5
@@ -26,8 +26,8 @@ jobs:
26
26
  - name: Get npm root
27
27
  run: npm root -g
28
28
 
29
- - name: Install underpost CLI
30
- run: npm install -g underpost
29
+ - name: Install dependencies
30
+ run: npm install
31
31
 
32
32
  - name: Run test
33
- run: underpost test
33
+ run: node bin test
@@ -1,14 +1,19 @@
1
1
  name: CD | Release deployment | remote ssh
2
2
 
3
3
  on:
4
- workflow_run:
5
- workflows: ['CI | Publish npm package']
6
- types:
7
- - completed
4
+ push:
5
+ branches: [main, master]
6
+
7
+ workflow_call:
8
+
9
+ workflow_dispatch:
8
10
 
9
11
  jobs:
10
12
  after-publish:
11
- if: github.repository == 'underpostnet/pwa-microservices-template' || startsWith(github.event.head_commit.message, 'cd(ssh-release)')
13
+ if: |
14
+ github.event_name == 'workflow_dispatch'
15
+ || github.event_name == 'workflow_call'
16
+ || (github.event_name == 'push' && startsWith(github.event.head_commit.message, 'cd(ssh-release)'))
12
17
  runs-on: ubuntu-latest
13
18
  steps:
14
19
  - name: Run remote deploy via SSH
@@ -31,11 +36,11 @@ jobs:
31
36
  set -e
32
37
  echo "Starting remote release deploy"
33
38
  cd /home/dd/engine
34
- sudo -n -- /bin/bash -lc "underpost run pull"
39
+ sudo -n -- /bin/bash -lc "node bin run pull"
35
40
  sudo -n -- /bin/bash -lc "npm install"
36
- sudo -n -- /bin/bash -lc "underpost run secret"
41
+ sudo -n -- /bin/bash -lc "node bin run secret"
37
42
  sudo -n -- /bin/bash -lc "npm install -g underpost"
38
- sudo -n -- /bin/bash -lc "underpost run secret"
43
+ sudo -n -- /bin/bash -lc "node bin run secret"
39
44
  sudo -n -- /bin/bash -lc "node bin run --dev git-conf"
40
45
  sudo -n -- /bin/bash -lc "node bin run --dev template-deploy-image"
41
46
  sudo -n -- /bin/bash -lc "node bin run --dev ssh-deploy sync-engine-test"