Skip to content

Commit 9cd2248

Browse files
lvhuichaoQIQI03
authored andcommitted
1. Add oracle data source
2. Refactor with errorPropagate utils 3. Fix token based connection serialization issue 4. Unify maven groupId for plugins 5. Refactor rest api plugin 6. Update banner 7. Rename mssqlDatasourceForm.tsx 8. Add server setup 9. Add cors support for view app related urls
1 parent e74df63 commit 9cd2248

File tree

78 files changed

+1934
-961
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1934
-961
lines changed

deploy/docker/Dockerfile

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ LABEL maintainer="openblocks"
2626
# Update APT packages - Base Layer python-setuptools
2727
RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
2828
apt-get install --no-install-recommends -y \
29-
supervisor curl nginx wget netcat software-properties-common gettext python3-pip git gnupg vim iputils-ping \
29+
supervisor curl nginx wget netcat software-properties-common gettext python3-pip git gnupg vim iputils-ping gosu\
3030
&& add-apt-repository ppa:redislabs/redis \
3131
&& apt-get remove -y git python3-pip \
3232
&& apt-get clean \
@@ -67,16 +67,16 @@ ARG PLUGIN_JARS=/openblocks-server/openblocks-plugins/*/target/*.jar
6767

6868
RUN mkdir -p /openblocks /openblocks/plugins /var/www/openblocks /env2
6969

70-
COPY --from=build-server ${JAR_FILE} /openblocks/server.jar
71-
COPY --from=build-server ${PLUGIN_JARS} /openblocks/plugins/
70+
COPY --from=build-server ${JAR_FILE} /openblocks/server/server.jar
71+
COPY --from=build-server ${PLUGIN_JARS} /openblocks/server/plugins/
7272

7373

7474
# copy tace-fe build
75-
COPY --from=build-client /openblocks-client/packages/openblocks/build/ /var/www/openblocks/
75+
COPY --from=build-client /openblocks-client/packages/openblocks/build/ /openblocks/client/
7676

7777
# copy nginx conf
78-
COPY ./deploy/docker/templates/nginx/* /openblocks-nginx/
79-
COPY ./deploy/docker/scripts/start-nginx.sh /openblocks-nginx/start-nginx.sh
78+
COPY ./deploy/docker/templates/nginx/* /openblocks/nginx/
79+
COPY ./deploy/docker/scripts/start-nginx.sh /openblocks/nginx/start-nginx.sh
8080

8181
# copy redis conf
8282
COPY ./deploy/docker/templates/redis.conf /etc/redis/redis.conf
@@ -86,16 +86,15 @@ COPY ./deploy/docker/templates/supervisord.conf /etc/supervisor/supervisord.conf
8686
COPY ./deploy/docker/templates/supervisord/* /etc/supervisor/conf.d/
8787

8888
# copy application.yml
89-
COPY ./server/openblocks-server/src/main/resources/selfhost/ce/application.yml /env/
90-
COPY ./server/openblocks-server/src/main/resources/selfhost/ce/application-selfhost.yml /env2/
89+
COPY ./server/openblocks-server/src/main/resources/selfhost/ce/application.yml /openblocks/env/
90+
COPY ./server/openblocks-server/src/main/resources/selfhost/ce/application-selfhost.yml /openblocks/env2/
9191

9292
# Add bootstrapfile
93-
# COPY ./entrypoint.sh /
94-
COPY ./deploy/docker/entrypoint.sh /
95-
RUN chmod +x /entrypoint.sh
93+
COPY ./deploy/docker/entrypoint.sh /openblocks/
94+
RUN chmod +x /openblocks/entrypoint.sh
9695

9796
EXPOSE 3000
9897

99-
ENTRYPOINT [ "sh" , "/entrypoint.sh" ]
98+
ENTRYPOINT [ "sh" , "/openblocks/entrypoint.sh" ]
10099
CMD ["/usr/bin/supervisord", "-n" , "-c" , "/etc/supervisor/supervisord.conf"]
101100

deploy/docker/entrypoint.sh

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,42 @@
33
set -e
44

55
init_mongodb() {
6-
echo "Init mongoDB"
7-
MONGO_DB_PATH="/openblocks-stacks/data/mongodb"
8-
mkdir -p "$MONGO_DB_PATH"
6+
echo "Init mongoDB"
7+
MONGO_DB_PATH="/openblocks-stacks/data/mongodb"
8+
mkdir -p "$MONGO_DB_PATH"
99
}
1010

1111
init_configuration() {
12-
echo "Init configuration"
13-
CONFIG_PATH="/openblocks-stacks/configuration"
14-
YML_PATH="$CONFIG_PATH/application-selfhost.yml"
15-
if ! [ -e "$YML_PATH" ]; then
16-
echo "yml configuration not exist"
17-
mkdir -p "$CONFIG_PATH"
18-
cp /env2/application-selfhost.yml $CONFIG_PATH/
19-
fi
12+
echo "Init configuration"
13+
CONFIG_PATH="/openblocks-stacks/configuration"
14+
YML_PATH="$CONFIG_PATH/application-selfhost.yml"
15+
if ! [ -e "$YML_PATH" ]; then
16+
echo "yml configuration not exist"
17+
mkdir -p "$CONFIG_PATH"
18+
cp /openblocks/env2/application-selfhost.yml $CONFIG_PATH/
19+
fi
2020
}
2121

22-
init_mongodb
22+
add_user() {
23+
USER_ID=${LOCAL_USER_ID:-9001}
24+
GROUP_ID=$USER_ID
25+
USER_NAME="openblocks_$USER_ID"
26+
GROUP_NAME=$USER_NAME
27+
echo "Starting with UID : $USER_ID"
28+
groupadd -g $GROUP_ID $GROUP_NAME || true
29+
useradd -u $USER_ID -g $GROUP_ID $USER_NAME || true
30+
chown -R $USER_ID:$GROUP_ID /openblocks /openblocks-stacks /etc/nginx /var /etc/redis /run /etc/supervisor
31+
}
2332

33+
init_mongodb
2434
init_configuration
25-
2635
# Create sub-directory to store services log in the container mounting folder
2736
mkdir -p /openblocks-stacks/logs/backend
2837
mkdir -p /openblocks-stacks/logs/frontend
29-
mkdir -p /openblocks-stacks/logs/mongodb
3038
mkdir -p /openblocks-stacks/logs/redis
3139
mkdir -p /openblocks-stacks/data/redis
3240

41+
add_user
42+
3343
# Handle CMD command
34-
exec "$@"
44+
exec gosu $USER_NAME "$@"

deploy/docker/scripts/start-nginx.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
set -o errexit
66
set -o xtrace
77

8-
cp /openblocks-nginx/nginx-root.conf.template /etc/nginx/nginx.conf
8+
cp /openblocks/nginx/nginx-root.conf.template /etc/nginx/nginx.conf
99

1010
if [ -e "/openblocks-stacks/ssl/fullchain.pem" ] && [ -e "/openblocks-stacks/ssl/privkey.pem" ];
1111
then
12-
envsubst '$OPENBLOCKS_SERVER_PROXY_PASS' < /openblocks-nginx/nginx-app-https.conf.template > /etc/nginx/conf.d/default.conf
12+
envsubst '$OPENBLOCKS_SERVER_PROXY_PASS' < /openblocks/nginx/nginx-app-https.conf.template > /etc/nginx/conf.d/default.conf
1313
else
14-
envsubst '$OPENBLOCKS_SERVER_PROXY_PASS' < /openblocks-nginx/nginx-app-http.conf.template > /etc/nginx/conf.d/default.conf
14+
envsubst '$OPENBLOCKS_SERVER_PROXY_PASS' < /openblocks/nginx/nginx-app-http.conf.template > /etc/nginx/conf.d/default.conf
1515
fi
1616

1717
exec nginx -g 'daemon off;'

deploy/docker/templates/nginx/nginx-app-http.conf.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
server {
22
listen 3000 default_server;
3-
root /var/www/openblocks;
3+
root /openblocks/client;
44
location / {
55
try_files $uri /index.html;
66

deploy/docker/templates/nginx/nginx-app-https.conf.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ server {
33
ssl_certificate /openblocks-stacks/ssl/fullchain.pem;
44
ssl_certificate_key /openblocks-stacks/ssl/privkey.pem;
55

6-
root /var/www/openblocks;
6+
root /openblocks/client;
77
location / {
88
try_files $uri /index.html;
99

deploy/docker/templates/supervisord/backend.conf

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
[program:backend]
2-
directory=/openblocks
2+
directory=/openblocks/server
33
# Ref -Dlog4j2.formatMsgNoLookups=true https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
4-
command=/app/bin/java -Djava.security.egd="file:/dev/./urandom" -Dlog4j2.formatMsgNoLookups=true -Dspring.config.location="file:///env/application.yml,file:///openblocks-stacks/configuration/application-selfhost.yml" -jar /openblocks/server.jar
5-
4+
command=/app/bin/java -Djava.security.egd="file:/dev/./urandom" -Dlog4j2.formatMsgNoLookups=true -Dspring.config.location="file:///openblocks/env/application.yml,file:///openblocks-stacks/configuration/application-selfhost.yml" -jar server.jar
65
priority=15
76
autostart=true
87
autorestart=true

deploy/docker/templates/supervisord/frontend.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[program:frontend]
2-
command=/openblocks-nginx/start-nginx.sh
2+
command=/openblocks/nginx/start-nginx.sh
33
priority=25
44
autostart=true
55
autorestart=true

server/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ package-lock.json
3434
# test coverage
3535
coverage-summary.json
3636
app/client/cypress/locators/Widgets.json
37+
/openblocks-domain/logs/

server/README.md

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,80 @@
1-
# Ground control to major Tom!
1+
# Server Setup
22

3-
#### Module dependency
3+
This document explains how to start Openblocks server locally.
44

5-
- openblocks-sdk
6-
- openblocks-plugins
7-
- openblocks-infra
8-
- openblocks-domain
9-
- openblocks-server(API+Runner)
5+
## System Prerequisites
6+
7+
Java - OpenJDK 17 Maven - Version 3+ (preferably 3.8+)
8+
9+
### MongoDB
10+
11+
If you don't have an available MongoDB, you can start a local MongoDB service with docker:
12+
13+
```shell
14+
docker run -d --name openblocks-mongodb -p 27017:27017 -e MONGO_INITDB_DATABASE=openblocks mongo
15+
```
16+
17+
Configure the MongoDB connection URI in the application-openblocks.yml
18+
<img src="https://cdn-files.openblocks.dev/server-setup/image1.png"/>
19+
20+
### Redis
21+
22+
If you don't have an available MongoDB, you can start a local Redis service with docker:
23+
24+
```shell
25+
docker run -d --name openblocks-redis -p 6379:6379 redis
26+
```
27+
28+
Configure the Redis connection URI in the application-openblocks.yml
29+
<img src="https://cdn-files.openblocks.dev/server-setup/image2.png"/>
30+
31+
## Build and start the Openblocks server jar
32+
33+
1. Clone Openblocks repository
34+
2. Next, execute the following commands in sequence
35+
36+
```shell
37+
cd server
38+
mvn clean package
39+
java -Dpf4j.mode=development -Dspring.profiles.active=openblocks -Dpf4j.pluginsDir=openblocks-plugins -jar openblocks-server/target/openblocks-server-1.0-SNAPSHOT.jar
40+
```
41+
42+
<img src="https://cdn-files.openblocks.dev/server-setup/start.gif"/>
43+
Now, you can check the status of the service by visiting http://localhost:8080 through your browser. By default, you should see an HTTP 404 error.
44+
45+
<img src="https://cdn-files.openblocks.dev/server-setup/image3.png"/>
46+
47+
## Start with IntelliJ IDEA
48+
49+
Configure the Run/Debug configuration as shown in the screenshot below, the version used in the screenshot is IntelliJ
50+
IDEA 2021.3.2 (Community Edition):
51+
<img src="https://cdn-files.openblocks.dev/server-setup/image4.png"/>
52+
<img src="https://cdn-files.openblocks.dev/server-setup/image5.png"/>
53+
54+
<table>
55+
<tr>
56+
<td style="width: 115px">JDK version</td>
57+
<td>Java 17 </td>
58+
</tr>
59+
<tr>
60+
<td>-cp </td>
61+
<td>openblocks-server </td>
62+
</tr>
63+
<tr>
64+
<td>VM options </td>
65+
<td>-Dpf4j.mode=development -Dpf4j.pluginsDir=openblocks-plugins -Dspring.profiles.active=openblocks -XX:+AllowRedefinitionToAddDeleteMethods </td>
66+
</tr>
67+
<tr>
68+
<td>Main class </td>
69+
<td>com.openblocks.api.ServerApplication </td>
70+
</tr>
71+
</table>
72+
73+
Next, execute the following commands in sequence
74+
75+
```shell
76+
cd server
77+
mvn clean package
78+
```
79+
80+
After Maven package runs successfully, you can start the Openblocks server with IntelliJ IDEA.

0 commit comments

Comments
 (0)