underpost 2.81.0 → 2.85.0
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/npmpkg.ci.yml +3 -15
- package/.github/workflows/release.cd.yml +10 -2
- package/README.md +2 -2
- package/bin/deploy.js +2 -3
- package/cli.md +25 -14
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/package.json +4 -5
- package/scripts/rocky-setup.sh +144 -0
- package/src/cli/cluster.js +4 -1
- package/src/cli/deploy.js +1 -3
- package/src/cli/env.js +4 -2
- package/src/cli/index.js +8 -1
- package/src/cli/repository.js +74 -14
- package/src/cli/run.js +99 -16
- package/src/client/components/core/Router.js +6 -1
- package/src/client/services/core/core.service.js +4 -2
- package/src/index.js +1 -1
- package/src/server/conf.js +7 -17
- package/CHANGELOG.md +0 -349
package/.env.production
CHANGED
|
@@ -10,7 +10,9 @@ permissions:
|
|
|
10
10
|
id-token: write
|
|
11
11
|
jobs:
|
|
12
12
|
pwa-microservices-template:
|
|
13
|
-
if:
|
|
13
|
+
if: |
|
|
14
|
+
github.repository == 'underpostnet/engine'
|
|
15
|
+
&& startsWith(github.event.head_commit.message, 'ci(package-pwa-microservices-template')
|
|
14
16
|
name: Update npm repo package Jobs
|
|
15
17
|
runs-on: ubuntu-latest
|
|
16
18
|
container:
|
|
@@ -56,17 +58,3 @@ jobs:
|
|
|
56
58
|
git config user.email 'fcoverdugoa@underpost.net'
|
|
57
59
|
underpost cmt . ci package-pwa-microservices-template-ghpkg 'Update npm repo package'
|
|
58
60
|
underpost push . underpostnet/pwa-microservices-template
|
|
59
|
-
# cd ../engine
|
|
60
|
-
# git commit --allow-empty -m "ci(engine-core-repo-build): ⚙️ Update engine core repository"
|
|
61
|
-
# git commit --allow-empty -m "ci(engine-cyberia-repo-build): ⚙️ Update engine cyberia repository"
|
|
62
|
-
# git commit --allow-empty -m "ci(engine-lampp-repo-build): ⚙️ Update engine lampp repository"
|
|
63
|
-
# git push https://${{ secrets.GIT_AUTH_TOKEN }}@github.com/underpostnet/engine.git
|
|
64
|
-
|
|
65
|
-
# git clone --bare https://github.com/underpostnet/engine.git
|
|
66
|
-
# mkdir engine
|
|
67
|
-
# mv ./engine.git ./engine/.git
|
|
68
|
-
# cd engine
|
|
69
|
-
# git init
|
|
70
|
-
|
|
71
|
-
# git push -u origin https://${{ secrets.GIT_AUTH_TOKEN }}@github.com/underpostnet/pwa-microservices-template-ghpkg.git
|
|
72
|
-
# git push -u origin master
|
|
@@ -33,5 +33,13 @@ jobs:
|
|
|
33
33
|
underpost run secret
|
|
34
34
|
underpost run pull
|
|
35
35
|
underpost run secret
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
node bin run git-conf
|
|
37
|
+
node bin run template-deploy-image
|
|
38
|
+
underpost config set GITHUB_USERNAME underpostnet
|
|
39
|
+
mkdir -p /home/dd
|
|
40
|
+
sudo rm -rf /home/dd/engine
|
|
41
|
+
cd /home/dd
|
|
42
|
+
underpost clone underpostnet/engine
|
|
43
|
+
cd engine
|
|
44
|
+
npm install
|
|
45
|
+
node bin run ssh-deploy sync-engine-test
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
<!-- badges -->
|
|
20
20
|
|
|
21
|
-
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [](https://www.npmjs.com/package/underpost) [](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [](https://www.npmjs.com/package/underpost) [](https://socket.dev/npm/package/underpost/overview/2.85.0) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
|
|
22
22
|
|
|
23
23
|
<!-- end-badges -->
|
|
24
24
|
|
|
@@ -66,7 +66,7 @@ Run dev client server
|
|
|
66
66
|
npm run dev
|
|
67
67
|
```
|
|
68
68
|
<!-- -->
|
|
69
|
-
## underpost ci/cd cli v2.
|
|
69
|
+
## underpost ci/cd cli v2.85.0
|
|
70
70
|
|
|
71
71
|
### Usage: `underpost [options] [command]`
|
|
72
72
|
```
|
package/bin/deploy.js
CHANGED
|
@@ -251,7 +251,7 @@ try {
|
|
|
251
251
|
break;
|
|
252
252
|
|
|
253
253
|
case 'sync-env-port':
|
|
254
|
-
const dataDeploy = getDataDeploy({
|
|
254
|
+
const dataDeploy = getDataDeploy({ disableSyncEnvPort: true });
|
|
255
255
|
const dataEnv = [
|
|
256
256
|
{ env: 'production', port: 3000 },
|
|
257
257
|
{ env: 'development', port: 4000 },
|
|
@@ -459,7 +459,6 @@ try {
|
|
|
459
459
|
);
|
|
460
460
|
shellExec(`node bin/deploy cli-docs ${version} ${newVersion}`);
|
|
461
461
|
shellExec(`node bin/deploy update-dependencies`);
|
|
462
|
-
shellExec(`auto-changelog`);
|
|
463
462
|
shellExec(`node bin/build dd`);
|
|
464
463
|
shellExec(
|
|
465
464
|
`node bin deploy --kubeadm --build-manifest --sync --info-router --replicas 1 --node ${node} dd production`,
|
|
@@ -500,7 +499,7 @@ try {
|
|
|
500
499
|
shellExec(`node bin/deploy sync-deploy-envs`);
|
|
501
500
|
shellExec(`node bin/build dd conf`);
|
|
502
501
|
shellExec(`git add . && cd ./engine-private && git add .`);
|
|
503
|
-
shellExec(`node bin cmt . ci package-pwa-microservices-template`);
|
|
502
|
+
shellExec(`node bin cmt . ci package-pwa-microservices-template 'New release v:${process.argv[3]}'`);
|
|
504
503
|
shellExec(`node bin cmt ./engine-private ci package-pwa-microservices-template`);
|
|
505
504
|
shellExec(`node bin push . ${process.env.GITHUB_USERNAME}/engine`);
|
|
506
505
|
shellExec(`cd ./engine-private && node ../bin push . ${process.env.GITHUB_USERNAME}/engine-private`);
|
package/cli.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
## underpost ci/cd cli v2.
|
|
1
|
+
## underpost ci/cd cli v2.85.0
|
|
2
2
|
|
|
3
3
|
### Usage: `underpost [options] [command]`
|
|
4
4
|
```
|
|
@@ -123,20 +123,30 @@ Manages commits to a GitHub repository, supporting various commit types and
|
|
|
123
123
|
options.
|
|
124
124
|
|
|
125
125
|
Arguments:
|
|
126
|
-
path
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
path The absolute or relative directory path of the
|
|
127
|
+
repository.
|
|
128
|
+
commit-type The type of commit to perform. Options: feat, fix,
|
|
129
|
+
docs, style, refactor, perf, ci, cd, infra, build,
|
|
130
|
+
test, chore, revert, backup.
|
|
131
|
+
module-tag Optional: Sets a specific module tag for the commit.
|
|
132
|
+
message Optional: Provides an additional custom message for
|
|
133
|
+
the commit.
|
|
132
134
|
|
|
133
135
|
Options:
|
|
134
|
-
--log
|
|
135
|
-
|
|
136
|
-
--
|
|
137
|
-
--
|
|
138
|
-
--
|
|
139
|
-
|
|
136
|
+
--log <latest-n> Shows commit history from the specified number of
|
|
137
|
+
latest n path commits.
|
|
138
|
+
--last-msg <latest-n> Displays the last n commit message.
|
|
139
|
+
--empty Allows committing with empty files.
|
|
140
|
+
--copy Copies the generated commit message to the
|
|
141
|
+
clipboard.
|
|
142
|
+
--info Displays information about available commit types.
|
|
143
|
+
--diff Shows the current git diff changes.
|
|
144
|
+
--edit Edit last commit.
|
|
145
|
+
--msg <msg> Sets a custom commit message.
|
|
146
|
+
--deploy-id <deploy-id> Sets the deployment configuration ID for the commit
|
|
147
|
+
context.
|
|
148
|
+
--cached Commit staged changes only or context.
|
|
149
|
+
-h, --help display help for command
|
|
140
150
|
|
|
141
151
|
```
|
|
142
152
|
|
|
@@ -613,7 +623,7 @@ Options:
|
|
|
613
623
|
Runs a script from the specified path.
|
|
614
624
|
|
|
615
625
|
Arguments:
|
|
616
|
-
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, dev-hosts-expose, dev-hosts-restore, 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.
|
|
626
|
+
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, dev-hosts-expose, dev-hosts-restore, cyberia-ide, engine-ide, cluster-build, template-deploy, template-deploy-image, clean, pull, release-deploy, ssh-deploy, ide, sync, ls-deployments, host-update, monitor, db-client, git-conf, promote, metrics, cluster, deploy, sync-replica, tf-vae-test, deploy-job.
|
|
617
627
|
path The absolute or relative directory path where the script is located.
|
|
618
628
|
|
|
619
629
|
Options:
|
|
@@ -631,6 +641,7 @@ Options:
|
|
|
631
641
|
--namespace <namespace> Optional: Specifies the namespace for test execution.
|
|
632
642
|
--kubeadm Flag to indicate Kubeadm cluster type context
|
|
633
643
|
--k3s Flag to indicate K3s cluster type context
|
|
644
|
+
--force Forces operation, overriding any warnings or conflicts.
|
|
634
645
|
-h, --help display help for command
|
|
635
646
|
|
|
636
647
|
```
|
|
@@ -17,7 +17,7 @@ spec:
|
|
|
17
17
|
spec:
|
|
18
18
|
containers:
|
|
19
19
|
- name: dd-default-development-blue
|
|
20
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
20
|
+
image: localhost/rockylinux9-underpost:v2.85.0
|
|
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.
|
|
103
|
+
image: localhost/rockylinux9-underpost:v2.85.0
|
|
104
104
|
# resources:
|
|
105
105
|
# requests:
|
|
106
106
|
# memory: "124Ki"
|
|
@@ -17,7 +17,7 @@ spec:
|
|
|
17
17
|
spec:
|
|
18
18
|
containers:
|
|
19
19
|
- name: dd-test-development-blue
|
|
20
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
20
|
+
image: localhost/rockylinux9-underpost:v2.85.0
|
|
21
21
|
# resources:
|
|
22
22
|
# requests:
|
|
23
23
|
# memory: "96294Ki"
|
|
@@ -104,7 +104,7 @@ spec:
|
|
|
104
104
|
spec:
|
|
105
105
|
containers:
|
|
106
106
|
- name: dd-test-development-green
|
|
107
|
-
image: localhost/rockylinux9-underpost:v2.
|
|
107
|
+
image: localhost/rockylinux9-underpost:v2.85.0
|
|
108
108
|
# resources:
|
|
109
109
|
# requests:
|
|
110
110
|
# memory: "96294Ki"
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "module",
|
|
3
3
|
"main": "src/index.js",
|
|
4
4
|
"name": "underpost",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.85.0",
|
|
6
6
|
"description": "pwa api rest template",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
|
|
@@ -17,13 +17,12 @@
|
|
|
17
17
|
"dev-client": "env-cmd -f .env.development node src/client.dev",
|
|
18
18
|
"proxy": "node src/proxy proxy",
|
|
19
19
|
"docs": "jsdoc -c jsdoc.json",
|
|
20
|
-
"install-global": "npm install -g pm2 && npm install -g jsdoc && npm install -g prettier && npm install -g env-cmd
|
|
21
|
-
"install-test": "npm install -g mocha && npm install -g c8 && npm install -g
|
|
20
|
+
"install-global": "npm install -g pm2 && npm install -g jsdoc && npm install -g prettier && npm install -g env-cmd",
|
|
21
|
+
"install-test": "npm install -g mocha && npm install -g c8 && npm install -g coveralls",
|
|
22
22
|
"install-underpost": "cp -a $(npm root -g)/underpost/node_modules ./node_modules && npm install --only=dev --ignore-scripts",
|
|
23
23
|
"install": "npm run install-global && npm run install-test",
|
|
24
24
|
"prettier": "prettier --write .",
|
|
25
|
-
"fix": "npm audit fix --force && npm audit"
|
|
26
|
-
"changelog": "auto-changelog"
|
|
25
|
+
"fix": "npm audit fix --force && npm audit"
|
|
27
26
|
},
|
|
28
27
|
"bin": {
|
|
29
28
|
"underpost": "bin/index.js"
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# Script to install a recommended base package set on Rocky Linux.
|
|
6
|
+
# Usage examples:
|
|
7
|
+
# sudo ./scripts/rocky-setup.sh # interactive (will prompt about Development Tools)
|
|
8
|
+
# sudo ./scripts/rocky-setup.sh --install-dev # non-interactive: install Development Tools
|
|
9
|
+
# INSTALL_DEV=1 sudo ./scripts/rocky-setup.sh # same as --install-dev
|
|
10
|
+
# sudo ./scripts/rocky-setup.sh --yes # skip prompts and assume defaults
|
|
11
|
+
|
|
12
|
+
PACKAGES=(
|
|
13
|
+
dnf-plugins-core
|
|
14
|
+
epel-release
|
|
15
|
+
vim
|
|
16
|
+
nano
|
|
17
|
+
bash-completion
|
|
18
|
+
curl
|
|
19
|
+
wget
|
|
20
|
+
unzip
|
|
21
|
+
zip
|
|
22
|
+
tar
|
|
23
|
+
gzip
|
|
24
|
+
bzip2
|
|
25
|
+
rsync
|
|
26
|
+
git
|
|
27
|
+
python3
|
|
28
|
+
python3-pip
|
|
29
|
+
openssh-server
|
|
30
|
+
openssh-clients
|
|
31
|
+
firewalld
|
|
32
|
+
chrony
|
|
33
|
+
NetworkManager
|
|
34
|
+
which
|
|
35
|
+
net-tools
|
|
36
|
+
bind-utils
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
# Defaults
|
|
40
|
+
INSTALL_DEV=0
|
|
41
|
+
ASSUME_YES=0
|
|
42
|
+
|
|
43
|
+
# Parse CLI args (simple)
|
|
44
|
+
while [[ $# -gt 0 ]]; do
|
|
45
|
+
case "$1" in
|
|
46
|
+
--install-dev|--yes-dev)
|
|
47
|
+
INSTALL_DEV=1
|
|
48
|
+
shift
|
|
49
|
+
;;
|
|
50
|
+
--no-install-dev)
|
|
51
|
+
INSTALL_DEV=0
|
|
52
|
+
shift
|
|
53
|
+
;;
|
|
54
|
+
--yes|-y|--assume-yes)
|
|
55
|
+
ASSUME_YES=1
|
|
56
|
+
shift
|
|
57
|
+
;;
|
|
58
|
+
--help|-h)
|
|
59
|
+
cat <<EOF
|
|
60
|
+
Usage: sudo ./scripts/rocky-setup.sh [options]
|
|
61
|
+
|
|
62
|
+
Options:
|
|
63
|
+
--install-dev, --yes-dev Install Development Tools group (gcc, make, etc.)
|
|
64
|
+
--no-install-dev Explicitly skip Development Tools
|
|
65
|
+
--yes, -y, --assume-yes Assume defaults / non-interactive
|
|
66
|
+
--help, -h Show this help and exit
|
|
67
|
+
|
|
68
|
+
You can also set the environment variable INSTALL_DEV=1 to enable development tools.
|
|
69
|
+
EOF
|
|
70
|
+
exit 0
|
|
71
|
+
;;
|
|
72
|
+
*)
|
|
73
|
+
echo "Unknown argument: $1" >&2
|
|
74
|
+
exit 1
|
|
75
|
+
;;
|
|
76
|
+
esac
|
|
77
|
+
done
|
|
78
|
+
|
|
79
|
+
# Environment variable overrides (if set)
|
|
80
|
+
if [[ "${INSTALL_DEV:-}" =~ ^(1|y|yes|true)$ ]]; then
|
|
81
|
+
INSTALL_DEV=1
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
# Helper: prompt unless ASSUME_YES
|
|
85
|
+
prompt_install_dev() {
|
|
86
|
+
if [[ $ASSUME_YES -eq 1 ]]; then
|
|
87
|
+
return 1 # means do NOT prompt (we treat ASSUME_YES as 'no' for optional install unless INSTALL_DEV set)
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
read -r -p "Do you want to install the 'Development Tools' group (gcc, make, etc.)? [y/N]: " answer
|
|
91
|
+
if [[ "${answer,,}" == "y" || "${answer,,}" == "yes" ]]; then
|
|
92
|
+
return 0
|
|
93
|
+
fi
|
|
94
|
+
return 1
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
# Refresh cache and install basic packages
|
|
98
|
+
echo "[+] Refreshing DNF cache..."
|
|
99
|
+
sudo dnf makecache --refresh
|
|
100
|
+
|
|
101
|
+
echo "[+] Installing dnf-plugins-core and epel-release (if not present)..."
|
|
102
|
+
sudo dnf -y install dnf-plugins-core epel-release
|
|
103
|
+
|
|
104
|
+
echo "[+] Refreshing DNF cache after enabling repositories..."
|
|
105
|
+
sudo dnf makecache --refresh
|
|
106
|
+
|
|
107
|
+
echo "[+] Installing base packages: ${#PACKAGES[@]} packages"
|
|
108
|
+
sudo dnf -y install "${PACKAGES[@]}"
|
|
109
|
+
|
|
110
|
+
# Decide on Development Tools
|
|
111
|
+
if [[ $INSTALL_DEV -eq 1 ]]; then
|
|
112
|
+
echo "[+] Installing Development Tools (requested)..."
|
|
113
|
+
sudo dnf -y groupinstall "Development Tools"
|
|
114
|
+
else
|
|
115
|
+
if prompt_install_dev; then
|
|
116
|
+
echo "[+] Installing Development Tools (prompt confirmed)..."
|
|
117
|
+
sudo dnf -y groupinstall "Development Tools"
|
|
118
|
+
else
|
|
119
|
+
echo "[+] Skipping Development Tools. To auto-enable, run with --install-dev or set INSTALL_DEV=1"
|
|
120
|
+
fi
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
echo "[+] Updating all packages to latest versions..."
|
|
124
|
+
sudo dnf -y update
|
|
125
|
+
|
|
126
|
+
# Cleanup
|
|
127
|
+
echo "[+] Cleanup: remove unnecessary packages and old metadata"
|
|
128
|
+
sudo dnf -y autoremove || true
|
|
129
|
+
sudo dnf clean all || true
|
|
130
|
+
|
|
131
|
+
cat <<EOF
|
|
132
|
+
|
|
133
|
+
Installation complete.
|
|
134
|
+
- To allow SSH access (if this is a VM or server), open port 22 in firewalld:
|
|
135
|
+
sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload
|
|
136
|
+
- If you installed Development Tools, you will have gcc, make, etc.
|
|
137
|
+
|
|
138
|
+
Examples:
|
|
139
|
+
sudo ./scripts/rocky-setup.sh --install-dev
|
|
140
|
+
INSTALL_DEV=1 sudo ./scripts/rocky-setup.sh
|
|
141
|
+
sudo ./scripts/rocky-setup.sh --yes
|
|
142
|
+
|
|
143
|
+
Customize PACKAGES=(...) inside this script according to your needs (docker, podman, kube, mssql-tools, etc.).
|
|
144
|
+
EOF
|
package/src/cli/cluster.js
CHANGED
|
@@ -735,8 +735,11 @@ net.ipv4.ip_forward = 1' | sudo tee ${iptableConfPath}`,
|
|
|
735
735
|
initHost() {
|
|
736
736
|
const archData = UnderpostBaremetal.API.getHostArch();
|
|
737
737
|
logger.info('Installing essential host-level prerequisites for Kubernetes...', archData);
|
|
738
|
+
|
|
739
|
+
// Install base rocky setup and updates
|
|
740
|
+
shellExec(`node bin run host-update`);
|
|
741
|
+
|
|
738
742
|
// Install Docker and its dependencies
|
|
739
|
-
shellExec(`sudo dnf -y install dnf-plugins-core dbus-x11`);
|
|
740
743
|
shellExec(`sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo`);
|
|
741
744
|
shellExec(`sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin`);
|
|
742
745
|
|
package/src/cli/deploy.js
CHANGED
|
@@ -48,8 +48,7 @@ class UnderpostDeploy {
|
|
|
48
48
|
* @memberof UnderpostDeploy
|
|
49
49
|
*/
|
|
50
50
|
sync(deployList, { versions, replicas, node }) {
|
|
51
|
-
|
|
52
|
-
fs.writeFileSync(`./engine-private/deploy/${deployGroupId}`, deployList, 'utf8');
|
|
51
|
+
fs.writeFileSync(`./engine-private/deploy/dd.router`, deployList, 'utf8');
|
|
53
52
|
const totalPods = deployList.split(',').length * versions.split(',').length * parseInt(replicas);
|
|
54
53
|
const limitFactor = 0.8;
|
|
55
54
|
const reserveFactor = 0.05;
|
|
@@ -66,7 +65,6 @@ class UnderpostDeploy {
|
|
|
66
65
|
UnderpostRootEnv.API.set('total-pods', totalPods);
|
|
67
66
|
return getDataDeploy({
|
|
68
67
|
buildSingleReplica: true,
|
|
69
|
-
deployGroupId,
|
|
70
68
|
});
|
|
71
69
|
},
|
|
72
70
|
/**
|
package/src/cli/env.js
CHANGED
|
@@ -56,9 +56,10 @@ class UnderpostRootEnv {
|
|
|
56
56
|
* @param {string} value - The value of the environment variable to get.
|
|
57
57
|
* @param {object} options - Options for getting the environment variable.
|
|
58
58
|
* @param {boolean} [options.plain=false] - If true, returns the environment variable value as a string.
|
|
59
|
+
* @param {boolean} [options.disableLog=false] - If true, disables logging of the environment variable value.
|
|
59
60
|
* @memberof UnderpostEnv
|
|
60
61
|
*/
|
|
61
|
-
get(key, value, options = { plain: false }) {
|
|
62
|
+
get(key, value, options = { plain: false, disableLog: false }) {
|
|
62
63
|
const exeRootPath = `${getNpmRootPath()}/underpost`;
|
|
63
64
|
const envPath = `${exeRootPath}/.env`;
|
|
64
65
|
if (!fs.existsSync(envPath)) {
|
|
@@ -66,7 +67,8 @@ class UnderpostRootEnv {
|
|
|
66
67
|
return undefined;
|
|
67
68
|
}
|
|
68
69
|
const env = dotenv.parse(fs.readFileSync(envPath, 'utf8'));
|
|
69
|
-
|
|
70
|
+
if (!options.disableLog)
|
|
71
|
+
options?.plain === true ? console.log(env[key]) : logger.info(`${key}(${typeof env[key]})`, env[key]);
|
|
70
72
|
return env[key];
|
|
71
73
|
},
|
|
72
74
|
/**
|
package/src/cli/index.js
CHANGED
|
@@ -68,10 +68,16 @@ program
|
|
|
68
68
|
.argument(`[commit-type]`, `The type of commit to perform. Options: ${Object.keys(commitData).join(', ')}.`)
|
|
69
69
|
.argument(`[module-tag]`, 'Optional: Sets a specific module tag for the commit.')
|
|
70
70
|
.argument(`[message]`, 'Optional: Provides an additional custom message for the commit.')
|
|
71
|
-
.option(`--log
|
|
71
|
+
.option(`--log <latest-n>`, 'Shows commit history from the specified number of latest n path commits.')
|
|
72
|
+
.option('--last-msg <latest-n>', 'Displays the last n commit message.')
|
|
72
73
|
.option('--empty', 'Allows committing with empty files.')
|
|
73
74
|
.option('--copy', 'Copies the generated commit message to the clipboard.')
|
|
74
75
|
.option('--info', 'Displays information about available commit types.')
|
|
76
|
+
.option('--diff', 'Shows the current git diff changes.')
|
|
77
|
+
.option('--edit', 'Edit last commit.')
|
|
78
|
+
.option('--msg <msg>', 'Sets a custom commit message.')
|
|
79
|
+
.option('--deploy-id <deploy-id>', 'Sets the deployment configuration ID for the commit context.')
|
|
80
|
+
.option('--cached', 'Commit staged changes only or context.')
|
|
75
81
|
.description('Manages commits to a GitHub repository, supporting various commit types and options.')
|
|
76
82
|
.action(Underpost.repo.commit);
|
|
77
83
|
|
|
@@ -382,6 +388,7 @@ program
|
|
|
382
388
|
.option('--namespace <namespace>', 'Optional: Specifies the namespace for test execution.')
|
|
383
389
|
.option('--kubeadm', 'Flag to indicate Kubeadm cluster type context')
|
|
384
390
|
.option('--k3s', 'Flag to indicate K3s cluster type context')
|
|
391
|
+
.option('--force', 'Forces operation, overriding any warnings or conflicts.')
|
|
385
392
|
.description('Runs a script from the specified path.')
|
|
386
393
|
.action(UnderpostRun.API.callback);
|
|
387
394
|
|
package/src/cli/repository.js
CHANGED
|
@@ -17,6 +17,8 @@ dotenv.config();
|
|
|
17
17
|
|
|
18
18
|
const logger = loggerFactory(import.meta);
|
|
19
19
|
|
|
20
|
+
const diffCmd = `--no-pager show -U0 -w --word-diff=color --word-diff-regex='[^[:space:]]' --color=always`;
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* @class UnderpostRepository
|
|
22
24
|
* @description Manages Git operations and configurations.
|
|
@@ -80,6 +82,13 @@ class UnderpostRepository {
|
|
|
80
82
|
* @param {boolean} [options.copy=false] - If true, copies the commit message to the clipboard.
|
|
81
83
|
* @param {boolean} [options.info=false] - If true, displays information about commit types.
|
|
82
84
|
* @param {boolean} [options.empty=false] - If true, allows an empty commit.
|
|
85
|
+
* @param {boolean} [options.diff=false] - If true, shows the diff of the last commit.
|
|
86
|
+
* @param {boolean} [options.edit=false] - If true, amends the last commit without changing the message.
|
|
87
|
+
* @param {boolean} [options.cached=false] - If true, commits only staged changes.
|
|
88
|
+
* @param {number} [options.log=0] - If greater than 0, shows the last N commits with diffs.
|
|
89
|
+
* @param {boolean} [options.lastMsg=0] - If greater than 0, copies or show the last last single n commit message to clipboard.
|
|
90
|
+
* @param {string} [options.msg=''] - If provided, outputs this message instead of committing.
|
|
91
|
+
* @param {string} [options.deployId=''] - An optional deploy ID to include in the commit message.
|
|
83
92
|
* @memberof UnderpostRepository
|
|
84
93
|
*/
|
|
85
94
|
commit(
|
|
@@ -91,18 +100,43 @@ class UnderpostRepository {
|
|
|
91
100
|
copy: false,
|
|
92
101
|
info: false,
|
|
93
102
|
empty: false,
|
|
94
|
-
|
|
103
|
+
diff: false,
|
|
104
|
+
edit: false,
|
|
105
|
+
cached: false,
|
|
106
|
+
lastMsg: 0,
|
|
107
|
+
log: 0,
|
|
108
|
+
msg: '',
|
|
109
|
+
deployId: '',
|
|
95
110
|
},
|
|
96
111
|
) {
|
|
112
|
+
if (!repoPath) repoPath = '.';
|
|
113
|
+
if (options.msg) {
|
|
114
|
+
let key = Object.keys(commitData).find((k) => k && options.msg.toLocaleLowerCase().match(k));
|
|
115
|
+
if (!key) key == 'chore';
|
|
116
|
+
shellExec(
|
|
117
|
+
`underpost cmt ${repoPath} ${key} ${options.deployId ? options.deployId : `''`} '${options.msg.replaceAll(`${key}(${key}`, '')}'`,
|
|
118
|
+
);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (options.lastMsg) {
|
|
122
|
+
if (options.copy) {
|
|
123
|
+
pbcopy(UnderpostRepository.API.getLastCommitMsg(options.lastMsg - 1));
|
|
124
|
+
} else console.log(UnderpostRepository.API.getLastCommitMsg(options.lastMsg - 1));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (options.diff) {
|
|
128
|
+
const _diffCmd = `git ${diffCmd.replace('show', `diff${options.cached ? ` --cached` : ''}`)}`;
|
|
129
|
+
if (options.copy) pbcopy(_diffCmd);
|
|
130
|
+
else console.log('Diff command:', _diffCmd);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
97
133
|
if (options.log) {
|
|
98
|
-
const history = UnderpostRepository.API.getHistory(
|
|
134
|
+
const history = UnderpostRepository.API.getHistory(options.log);
|
|
135
|
+
const chainCmd = history
|
|
136
|
+
.reverse()
|
|
137
|
+
.map((commitData, i) => `${i === 0 ? '' : ' && '}git ${diffCmd} ${commitData.hash}`)
|
|
138
|
+
.join('');
|
|
99
139
|
if (history[0]) {
|
|
100
|
-
pbcopy(
|
|
101
|
-
history
|
|
102
|
-
.reverse()
|
|
103
|
-
.map((commitData, i) => `${i === 0 ? '' : ' && '}git --no-pager show ${commitData.hash}`)
|
|
104
|
-
.join(''),
|
|
105
|
-
);
|
|
106
140
|
for (const commit of history) {
|
|
107
141
|
console.log(commit.hash.yellow, commit.message);
|
|
108
142
|
console.log(
|
|
@@ -113,11 +147,13 @@ class UnderpostRepository {
|
|
|
113
147
|
}).red,
|
|
114
148
|
);
|
|
115
149
|
}
|
|
150
|
+
if (options.copy) pbcopy(chainCmd);
|
|
151
|
+
else console.log('Show all:', chainCmd);
|
|
116
152
|
} else logger.warn('No commits found');
|
|
117
153
|
return;
|
|
118
154
|
}
|
|
119
155
|
if (commitType === 'reset') {
|
|
120
|
-
if (options.copy) pbcopy(
|
|
156
|
+
if (options.copy) pbcopy(UnderpostRepository.API.getLastCommitMsg());
|
|
121
157
|
shellExec(`cd ${repoPath} && git reset --soft HEAD~${isNaN(parseInt(subModule)) ? 1 : parseInt(subModule)}`);
|
|
122
158
|
return;
|
|
123
159
|
}
|
|
@@ -126,7 +162,18 @@ class UnderpostRepository {
|
|
|
126
162
|
commitData[commitType].emoji
|
|
127
163
|
} ${message ? message : commitData[commitType].description}`;
|
|
128
164
|
if (options.copy) return pbcopy(_message);
|
|
129
|
-
shellExec(
|
|
165
|
+
shellExec(
|
|
166
|
+
`cd ${repoPath} && git commit ${options?.empty ? `--allow-empty ` : ''}${options.edit ? `--amend --no-edit ` : `-m "${_message}"`}`,
|
|
167
|
+
);
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Retrieves the message of the last Git commit.
|
|
172
|
+
* @returns {string} The last commit message.
|
|
173
|
+
* @memberof UnderpostRepository
|
|
174
|
+
*/
|
|
175
|
+
getLastCommitMsg(skip = 0) {
|
|
176
|
+
return shellExec(`git --no-pager log -1 --skip=${skip} --pretty=%B`, { stdout: true });
|
|
130
177
|
},
|
|
131
178
|
|
|
132
179
|
/**
|
|
@@ -291,13 +338,25 @@ Prevent build private config repo.`,
|
|
|
291
338
|
deployVersion: packageJsonDeploy.version,
|
|
292
339
|
};
|
|
293
340
|
},
|
|
294
|
-
|
|
295
|
-
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Retrieves the Git commit history.
|
|
344
|
+
* @param {number} [sinceCommit=1] - The number of recent commits to retrieve.
|
|
345
|
+
* @returns {Array<{hash: string, message: string, files: string}>} An array of commit objects with hash, message, and files.
|
|
346
|
+
* @memberof UnderpostRepository
|
|
347
|
+
*/
|
|
348
|
+
getHistory(sinceCommit = 1) {
|
|
349
|
+
return shellExec(`git log -1 --pretty=format:"%h %s" -n ${sinceCommit}`, {
|
|
350
|
+
stdout: true,
|
|
351
|
+
silent: true,
|
|
352
|
+
disableLog: true,
|
|
353
|
+
})
|
|
296
354
|
.split(`\n`)
|
|
297
355
|
.map((line) => {
|
|
356
|
+
const hash = line.split(' ')[0];
|
|
298
357
|
return {
|
|
299
|
-
hash
|
|
300
|
-
message: line.
|
|
358
|
+
hash,
|
|
359
|
+
message: line.split(`${hash} `)[1],
|
|
301
360
|
};
|
|
302
361
|
})
|
|
303
362
|
.filter((line) => line.hash)
|
|
@@ -305,6 +364,7 @@ Prevent build private config repo.`,
|
|
|
305
364
|
line.files = shellExec(`git show --name-status --pretty="" ${line.hash}`, {
|
|
306
365
|
stdout: true,
|
|
307
366
|
silent: true,
|
|
367
|
+
disableLog: true,
|
|
308
368
|
});
|
|
309
369
|
return line;
|
|
310
370
|
});
|
package/src/cli/run.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { daemonProcess, getTerminalPid, openTerminal, pbcopy, shellCd, shellExec } from '../server/process.js';
|
|
8
|
-
import { getNpmRootPath, isDeployRunnerContext } from '../server/conf.js';
|
|
8
|
+
import { getNpmRootPath, getUnderpostRootPath, isDeployRunnerContext } from '../server/conf.js';
|
|
9
9
|
import { actionInitLog, loggerFactory } from '../server/logger.js';
|
|
10
10
|
import UnderpostTest from './test.js';
|
|
11
11
|
import fs from 'fs-extra';
|
|
@@ -14,6 +14,7 @@ import UnderpostDeploy from './deploy.js';
|
|
|
14
14
|
import UnderpostRootEnv from './env.js';
|
|
15
15
|
import UnderpostRepository from './repository.js';
|
|
16
16
|
import os from 'os';
|
|
17
|
+
import Underpost from '../index.js';
|
|
17
18
|
|
|
18
19
|
const logger = loggerFactory(import.meta);
|
|
19
20
|
|
|
@@ -42,6 +43,7 @@ class UnderpostRun {
|
|
|
42
43
|
* @property {number} replicas - The number of replicas to run.
|
|
43
44
|
* @property {boolean} k3s - Whether to run in k3s mode.
|
|
44
45
|
* @property {boolean} kubeadm - Whether to run in kubeadm mode.
|
|
46
|
+
* @property {boolean} force - Whether to force the operation.
|
|
45
47
|
* @memberof UnderpostRun
|
|
46
48
|
*/
|
|
47
49
|
static DEFAULT_OPTION = {
|
|
@@ -56,6 +58,7 @@ class UnderpostRun {
|
|
|
56
58
|
replicas: 1,
|
|
57
59
|
k3s: false,
|
|
58
60
|
kubeadm: false,
|
|
61
|
+
force: false,
|
|
59
62
|
};
|
|
60
63
|
/**
|
|
61
64
|
* @static
|
|
@@ -274,11 +277,29 @@ class UnderpostRun {
|
|
|
274
277
|
'template-deploy': (path, options = UnderpostRun.DEFAULT_OPTION) => {
|
|
275
278
|
const baseCommand = options.dev ? 'node bin' : 'underpost';
|
|
276
279
|
shellExec(`${baseCommand} run clean`);
|
|
277
|
-
shellExec(
|
|
280
|
+
shellExec(
|
|
281
|
+
`${baseCommand} push ./engine-private ${options.force ? '-f ' : ''}${process.env.GITHUB_USERNAME}/engine-private`,
|
|
282
|
+
);
|
|
278
283
|
shellCd('/home/dd/engine');
|
|
279
284
|
shellExec(`git reset`);
|
|
280
|
-
shellExec(
|
|
281
|
-
|
|
285
|
+
shellExec(
|
|
286
|
+
`${baseCommand} cmt . --empty ci package-pwa-microservices-template${path.startsWith('sync') ? `-${path}` : ''}`,
|
|
287
|
+
);
|
|
288
|
+
shellExec(`${baseCommand} push . ${options.force ? '-f ' : ''}${process.env.GITHUB_USERNAME}/engine`);
|
|
289
|
+
},
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* @method template-deploy-image
|
|
293
|
+
* @description Commits and pushes a Docker image deployment for the `engine` repository.
|
|
294
|
+
* @param {string} path - The input value, identifier, or path for the operation.
|
|
295
|
+
* @param {Object} options - The default underpost runner options for customizing workflow
|
|
296
|
+
* @memberof UnderpostRun
|
|
297
|
+
*/
|
|
298
|
+
'template-deploy-image': (path, options = UnderpostRun.DEFAULT_OPTION) => {
|
|
299
|
+
// const baseCommand = options.dev ? 'node bin' : 'underpost';
|
|
300
|
+
shellExec(
|
|
301
|
+
`cd /home/dd/engine && git reset && underpost cmt . --empty ci docker-image 'underpost-engine:${Underpost.version}' && underpost push . ${options.force ? '-f ' : ''}${process.env.GITHUB_USERNAME}/engine`,
|
|
302
|
+
);
|
|
282
303
|
},
|
|
283
304
|
/**
|
|
284
305
|
* @method clean
|
|
@@ -333,18 +354,25 @@ class UnderpostRun {
|
|
|
333
354
|
shellCd('/home/dd/engine');
|
|
334
355
|
shellExec(`git reset`);
|
|
335
356
|
shellExec(`${baseCommand} cmt . --empty cd ssh-${path}`);
|
|
336
|
-
shellExec(`${baseCommand} push . ${process.env.GITHUB_USERNAME}/engine`);
|
|
357
|
+
shellExec(`${baseCommand} push . ${options.force ? '-f ' : ''}${process.env.GITHUB_USERNAME}/engine`);
|
|
337
358
|
},
|
|
338
359
|
/**
|
|
339
360
|
* @method ide
|
|
340
|
-
* @description Opens a Visual Studio Code (VS Code) session for the specified path using `node ${underpostRoot}/bin/zed ${path}
|
|
361
|
+
* @description Opens a Visual Studio Code (VS Code) session for the specified path using `node ${underpostRoot}/bin/zed ${path}`,
|
|
362
|
+
* or installs Zed and sublime-text IDE if `path` is 'install'.
|
|
341
363
|
* @param {string} path - The input value, identifier, or path for the operation (used as the path to the directory to open in the IDE).
|
|
342
364
|
* @param {Object} options - The default underpost runner options for customizing workflow
|
|
343
365
|
* @memberof UnderpostRun
|
|
344
366
|
*/
|
|
345
367
|
ide: (path, options = UnderpostRun.DEFAULT_OPTION) => {
|
|
346
368
|
const { underpostRoot } = options;
|
|
347
|
-
|
|
369
|
+
if (path === 'install') {
|
|
370
|
+
shellExec(`sudo curl -f https://zed.dev/install.sh | sh`);
|
|
371
|
+
shellExec(
|
|
372
|
+
`sudo dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo`,
|
|
373
|
+
);
|
|
374
|
+
shellExec(`sudo dnf install -y sublime-text`);
|
|
375
|
+
} else shellExec(`node ${underpostRoot}/bin/zed ${path}`);
|
|
348
376
|
},
|
|
349
377
|
/**
|
|
350
378
|
* @method sync
|
|
@@ -405,6 +433,20 @@ class UnderpostRun {
|
|
|
405
433
|
'ls-deployments': async (path, options = UnderpostRun.DEFAULT_OPTION) => {
|
|
406
434
|
console.table(await UnderpostDeploy.API.get(path, 'deployments'));
|
|
407
435
|
},
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* @method host-update
|
|
439
|
+
* @description Executes the `rocky-setup.sh` script to update the host system configuration.
|
|
440
|
+
* @param {string} path - The input value, identifier, or path for the operation.
|
|
441
|
+
* @param {Object} options - The default underpost runner options for customizing workflow
|
|
442
|
+
* @memberof UnderpostRun
|
|
443
|
+
*/
|
|
444
|
+
'host-update': async (path, options = UnderpostRun.DEFAULT_OPTION) => {
|
|
445
|
+
// const baseCommand = options.dev ? 'node bin' : 'underpost';
|
|
446
|
+
shellExec(`chmod +x ${options.underpostRoot}/scripts/rocky-setup.sh`);
|
|
447
|
+
shellExec(`${options.underpostRoot}/scripts/rocky-setup.sh --yes${options.dev ? ' --install-dev' : ``}`);
|
|
448
|
+
},
|
|
449
|
+
|
|
408
450
|
/**
|
|
409
451
|
* @method monitor
|
|
410
452
|
* @description Monitors a specific pod (identified by `path`) for the existence of a file (`/await`), and performs conditional actions (like file copying and opening Firefox) when the file is removed.
|
|
@@ -513,6 +555,40 @@ class UnderpostRun {
|
|
|
513
555
|
shellExec(`underpost deploy --expose adminer`);
|
|
514
556
|
}
|
|
515
557
|
},
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* @method git-conf
|
|
561
|
+
* @description Configures Git global and local user name and email settings based on the provided `path` (formatted as `username,email`), or defaults to environment variables.
|
|
562
|
+
* @param {string} path - The input value, identifier, or path for the operation (used as a comma-separated string: `username,email`).
|
|
563
|
+
* @param {Object} options - The default underpost runner options for customizing workflow
|
|
564
|
+
* @memberof UnderpostRun
|
|
565
|
+
*/
|
|
566
|
+
'git-conf': (path = '', options = UnderpostRun.DEFAULT_OPTION) => {
|
|
567
|
+
const defaultUsername = UnderpostRootEnv.API.get('GITHUB_USERNAME', '', { disableLog: true });
|
|
568
|
+
const defaultEmail = UnderpostRootEnv.API.get('GITHUB_EMAIL', '', { disableLog: true });
|
|
569
|
+
const [username, email] = path && path.split(',').length > 0 ? path.split(',') : [defaultUsername, defaultEmail];
|
|
570
|
+
|
|
571
|
+
shellExec(
|
|
572
|
+
`git config --global credential.helper "" && ` +
|
|
573
|
+
`git config credential.helper "" && ` +
|
|
574
|
+
`git config --global user.name '${username}' && ` +
|
|
575
|
+
`git config --global user.email '${email}' && ` +
|
|
576
|
+
`git config --global credential.interactive always && ` +
|
|
577
|
+
`git config user.name '${username}' && ` +
|
|
578
|
+
`git config user.email '${email}' && ` +
|
|
579
|
+
`git config credential.interactive always &&` +
|
|
580
|
+
`git config pull.rebase false`,
|
|
581
|
+
);
|
|
582
|
+
|
|
583
|
+
console.log(
|
|
584
|
+
shellExec(`git config list`, { silent: true, stdout: true })
|
|
585
|
+
.replaceAll('user.email', 'user.email'.yellow)
|
|
586
|
+
.replaceAll(username, username.green)
|
|
587
|
+
.replaceAll('user.name', 'user.name'.yellow)
|
|
588
|
+
.replaceAll(email, email.green),
|
|
589
|
+
);
|
|
590
|
+
},
|
|
591
|
+
|
|
516
592
|
/**
|
|
517
593
|
* @method promote
|
|
518
594
|
* @description Switches traffic between blue/green deployments for a specified deployment ID(s) (uses `dd.router` for 'dd', or a specific ID).
|
|
@@ -797,15 +873,22 @@ EOF`;
|
|
|
797
873
|
* @returns {Promise<any>} The result of the callback execution.
|
|
798
874
|
*/
|
|
799
875
|
async callback(runner, path, options = UnderpostRun.DEFAULT_OPTION) {
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
876
|
+
try {
|
|
877
|
+
const npmRoot = getNpmRootPath();
|
|
878
|
+
const underpostRoot = options?.dev === true ? '.' : `${npmRoot}/underpost`;
|
|
879
|
+
if (options.command) options.command = options.command.split(',');
|
|
880
|
+
if (options.args) options.args = options.args.split(',');
|
|
881
|
+
options.underpostRoot = underpostRoot;
|
|
882
|
+
options.npmRoot = npmRoot;
|
|
883
|
+
logger.info('callback', { path, options });
|
|
884
|
+
if (!(runner in UnderpostRun.RUNNERS)) throw new Error(`Runner not found: ${runner}`);
|
|
885
|
+
const result = await UnderpostRun.RUNNERS[runner](path, options);
|
|
886
|
+
return result;
|
|
887
|
+
} catch (error) {
|
|
888
|
+
console.log(error);
|
|
889
|
+
logger.error(error);
|
|
890
|
+
return null;
|
|
891
|
+
}
|
|
809
892
|
},
|
|
810
893
|
};
|
|
811
894
|
}
|
|
@@ -118,7 +118,12 @@ const getQueryParams = () => {
|
|
|
118
118
|
const sanitizeRoute = (route) =>
|
|
119
119
|
!route || route === '/' || route === `\\`
|
|
120
120
|
? 'home'
|
|
121
|
-
: route
|
|
121
|
+
: route
|
|
122
|
+
.toLowerCase()
|
|
123
|
+
.replaceAll('/', '')
|
|
124
|
+
.replaceAll(`\\`, '')
|
|
125
|
+
.replaceAll(' ', '-')
|
|
126
|
+
.replaceAll(getProxyPath().replaceAll('/', ''), '');
|
|
122
127
|
|
|
123
128
|
/**
|
|
124
129
|
* Sets the document title and updates the active state of the main menu button corresponding to the route.
|
|
@@ -16,8 +16,10 @@ const getApiBasePath = (options) =>
|
|
|
16
16
|
options?.proxyPath
|
|
17
17
|
? `/${options.proxyPath}/`
|
|
18
18
|
: window.renderPayload?.apiBaseProxyPath
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
? window.renderPayload.apiBaseProxyPath == '/'
|
|
20
|
+
? window.renderPayload.apiBaseProxyPath
|
|
21
|
+
: `${window.renderPayload.apiBaseProxyPath}/`
|
|
22
|
+
: getProxyPath()
|
|
21
23
|
}${window.renderPayload?.apiBasePath ? window.renderPayload.apiBasePath : 'api'}/`;
|
|
22
24
|
|
|
23
25
|
const getApiBaseUrl = (options = { id: '', endpoint: '', proxyPath: '' }) =>
|
package/src/index.js
CHANGED
package/src/server/conf.js
CHANGED
|
@@ -57,7 +57,8 @@ const Config = {
|
|
|
57
57
|
if (process.argv[2] && typeof process.argv[2] === 'string' && process.argv[2].startsWith('dd-'))
|
|
58
58
|
deployContext = process.argv[2];
|
|
59
59
|
if (!subConf && process.argv[3] && typeof process.argv[3] === 'string') subConf = process.argv[3];
|
|
60
|
-
if (!fs.existsSync(`./tmp`)) fs.mkdirSync(`./tmp
|
|
60
|
+
if (!fs.existsSync(`./tmp`)) fs.mkdirSync(`./tmp`);
|
|
61
|
+
if (!fs.existsSync(`./conf`)) fs.mkdirSync(`./conf`);
|
|
61
62
|
UnderpostRootEnv.API.set('await-deploy', new Date().toISOString());
|
|
62
63
|
if (deployContext.startsWith('dd-')) loadConf(deployContext, subConf);
|
|
63
64
|
if (deployContext === 'proxy') await Config.buildProxy(deployList, subConf);
|
|
@@ -842,7 +843,6 @@ const buildReplicaId = ({ deployId, replica }) => `${deployId}-${replica.slice(1
|
|
|
842
843
|
* @description Gets the data deploy.
|
|
843
844
|
* @param {object} options - The options.
|
|
844
845
|
* @param {boolean} [options.buildSingleReplica=false] - The build single replica.
|
|
845
|
-
* @param {string} options.deployGroupId - The deploy group ID.
|
|
846
846
|
* @param {string} options.deployId - The deploy ID.
|
|
847
847
|
* @param {boolean} [options.disableSyncEnvPort=false] - The disable sync env port.
|
|
848
848
|
* @returns {object} - The data deploy.
|
|
@@ -851,23 +851,15 @@ const buildReplicaId = ({ deployId, replica }) => `${deployId}-${replica.slice(1
|
|
|
851
851
|
const getDataDeploy = (
|
|
852
852
|
options = {
|
|
853
853
|
buildSingleReplica: false,
|
|
854
|
-
deployGroupId: '',
|
|
855
|
-
deployId: '',
|
|
856
854
|
disableSyncEnvPort: false,
|
|
857
855
|
},
|
|
858
856
|
) => {
|
|
859
|
-
let dataDeploy =
|
|
860
|
-
|
|
861
|
-
? fs.readFileSync(`./engine-private/deploy/${options.deployGroupId}.router`, 'utf8')
|
|
862
|
-
: fs.readFileSync(`./engine-private/deploy/${options.deployGroupId}`, 'utf8');
|
|
863
|
-
|
|
864
|
-
dataDeploy = dataDeploy
|
|
857
|
+
let dataDeploy = fs
|
|
858
|
+
.readFileSync(`./engine-private/deploy/dd.router`, 'utf8')
|
|
865
859
|
.split(',')
|
|
866
860
|
.map((deployId) => deployId.trim())
|
|
867
861
|
.filter((deployId) => deployId);
|
|
868
862
|
|
|
869
|
-
if (options.deployId) dataDeploy = dataDeploy.filter((d) => d === options.deployId);
|
|
870
|
-
|
|
871
863
|
dataDeploy = dataDeploy.map((deployId) => {
|
|
872
864
|
return {
|
|
873
865
|
deployId,
|
|
@@ -902,10 +894,9 @@ const getDataDeploy = (
|
|
|
902
894
|
if (replicaDataDeploy.length > 0) buildDataDeploy = buildDataDeploy.concat(replicaDataDeploy);
|
|
903
895
|
}
|
|
904
896
|
|
|
905
|
-
|
|
906
|
-
if (enableSyncEnvPort) shellExec(Cmd.syncPorts(options.deployGroupId));
|
|
897
|
+
if (!options.disableSyncEnvPort && options.buildSingleReplica) shellExec(Cmd.syncPorts());
|
|
907
898
|
|
|
908
|
-
logger.info('
|
|
899
|
+
logger.info('Deployments configured', buildDataDeploy);
|
|
909
900
|
|
|
910
901
|
return buildDataDeploy;
|
|
911
902
|
};
|
|
@@ -1168,11 +1159,10 @@ const Cmd = {
|
|
|
1168
1159
|
/**
|
|
1169
1160
|
* @method syncPorts
|
|
1170
1161
|
* @description Syncs the ports.
|
|
1171
|
-
* @param {string} deployGroupId - The deploy group ID.
|
|
1172
1162
|
* @returns {string} - The sync ports command.
|
|
1173
1163
|
* @memberof Cmd
|
|
1174
1164
|
*/
|
|
1175
|
-
syncPorts: (
|
|
1165
|
+
syncPorts: () => `node bin/deploy sync-env-port`,
|
|
1176
1166
|
/**
|
|
1177
1167
|
* @method cron
|
|
1178
1168
|
* @description Creates a cron job.
|
package/CHANGELOG.md
DELETED
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
### Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
|
4
|
-
|
|
5
|
-
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
|
-
|
|
7
|
-
#### [v2.8.885](https://github.com/underpostnet/engine/compare/v2.8.883...v2.8.885)
|
|
8
|
-
|
|
9
|
-
> 13 October 2025
|
|
10
|
-
|
|
11
|
-
- cd(ssh-engine-cyberia): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`db3ba50`](https://github.com/underpostnet/engine/commit/db3ba504236a49acd8a6f6873ea039fd0f615224)
|
|
12
|
-
- cd(ssh-engine-lampp): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`ffa8f17`](https://github.com/underpostnet/engine/commit/ffa8f17e795d8cff886e84948dfadfc55b546df3)
|
|
13
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`3c26a8f`](https://github.com/underpostnet/engine/commit/3c26a8ff88d199066f1447d91126b206ffbd8fe9)
|
|
14
|
-
|
|
15
|
-
#### [v2.8.883](https://github.com/underpostnet/engine/compare/v2.8.881...v2.8.883)
|
|
16
|
-
|
|
17
|
-
> 10 October 2025
|
|
18
|
-
|
|
19
|
-
- cd(ssh-engine-cyberia): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`a7a6211`](https://github.com/underpostnet/engine/commit/a7a6211216378d4359f17fac9fa89a19b522c331)
|
|
20
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`7c57945`](https://github.com/underpostnet/engine/commit/7c5794585698836bfa638a229ce6c36ffcaf69e2)
|
|
21
|
-
- cd(ssh-engine-test): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`08ee147`](https://github.com/underpostnet/engine/commit/08ee1476e76f6b7d996cf824edfd3a00f94e0b82)
|
|
22
|
-
|
|
23
|
-
#### [v2.8.881](https://github.com/underpostnet/engine/compare/v2.8.878...v2.8.881)
|
|
24
|
-
|
|
25
|
-
> 3 October 2025
|
|
26
|
-
|
|
27
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`8c9a193`](https://github.com/underpostnet/engine/commit/8c9a19381f373fbcbcc98065fff805ea14ab9fd8)
|
|
28
|
-
- cd(ssh-engine-test): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`fd6d81b`](https://github.com/underpostnet/engine/commit/fd6d81b8f2a21a81a675f85ae134b95873edf6ce)
|
|
29
|
-
- ci(docker-image-engine): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`ef3e8d9`](https://github.com/underpostnet/engine/commit/ef3e8d945704c6c64c07c4ad886c2a12e24e1a27)
|
|
30
|
-
|
|
31
|
-
#### [v2.8.878](https://github.com/underpostnet/engine/compare/v2.8.871...v2.8.878)
|
|
32
|
-
|
|
33
|
-
> 29 September 2025
|
|
34
|
-
|
|
35
|
-
- cd(ssh-engine-cyberia): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`3d46c7b`](https://github.com/underpostnet/engine/commit/3d46c7b68b5b8af269d738a35cc92b69d74f5c41)
|
|
36
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`82c8960`](https://github.com/underpostnet/engine/commit/82c8960b8e898891d3b496ff6797638d97be8cc2)
|
|
37
|
-
- cd(ssh-engine-test): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`054fda8`](https://github.com/underpostnet/engine/commit/054fda835fffcaaaf84f1b56eab93a82ba077f2d)
|
|
38
|
-
|
|
39
|
-
#### [v2.8.871](https://github.com/underpostnet/engine/compare/v2.8.866...v2.8.871)
|
|
40
|
-
|
|
41
|
-
> 22 September 2025
|
|
42
|
-
|
|
43
|
-
- Clean dependencies and refactor getDefaultProfileImageId [`450a9ef`](https://github.com/underpostnet/engine/commit/450a9effc2f30a342bdc9a3d02ec148c02c182e8)
|
|
44
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`ff6d44b`](https://github.com/underpostnet/engine/commit/ff6d44b805afe7d03c1a49cab85353b18d01fee2)
|
|
45
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`4e7ad66`](https://github.com/underpostnet/engine/commit/4e7ad6610b4c6b7c62aab5ec1ed5f46c7193fe10)
|
|
46
|
-
|
|
47
|
-
#### [v2.8.866](https://github.com/underpostnet/engine/compare/v2.8.853...v2.8.866)
|
|
48
|
-
|
|
49
|
-
> 12 September 2025
|
|
50
|
-
|
|
51
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`0a4e1f8`](https://github.com/underpostnet/engine/commit/0a4e1f83d93a3014e0871ad3f703811125bd04cc)
|
|
52
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`31279b0`](https://github.com/underpostnet/engine/commit/31279b09af9ae3c9fda2d410b701ff69c3435dbe)
|
|
53
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`c66fb17`](https://github.com/underpostnet/engine/commit/c66fb17b3a2e8a0dad5dc0c1649ac68dcbd78c81)
|
|
54
|
-
|
|
55
|
-
#### [v2.8.853](https://github.com/underpostnet/engine/compare/v2.8.852...v2.8.853)
|
|
56
|
-
|
|
57
|
-
> 4 September 2025
|
|
58
|
-
|
|
59
|
-
- cd(ssh-engine-cyberia): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`333345b`](https://github.com/underpostnet/engine/commit/333345ba751939c790c8280fa90aea6b2faafd74)
|
|
60
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`7e98622`](https://github.com/underpostnet/engine/commit/7e98622c5d2706e686384456a0c77005842704f5)
|
|
61
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`60b7e97`](https://github.com/underpostnet/engine/commit/60b7e9711244192dc978442e99db1eb99d7f4fd1)
|
|
62
|
-
|
|
63
|
-
#### [v2.8.852](https://github.com/underpostnet/engine/compare/v2.8.845...v2.8.852)
|
|
64
|
-
|
|
65
|
-
> 3 September 2025
|
|
66
|
-
|
|
67
|
-
- cd(ssh-engine-cyberia): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`19db862`](https://github.com/underpostnet/engine/commit/19db862aeb61a0f551f8b4d0a0f42a82dc3b9d97)
|
|
68
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`ad2a17a`](https://github.com/underpostnet/engine/commit/ad2a17a053dd09d204e589dab4c3d32b7036522e)
|
|
69
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`765057f`](https://github.com/underpostnet/engine/commit/765057f4112cd2f662836d0b69475212c778b516)
|
|
70
|
-
|
|
71
|
-
#### [v2.8.845](https://github.com/underpostnet/engine/compare/v2.8.844...v2.8.845)
|
|
72
|
-
|
|
73
|
-
> 30 August 2025
|
|
74
|
-
|
|
75
|
-
- cd(ssh-engine-core): 🚀 Changes to our Continuous Delivery configuration files and scripts (example scopes: Jenkins, Spinnaker, ArgoCD) [`1a9262a`](https://github.com/underpostnet/engine/commit/1a9262ac5604b3b63e50b169bf40730a767914a0)
|
|
76
|
-
- Add src/server/client-build-docs.js module [`0abd837`](https://github.com/underpostnet/engine/commit/0abd837fa33ab59e91945d6738463bf5cd613502)
|
|
77
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`09f0681`](https://github.com/underpostnet/engine/commit/09f0681b10236d471ab6d9e5fbe0bf98ec0b1cb0)
|
|
78
|
-
|
|
79
|
-
#### [v2.8.844](https://github.com/underpostnet/engine/compare/v2.8.843...v2.8.844)
|
|
80
|
-
|
|
81
|
-
> 29 August 2025
|
|
82
|
-
|
|
83
|
-
- cd(ssh-engine-core): 🚀 Changes to our Continuous Delivery configuration files and scripts (example scopes: Jenkins, Spinnaker, ArgoCD) [`fe2f1fd`](https://github.com/underpostnet/engine/commit/fe2f1fdf2dc3a10f62b69363c2fb3a15c53d641a)
|
|
84
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`e793cbe`](https://github.com/underpostnet/engine/commit/e793cbed1af8a8bbecd5bf971ae1bb74c32347ae)
|
|
85
|
-
- Remove plantuml logic [`f037ac7`](https://github.com/underpostnet/engine/commit/f037ac75fc37c5791fa1c7bbe7c0b506dd3b2e3d)
|
|
86
|
-
|
|
87
|
-
#### [v2.8.843](https://github.com/underpostnet/engine/compare/v2.8.837...v2.8.843)
|
|
88
|
-
|
|
89
|
-
> 24 August 2025
|
|
90
|
-
|
|
91
|
-
- Add oi to image logic cyberia cli [`e56d9e0`](https://github.com/underpostnet/engine/commit/e56d9e030de0c5071e9a86474dbf9ea6d53b71e6)
|
|
92
|
-
- Add src main monitor entry point [`1e95554`](https://github.com/underpostnet/engine/commit/1e95554a8a694ef00d1963cc42c1631713222082)
|
|
93
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`fd89c81`](https://github.com/underpostnet/engine/commit/fd89c81e2a68f21ab355b10a86f36e2ae01a2a3f)
|
|
94
|
-
|
|
95
|
-
#### [v2.8.837](https://github.com/underpostnet/engine/compare/v2.8.836...v2.8.837)
|
|
96
|
-
|
|
97
|
-
> 2 August 2025
|
|
98
|
-
|
|
99
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`b2447be`](https://github.com/underpostnet/engine/commit/b2447bec90756aa41caf40eac02a7fd5bf195165)
|
|
100
|
-
- Refactor run job runner [`102692d`](https://github.com/underpostnet/engine/commit/102692db1944a6f1538b833b9616ce75105c0786)
|
|
101
|
-
- Add tf-vae-test job run cli [`6c0514e`](https://github.com/underpostnet/engine/commit/6c0514e844bedc7bba0a2bdafcf30a1aa144f63c)
|
|
102
|
-
|
|
103
|
-
#### [v2.8.836](https://github.com/underpostnet/engine/compare/v2.8.832...v2.8.836)
|
|
104
|
-
|
|
105
|
-
> 2 August 2025
|
|
106
|
-
|
|
107
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`ee9bb27`](https://github.com/underpostnet/engine/commit/ee9bb272c14be41e74111fa3557e30c9ff68efa6)
|
|
108
|
-
- Refactor underpost runner cli [`5d8fee5`](https://github.com/underpostnet/engine/commit/5d8fee50756890cb3a3e3533dfe8e60f5d6ac09a)
|
|
109
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`a8ee2ad`](https://github.com/underpostnet/engine/commit/a8ee2ad94deb26eb3b22e0d2f0207d0046638581)
|
|
110
|
-
|
|
111
|
-
#### [v2.8.832](https://github.com/underpostnet/engine/compare/v2.8.821...v2.8.832)
|
|
112
|
-
|
|
113
|
-
> 1 August 2025
|
|
114
|
-
|
|
115
|
-
- Reset cluster refactor [`9ce891f`](https://github.com/underpostnet/engine/commit/9ce891f299be17bd28166e84a7676a7794385d37)
|
|
116
|
-
- Refactor reset [`a19d123`](https://github.com/underpostnet/engine/commit/a19d1231814bb8689450cf8ae914eb8ef4509379)
|
|
117
|
-
- Add gpu tf test script [`1d45b7f`](https://github.com/underpostnet/engine/commit/1d45b7febd05c66d14d4d2afd75692244db8a8c6)
|
|
118
|
-
|
|
119
|
-
#### [v2.8.821](https://github.com/underpostnet/engine/compare/v2.8.646...v2.8.821)
|
|
120
|
-
|
|
121
|
-
> 27 July 2025
|
|
122
|
-
|
|
123
|
-
- Add commissionMonitor refactor logic [`0160207`](https://github.com/underpostnet/engine/commit/016020783a5e87cef0e9252b1807c94b4e14b70c)
|
|
124
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`cd5aaeb`](https://github.com/underpostnet/engine/commit/cd5aaeb3f22f04d4fe03fb3f4687a9e8adf08834)
|
|
125
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`9369ecf`](https://github.com/underpostnet/engine/commit/9369ecf85933f52837402104215d453a3f7108fb)
|
|
126
|
-
|
|
127
|
-
#### [v2.8.646](https://github.com/underpostnet/engine/compare/v2.8.532...v2.8.646)
|
|
128
|
-
|
|
129
|
-
> 28 March 2025
|
|
130
|
-
|
|
131
|
-
- refactor(engine-core): 📦 start deploy refactor [`4c4ebdb`](https://github.com/underpostnet/engine/commit/4c4ebdb8ebd57b77420451cc8a1022c3d63444b1)
|
|
132
|
-
- refactor(engine-core): 📦 monitor and image build logic [`fd8f7ee`](https://github.com/underpostnet/engine/commit/fd8f7eeed054d3c591961e03c3a15029a7dfb380)
|
|
133
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`25e4097`](https://github.com/underpostnet/engine/commit/25e4097a9bde35ee7d0b5e5c2fb9546e80f50aee)
|
|
134
|
-
|
|
135
|
-
#### [v2.8.532](https://github.com/underpostnet/engine/compare/v2.8.521...v2.8.532)
|
|
136
|
-
|
|
137
|
-
> 6 March 2025
|
|
138
|
-
|
|
139
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`09b2e9a`](https://github.com/underpostnet/engine/commit/09b2e9a5e16092415f553566643d70e5ae81951f)
|
|
140
|
-
- refactor(cli): 📦 it script methods [`8a16e17`](https://github.com/underpostnet/engine/commit/8a16e17db6d3b70198a6d435624572d8807feb46)
|
|
141
|
-
- feat(mongo): ✨ advance support mongo 4.4 [`2bb5bf9`](https://github.com/underpostnet/engine/commit/2bb5bf9f32162207f01a6a57effb514ae36e9ebc)
|
|
142
|
-
|
|
143
|
-
#### [v2.8.521](https://github.com/underpostnet/engine/compare/v2.8.87...v2.8.521)
|
|
144
|
-
|
|
145
|
-
> 4 March 2025
|
|
146
|
-
|
|
147
|
-
#### [v2.8.87](https://github.com/underpostnet/engine/compare/v2.8.85...v2.8.87)
|
|
148
|
-
|
|
149
|
-
> 21 September 2025
|
|
150
|
-
|
|
151
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`f8f0c33`](https://github.com/underpostnet/engine/commit/f8f0c33b1ff607aaa16914176d4b6b6a7a176273)
|
|
152
|
-
- Clean dependencies and refactor getDefaultProfileImageId [`450a9ef`](https://github.com/underpostnet/engine/commit/450a9effc2f30a342bdc9a3d02ec148c02c182e8)
|
|
153
|
-
- ci(package-pwa-microservices-template): ⚙️ CI pipeline changes (GitHub Actions, runners, caching) [`4e7ad66`](https://github.com/underpostnet/engine/commit/4e7ad6610b4c6b7c62aab5ec1ed5f46c7193fe10)
|
|
154
|
-
|
|
155
|
-
#### [v2.8.85](https://github.com/underpostnet/engine/compare/v2.8.82...v2.8.85)
|
|
156
|
-
|
|
157
|
-
> 2 September 2025
|
|
158
|
-
|
|
159
|
-
- cd(ssh-engine-core): 🚀 CD / deployment changes (Remote ssh deployment scripts) [`7560d10`](https://github.com/underpostnet/engine/commit/7560d10cf41d8478539852f32308722c5d9a5ad6)
|
|
160
|
-
- Update nexodev lading page [`8cbe924`](https://github.com/underpostnet/engine/commit/8cbe924784ebd44640a9c95588188fb59796cc8d)
|
|
161
|
-
- Clean nexodev landing styles colors [`3e58d70`](https://github.com/underpostnet/engine/commit/3e58d701d380ebc339524a3796d5613847ef3fb4)
|
|
162
|
-
|
|
163
|
-
#### [v2.8.82](https://github.com/underpostnet/engine/compare/v2.8.56...v2.8.82)
|
|
164
|
-
|
|
165
|
-
> 26 July 2025
|
|
166
|
-
|
|
167
|
-
- Add commissionMonitor refactor logic [`0160207`](https://github.com/underpostnet/engine/commit/016020783a5e87cef0e9252b1807c94b4e14b70c)
|
|
168
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`cd5aaeb`](https://github.com/underpostnet/engine/commit/cd5aaeb3f22f04d4fe03fb3f4687a9e8adf08834)
|
|
169
|
-
- Refactor cluster and lxd vm setup [`1e5af95`](https://github.com/underpostnet/engine/commit/1e5af95bbd65bb3ac7612496f919894da07e9bd8)
|
|
170
|
-
|
|
171
|
-
#### [v2.8.56](https://github.com/underpostnet/engine/compare/v2.8.51...v2.8.56)
|
|
172
|
-
|
|
173
|
-
> 11 March 2025
|
|
174
|
-
|
|
175
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`2d03419`](https://github.com/underpostnet/engine/commit/2d034191f73adad4091e25a2d01e3fb3df5e697a)
|
|
176
|
-
- revert(remove cyberia assets): 🗑 Reverts a previous commit [`b7dc5bd`](https://github.com/underpostnet/engine/commit/b7dc5bd5f02d601cac04ffd699c704667cb9c22b)
|
|
177
|
-
- feat(cyberia-cli): ✨ media generator adbvance [`61bbdb3`](https://github.com/underpostnet/engine/commit/61bbdb32b2a99cf54af9f69640e7aa15066f0f7d)
|
|
178
|
-
|
|
179
|
-
#### [v2.8.51](https://github.com/underpostnet/engine/compare/v2.8.46...v2.8.51)
|
|
180
|
-
|
|
181
|
-
> 4 March 2025
|
|
182
|
-
|
|
183
|
-
- ci: ⚙️ add dd-core-development yamls [`a236466`](https://github.com/underpostnet/engine/commit/a2364666f5ddc0e824fa8b68b203bb9e021cca0c)
|
|
184
|
-
- refactor(cli): 📦 cron jobs management refactor [`8c28689`](https://github.com/underpostnet/engine/commit/8c28689cd514ee0e30a38be22ca3dbd292aa3a8a)
|
|
185
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`dd3557b`](https://github.com/underpostnet/engine/commit/dd3557bc52724d9231a0a13a320108758b6a84d2)
|
|
186
|
-
|
|
187
|
-
#### [v2.8.46](https://github.com/underpostnet/engine/compare/v2.8.44...v2.8.46)
|
|
188
|
-
|
|
189
|
-
> 28 February 2025
|
|
190
|
-
|
|
191
|
-
- refactor(add cli module directory): 📦 A code change that neither fixes a bug nor adds a feature [`56eea01`](https://github.com/underpostnet/engine/commit/56eea0121489998945c1b2040c3fc53cf6ee295c)
|
|
192
|
-
- refactor(bin): 📦 static API method access [`dcac59e`](https://github.com/underpostnet/engine/commit/dcac59e0cc3fb3e7eeef490d7ded3adb921f4e7a)
|
|
193
|
-
- ci(package-pwa-microservices-template): ⚙️ update version 2.8.45 [`11795eb`](https://github.com/underpostnet/engine/commit/11795eb2b57243530bfd027774005a83edbdee3b)
|
|
194
|
-
|
|
195
|
-
#### [v2.8.44](https://github.com/underpostnet/engine/compare/v2.8.42...v2.8.44)
|
|
196
|
-
|
|
197
|
-
> 18 February 2025
|
|
198
|
-
|
|
199
|
-
- ci(package-pwa-microservices-template): ⚙️ update version 2.8.44 [`1d1731d`](https://github.com/underpostnet/engine/commit/1d1731d8c81389f9ba6a308af9a66e455baa8fad)
|
|
200
|
-
- ci(package-pwa-microservices-template): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`1c2cc3e`](https://github.com/underpostnet/engine/commit/1c2cc3ed8c96c1d7d219f112692397de14aea172)
|
|
201
|
-
- ci(package-pwa-microservices-template): ⚙️ add underpost cli root env management [`1923fb6`](https://github.com/underpostnet/engine/commit/1923fb6b32c1d2df1564fb94d3475b4ef0400f99)
|
|
202
|
-
|
|
203
|
-
#### [v2.8.42](https://github.com/underpostnet/engine/compare/v2.8.31...v2.8.42)
|
|
204
|
-
|
|
205
|
-
> 18 February 2025
|
|
206
|
-
|
|
207
|
-
- ci(engine-lampp-repo-build): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`cd076c0`](https://github.com/underpostnet/engine/commit/cd076c095fde19caf744e5e04e419973670fbc6c)
|
|
208
|
-
- ci(engine-cyberia-repo-build): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`69d55e2`](https://github.com/underpostnet/engine/commit/69d55e2d9f8f93252561c17747472f12c6369e1c)
|
|
209
|
-
- ci(engine-core-repo-build): ⚙️ Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) [`b031b0f`](https://github.com/underpostnet/engine/commit/b031b0f65884d9d908143e2d609ea8b0f30828a0)
|
|
210
|
-
|
|
211
|
-
#### [v2.8.31](https://github.com/underpostnet/engine/compare/v2.8.1...v2.8.31)
|
|
212
|
-
|
|
213
|
-
> 5 February 2025
|
|
214
|
-
|
|
215
|
-
- build(clipboardy): 🛠 add cli copy paste [`18acbde`](https://github.com/underpostnet/engine/commit/18acbded151da88499a3a0f1c1bfdbdef2abfc6b)
|
|
216
|
-
- HealthcareAppointmentService advance [`228257c`](https://github.com/underpostnet/engine/commit/228257c0aa2d875014e72f2550bb44aa6b009bed)
|
|
217
|
-
- healthcare appoiment service advance [`207a299`](https://github.com/underpostnet/engine/commit/207a299ffc815870a574524907d5b6b3d9924f1a)
|
|
218
|
-
|
|
219
|
-
#### [v2.8.1](https://github.com/underpostnet/engine/compare/v2.8.0...v2.8.1)
|
|
220
|
-
|
|
221
|
-
> 20 January 2025
|
|
222
|
-
|
|
223
|
-
- [ci][docker-image][engine] v2.8.1 [`1c44f4c`](https://github.com/underpostnet/engine/commit/1c44f4cb53d1e197866e6ef768287f618fbe79b4)
|
|
224
|
-
- version refactor [`1aeaca2`](https://github.com/underpostnet/engine/commit/1aeaca200c8003915d3ef422f2bb2818e7438b8d)
|
|
225
|
-
- add bymyelectrics client components [`f2d3e8c`](https://github.com/underpostnet/engine/commit/f2d3e8c888b2b8573b25965b549fcb8e6b2e86e7)
|
|
226
|
-
|
|
227
|
-
#### [v2.8.0](https://github.com/underpostnet/engine/compare/v2.7.94...v2.8.0)
|
|
228
|
-
|
|
229
|
-
> 31 December 2024
|
|
230
|
-
|
|
231
|
-
- add vectorized lore cyberia [`166e021`](https://github.com/underpostnet/engine/commit/166e0210470e6a0fbaf755320c56105932138e28)
|
|
232
|
-
- cyberia biome engine advance [`e8bbce7`](https://github.com/underpostnet/engine/commit/e8bbce7cf2154c6de67840132cebc50349b1ab67)
|
|
233
|
-
- update src v2.8.0 [`3fa3aa1`](https://github.com/underpostnet/engine/commit/3fa3aa12db3609bd14ac526626707a152d69bd32)
|
|
234
|
-
|
|
235
|
-
#### [v2.7.94](https://github.com/underpostnet/engine/compare/v2.7.93...v2.7.94)
|
|
236
|
-
|
|
237
|
-
> 17 December 2024
|
|
238
|
-
|
|
239
|
-
- cyberia server character server transport refactor [`d302a5a`](https://github.com/underpostnet/engine/commit/d302a5ab02d789226d9ef84bf00c19358f83b5cb)
|
|
240
|
-
- healthcare nutrition-tips advance [`f97ca58`](https://github.com/underpostnet/engine/commit/f97ca58344d9d9da656155deaaac54c621e927f8)
|
|
241
|
-
- scroll top refresh refactor [`b9fc99f`](https://github.com/underpostnet/engine/commit/b9fc99f413b8a177242c9e6538eb70c73f97747e)
|
|
242
|
-
|
|
243
|
-
#### [v2.7.93](https://github.com/underpostnet/engine/compare/v2.7.92...v2.7.93)
|
|
244
|
-
|
|
245
|
-
> 12 December 2024
|
|
246
|
-
|
|
247
|
-
- [ci][docker-image][engine] [`0d209f7`](https://github.com/underpostnet/engine/commit/0d209f7336b33d56db290e6816152a29194f224f)
|
|
248
|
-
- add pul refresh reload [`93c2929`](https://github.com/underpostnet/engine/commit/93c29298e322181ef320644a97731b90efed1811)
|
|
249
|
-
- update get lang function [`895df49`](https://github.com/underpostnet/engine/commit/895df49c150c09f3f2c0d96921f3529a097f5f83)
|
|
250
|
-
|
|
251
|
-
#### [v2.7.92](https://github.com/underpostnet/engine/compare/v2.7.91...v2.7.92)
|
|
252
|
-
|
|
253
|
-
> 12 December 2024
|
|
254
|
-
|
|
255
|
-
- ssr refactor advance [`9c1be61`](https://github.com/underpostnet/engine/commit/9c1be61a48c7fe343c38008fc81854713c239388)
|
|
256
|
-
- [ci][docker-image][engine] v2.7.92 [`719efb7`](https://github.com/underpostnet/engine/commit/719efb7486c2651450ad698f9d5770042ed4c060)
|
|
257
|
-
- cyberia biome instance refactor [`44e56ed`](https://github.com/underpostnet/engine/commit/44e56ed7cebccacbf7439ffb6857f12afa52edeb)
|
|
258
|
-
|
|
259
|
-
#### [v2.7.91](https://github.com/underpostnet/engine/compare/v2.7.83...v2.7.91)
|
|
260
|
-
|
|
261
|
-
> 7 December 2024
|
|
262
|
-
|
|
263
|
-
- [ci][docker-image][engine] v2.7.91 [`9616635`](https://github.com/underpostnet/engine/commit/9616635c12d4eba7e7597a81f6ff6760fc9fb937)
|
|
264
|
-
- add gemini creator quest [`5f1bbec`](https://github.com/underpostnet/engine/commit/5f1bbeca4698879043c7d4abb1341c8ac08b859c)
|
|
265
|
-
- update to version 2.7.9 [`41b96b6`](https://github.com/underpostnet/engine/commit/41b96b63e48759a3bb8ab54c0573536db8ef4143)
|
|
266
|
-
|
|
267
|
-
#### [v2.7.83](https://github.com/underpostnet/engine/compare/v2.7.9...v2.7.83)
|
|
268
|
-
|
|
269
|
-
> 28 October 2024
|
|
270
|
-
|
|
271
|
-
#### [v2.7.9](https://github.com/underpostnet/engine/compare/v2.7.7...v2.7.9)
|
|
272
|
-
|
|
273
|
-
> 14 November 2024
|
|
274
|
-
|
|
275
|
-
- update version 2.7.83 [`3d22671`](https://github.com/underpostnet/engine/commit/3d22671a23f25767cc01c244090e237ab3a300da)
|
|
276
|
-
- remove unnecesary packages [`4c0e029`](https://github.com/underpostnet/engine/commit/4c0e029509331fb718554d595d7de9e042eb2b54)
|
|
277
|
-
- add item-skin-08 tile engine logic [`b72c64f`](https://github.com/underpostnet/engine/commit/b72c64f218d013653c1c800473f768dc38fe5607)
|
|
278
|
-
|
|
279
|
-
#### [v2.7.7](https://github.com/underpostnet/engine/compare/v2.7.6...v2.7.7)
|
|
280
|
-
|
|
281
|
-
> 25 October 2024
|
|
282
|
-
|
|
283
|
-
- update version 2.7.7 [`df31617`](https://github.com/underpostnet/engine/commit/df316174ca563251fbaca62a6717771f3056e59b)
|
|
284
|
-
- cyberia ssr lore advance [`ad1f214`](https://github.com/underpostnet/engine/commit/ad1f2144bdd2f3b5b1f2ebc4b9f6b83716df800a)
|
|
285
|
-
- advance ssr lore cyberia [`03b2292`](https://github.com/underpostnet/engine/commit/03b2292f6e092fc9b98cfb6aba9eee6eb0f21a06)
|
|
286
|
-
|
|
287
|
-
#### [v2.7.6](https://github.com/underpostnet/engine/compare/v2.7.5...v2.7.6)
|
|
288
|
-
|
|
289
|
-
> 17 October 2024
|
|
290
|
-
|
|
291
|
-
- update version v2.7.6 [`ddbc2c4`](https://github.com/underpostnet/engine/commit/ddbc2c4bd366e75b580be288c28c68830ed390d5)
|
|
292
|
-
- update node version 22.9.0 and hardhat refactor [`8ba9281`](https://github.com/underpostnet/engine/commit/8ba92818cd67438359dd1aa0938fd33bb932e718)
|
|
293
|
-
- remove pinata [`e231b00`](https://github.com/underpostnet/engine/commit/e231b00919d9d0e31c9718d4dc512384779cf2bb)
|
|
294
|
-
|
|
295
|
-
#### [v2.7.5](https://github.com/underpostnet/engine/compare/v2.7.2...v2.7.5)
|
|
296
|
-
|
|
297
|
-
> 10 October 2024
|
|
298
|
-
|
|
299
|
-
- remove os switchs [`78f7c17`](https://github.com/underpostnet/engine/commit/78f7c17bdaa1789101bf3038544d105b51f25309)
|
|
300
|
-
- update version 2.7.5 [`ca059d9`](https://github.com/underpostnet/engine/commit/ca059d99f95121cbd51f4582c60458734e21b70d)
|
|
301
|
-
- add mondo db server daemon [`b3bab7e`](https://github.com/underpostnet/engine/commit/b3bab7e8ba4204da459660d5fdba25c076c6cd33)
|
|
302
|
-
|
|
303
|
-
#### [v2.7.2](https://github.com/underpostnet/engine/compare/v2.7.1...v2.7.2)
|
|
304
|
-
|
|
305
|
-
> 8 October 2024
|
|
306
|
-
|
|
307
|
-
- underpost panel advance [`60087d5`](https://github.com/underpostnet/engine/commit/60087d55920ae9ddf7d7a3396606088d028cc996)
|
|
308
|
-
- file explorer content ui ux refactor [`38e87a0`](https://github.com/underpostnet/engine/commit/38e87a0f0bd222e1d8c9d76904d086aa9d2125ea)
|
|
309
|
-
- add macro db restore logic [`9cfd41c`](https://github.com/underpostnet/engine/commit/9cfd41c5d7adcd309976e7d327af800ffcf92dac)
|
|
310
|
-
|
|
311
|
-
#### [v2.7.1](https://github.com/underpostnet/engine/compare/v2.6.3...v2.7.1)
|
|
312
|
-
|
|
313
|
-
> 19 September 2024
|
|
314
|
-
|
|
315
|
-
- update version 2.7.0 [`03c5c35`](https://github.com/underpostnet/engine/commit/03c5c35a71e7ffb35203a668bfa2f8e2f86125e0)
|
|
316
|
-
- update [`d410da6`](https://github.com/underpostnet/engine/commit/d410da62fadbbb841eb9dcfa5922f105d35ad81d)
|
|
317
|
-
- add changelog generator [`28b3256`](https://github.com/underpostnet/engine/commit/28b3256ab9cebaa9caf2b52426e48f0b3105c8b7)
|
|
318
|
-
|
|
319
|
-
#### [v2.6.3](https://github.com/underpostnet/engine/compare/v2.6.2...v2.6.3)
|
|
320
|
-
|
|
321
|
-
> 14 September 2024
|
|
322
|
-
|
|
323
|
-
- update version 2.6.3 [`85c585d`](https://github.com/underpostnet/engine/commit/85c585d1cce30de4389772605cf56e774e2b7d3c)
|
|
324
|
-
- update refactor docs and coverage [`b455016`](https://github.com/underpostnet/engine/commit/b455016f5f2b2bdc142aacb4dfd66ab890125662)
|
|
325
|
-
- update [`b8f01f2`](https://github.com/underpostnet/engine/commit/b8f01f258999c9ebc1173b0616f0f7b8f7171048)
|
|
326
|
-
|
|
327
|
-
#### [v2.6.2](https://github.com/underpostnet/engine/compare/v2.5.1...v2.6.2)
|
|
328
|
-
|
|
329
|
-
> 13 September 2024
|
|
330
|
-
|
|
331
|
-
- update version 2.6.2 [`0895afb`](https://github.com/underpostnet/engine/commit/0895afbde42dd5a573507ccfcb07c328648b4eb0)
|
|
332
|
-
- update version 2.5.6 [`ca57b87`](https://github.com/underpostnet/engine/commit/ca57b87c56a544e7b7e53baa5a6e15415e16b99b)
|
|
333
|
-
- update [`eec4943`](https://github.com/underpostnet/engine/commit/eec49433f50b4dfa7b7bbff48891a60f5be25545)
|
|
334
|
-
|
|
335
|
-
#### [v2.5.1](https://github.com/underpostnet/engine/compare/v2.0.0...v2.5.1)
|
|
336
|
-
|
|
337
|
-
> 27 August 2024
|
|
338
|
-
|
|
339
|
-
- css refactor [`49b1904`](https://github.com/underpostnet/engine/commit/49b1904e83162f9066fbf843ced37d4e87db5581)
|
|
340
|
-
- refactor [`dad4f95`](https://github.com/underpostnet/engine/commit/dad4f9567629b737254702ce8be6b243e68fb01e)
|
|
341
|
-
- add sitemap builder [`53d05a6`](https://github.com/underpostnet/engine/commit/53d05a62d03ea327df3d37181a4b5c272d417289)
|
|
342
|
-
|
|
343
|
-
#### v2.0.0
|
|
344
|
-
|
|
345
|
-
> 30 March 2024
|
|
346
|
-
|
|
347
|
-
- seed-city assets [`6d9decb`](https://github.com/underpostnet/engine/commit/6d9decbae96b828aa001777f96dd75aab3fc71d1)
|
|
348
|
-
- update [`1069fc5`](https://github.com/underpostnet/engine/commit/1069fc5268aa5ef7c101695393de59edfc14daf8)
|
|
349
|
-
- update [`41ae7d4`](https://github.com/underpostnet/engine/commit/41ae7d4c969cce0608171c820e05ebab42610a7f)
|