From 5506965d942fb91358f6aa698ec85a2d906eee58 Mon Sep 17 00:00:00 2001 From: maslow Date: Mon, 16 Jan 2023 11:50:38 +0800 Subject: [PATCH] fix(server): fix storage endpoint & ingress error (#638) --- .../charts/laf/templates/minio-ingress.yaml | 4 +- deploy/scripts/install-on-linux.sh | 2 +- server/.env | 170 +++++++++++++++--- server/.env.template | 30 ++++ server/.gitignore | 1 + server/src/storage/minio/minio.service.ts | 4 +- 6 files changed, 178 insertions(+), 33 deletions(-) create mode 100644 server/.env.template diff --git a/deploy/build/charts/laf/templates/minio-ingress.yaml b/deploy/build/charts/laf/templates/minio-ingress.yaml index 8849f3b548..fab81baa06 100644 --- a/deploy/build/charts/laf/templates/minio-ingress.yaml +++ b/deploy/build/charts/laf/templates/minio-ingress.yaml @@ -39,7 +39,7 @@ spec: pathType: Prefix backend: service: - name: {{ .Release.Name }}-minio + name: minio port: number: 9000 @@ -60,7 +60,7 @@ spec: paths: - backend: service: - name: {{ .Release.Name }}-minio-console + name: minio-console port: number: 9001 path: / diff --git a/deploy/scripts/install-on-linux.sh b/deploy/scripts/install-on-linux.sh index aa434aca3b..46644de7bb 100644 --- a/deploy/scripts/install-on-linux.sh +++ b/deploy/scripts/install-on-linux.sh @@ -20,7 +20,7 @@ if [ -x "$(command -v apt)" ]; then apt install sealos -y # fix /etc/hosts overwrite bug in ubuntu while restarting - sed -i \"/update_etc_hosts/c \\ - ['update_etc_hosts', 'once-per-instance']\" /etc/cloud/cloud.cfg && touch /var/lib/cloud/instance/sem/config_update_etc_hosts + sed -i "/update_etc_hosts/c \\ - ['update_etc_hosts', 'once-per-instance']" /etc/cloud/cloud.cfg && touch /var/lib/cloud/instance/sem/config_update_etc_hosts fi # if yum installed, use `yum` to install diff --git a/server/.env b/server/.env index 5b750116cf..b6e59dbac9 100644 --- a/server/.env +++ b/server/.env @@ -1,30 +1,144 @@ - -# database -DATABASE_URL=mongodb://admin:passw0rd@127.0.0.1:27017/sys_db?authSource=admin&replicaSet=rs0&w=majority&directConnection=true - -# jwt settings -JWT_SECRET=laf_server_abc123 -JWT_EXPIRES_IN=7d - -# server hosts -SERVER=http://localhost:3000 - -# minio settings -INIO_CLIENT_PATH=mc -MINIO_EXTERNAL_ENDPOINT=http://localhost:9000 -MINIO_INTERNAL_ENDPOINT=http://localhost:9000 -MINIO_ROOT_ACCESS_KEY=minio-root -MINIO_ROOT_SECRET_KEY=passw0rd - -# gateway -DOMAIN=localhost -APISIX_API_URL=http://localhost:9080 -APISIX_API_KEY=abc123 - -# casdoor settings -CASDOOR_ENDPOINT=http://localhost:30070 +POSTGRESQL_SERVICE_HOST=10.96.1.105 +KUBERNETES_SERVICE_PORT_HTTPS=443 +MINIO_CONSOLE_PORT_9001_TCP_ADDR=10.96.0.61 +CASDOOR_ENDPOINT=http://casdoor.192.168.64.204.nip.io +CASDOOR_PORT_8000_TCP_PROTO=tcp +LAF_WEB_PORT=tcp://10.96.2.34:80 +APISIX_ADMIN_SERVICE_HOST=10.96.2.144 +APISIX_DASHBOARD_SERVICE_HOST=10.96.3.97 +KUBERNETES_SERVICE_PORT=443 +LAF_SERVER_PORT_3000_TCP=tcp://10.96.0.179:3000 +APISIX_ADMIN_PORT=tcp://10.96.2.144:9180 +APISIX_API_URL=http://apisix-admin.laf-system.svc.cluster.local:9180/apisix/admin CASDOOR_ORG_NAME=laf +LAF_WEB_PORT_80_TCP=tcp://10.96.2.34:80 +MONGO_DEV_PORT_27017_TCP=tcp://10.96.1.205:27017 +DATABASE_URL=mongodb://admin:sdnhjj9j05bf04e5xuugt2x92sdtreom2upwhz3asi28f2jltjgo9hxcgiy224ox@127.0.0.1:27017/sys_db?authSource=admin&replicaSet=rs0&w=majority&directConnection=true +APISIX_INGRESS_CONTROLLER_PORT_80_TCP_ADDR=10.96.3.71 +APISIX_ETCD_SERVICE_PORT_HTTP=2379 +MINIO_INTERNAL_ENDPOINT=laf-minio.laf-system.svc.cluster.local:9000 +HOSTNAME=server-laf-server-6455b99bb8-fg8dk +APISIX_GATEWAY_PORT_80_TCP_ADDR=10.96.0.215 +APISIX_INGRESS_CONTROLLER_PORT_80_TCP_PORT=80 +CASDOOR_LOCAL_CDN_SERVICE_PORT_HTTP=80 +CASDOOR_LOCAL_CDN_SERVICE_PORT=80 +MONGO_DEV_SERVICE_PORT_TCP=27017 +APISIX_DASHBOARD_SERVICE_PORT_HTTP=80 +POSTGRESQL_PORT_5432_TCP=tcp://10.96.1.105:5432 +MONGO_DEV_PORT_27017_TCP_PORT=27017 +LAF_SERVER_SERVICE_PORT_HTTP=3000 +CASDOOR_LOCAL_CDN_SERVICE_HOST=10.96.2.187 +MONGO_DEV_PORT=tcp://10.96.1.205:27017 +LAF_SERVER_PORT=tcp://10.96.0.179:3000 +POSTGRESQL_SERVICE_PORT=5432 +APISIX_ADMIN_PORT_9180_TCP_ADDR=10.96.2.144 +MONGO_DEV_SERVICE_HOST=10.96.1.205 +CASDOOR_PORT_8000_TCP_PORT=8000 +APISIX_GATEWAY_PORT_80_TCP_PORT=80 +YARN_VERSION=1.22.19 +APISIX_DASHBOARD_PORT_80_TCP_ADDR=10.96.3.97 +APISIX_GATEWAY_SERVICE_PORT_APISIX_GATEWAY_TLS=443 +CASDOOR_LOCAL_CDN_PORT_80_TCP=tcp://10.96.2.187:80 +APISIX_INGRESS_CONTROLLER_PORT_80_TCP_PROTO=tcp +MINIO_CONSOLE_PORT_9001_TCP=tcp://10.96.0.61:9001 +MINIO_CONSOLE_SERVICE_HOST=10.96.0.61 +CASDOOR_LOCAL_CDN_PORT_80_TCP_PROTO=tcp +MINIO_CONSOLE_PORT=tcp://10.96.0.61:9001 +PWD=/app +MINIO_SERVICE_PORT=9000 +LAF_SERVER_PORT_3000_TCP_PORT=3000 +APISIX_ETCD_PORT_2379_TCP=tcp://10.96.2.92:2379 +JWT_EXPIRES_IN=7d +APISIX_GATEWAY_SERVICE_PORT_APISIX_GATEWAY=80 +DOMAIN=192.168.64.204.nip.io +APISIX_GATEWAY_PORT_80_TCP_PROTO=tcp +POSTGRESQL_PORT_5432_TCP_PROTO=tcp +APISIX_ADMIN_PORT_9180_TCP_PORT=9180 +MINIO_SERVICE_PORT_HTTP=9000 +POSTGRESQL_PORT_5432_TCP_ADDR=10.96.1.105 +CASDOOR_CLIENT_SECRET=68baa5b5ea187a26feb3d9d8787e5626cb0be206c13072fe4d57feb5145c15cc +APISIX_GATEWAY_PORT_443_TCP_PORT=443 +MONGO_DEV_PORT_27017_TCP_ADDR=10.96.1.205 +APISIX_ADMIN_PORT_9180_TCP_PROTO=tcp +APISIX_GATEWAY_SERVICE_PORT=80 +MINIO_PORT=tcp://10.96.2.212:9000 +LAF_WEB_PORT_80_TCP_PORT=80 +HOME=/root +CASDOOR_LOCAL_CDN_PORT_80_TCP_PORT=80 +KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443 +MINIO_ROOT_SECRET_KEY=tq7jhww43u708f4djnxvfojjfbib8dnaisb496sy6bt8419mscb8i6c35hcgtvxj +APISIX_DASHBOARD_SERVICE_PORT=80 +LAF_WEB_SERVICE_HOST=10.96.2.34 +APISIX_DASHBOARD_PORT_80_TCP_PROTO=tcp +MINIO_CONSOLE_PORT_9001_TCP_PROTO=tcp +CASDOOR_LOCAL_CDN_PORT=tcp://10.96.2.187:80 +POSTGRESQL_SERVICE_PORT_TCP=5432 +APISIX_INGRESS_CONTROLLER_SERVICE_HOST=10.96.3.71 +APISIX_GATEWAY_PORT_443_TCP=tcp://10.96.0.215:443 +MINIO_ROOT_ACCESS_KEY=qdqu9iiqckpq51md +LAF_SERVER_SERVICE_PORT=3000 +APISIX_ADMIN_PORT_9180_TCP=tcp://10.96.2.144:9180 +LAF_SERVER_SERVICE_HOST=10.96.0.179 +MONGO_DEV_SERVICE_PORT=27017 +LAF_WEB_SERVICE_PORT=80 +APISIX_INGRESS_CONTROLLER_SERVICE_PORT_HTTP=80 +APISIX_GATEWAY_PORT=tcp://10.96.0.215:80 +POSTGRESQL_PORT_5432_TCP_PORT=5432 +LAF_SERVER_PORT_3000_TCP_ADDR=10.96.0.179 +MINIO_PORT_9000_TCP_ADDR=10.96.2.212 +POSTGRESQL_PORT=tcp://10.96.1.105:5432 CASDOOR_APP_NAME=laf -CASDOOR_CLIENT_ID=a71f65e93723c436027e -CASDOOR_CLIENT_SECRET=0d7e157be08055867b81456df3c222ea7c68a097 -CASDOOR_REDIRECT_URI=http://localhost:3001/login_callback +MINIO_PORT_9000_TCP_PROTO=tcp +CASDOOR_CLIENT_ID=a4f90b8cc51ccd585ef3c +TERM=xterm +APISIX_ETCD_PORT_2379_TCP_ADDR=10.96.2.92 +APISIX_DASHBOARD_PORT_80_TCP_PORT=80 +CASDOOR_PORT_8000_TCP_ADDR=10.96.1.198 +APISIX_GATEWAY_SERVICE_HOST=10.96.0.215 +MINIO_CONSOLE_SERVICE_PORT=9001 +MINIO_PORT_9000_TCP=tcp://10.96.2.212:9000 +LAF_WEB_SERVICE_PORT_HTTP=80 +CASDOOR_SERVICE_PORT_HTTP=8000 +LAF_WEB_PORT_80_TCP_PROTO=tcp +APISIX_ETCD_SERVICE_HOST=10.96.2.92 +MINIO_SERVICE_HOST=10.96.2.212 +CASDOOR_SERVICE_HOST=10.96.1.198 +SHLVL=1 +LAF_WEB_PORT_80_TCP_ADDR=10.96.2.34 +MONGO_DEV_PORT_27017_TCP_PROTO=tcp +KUBERNETES_PORT_443_TCP_PROTO=tcp +APISIX_DASHBOARD_PORT_80_TCP=tcp://10.96.3.97:80 +CASDOOR_REDIRECT_URI=http://www.192.168.64.204.nip.io/login_callback +KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1 +# SERVER=http://api.192.168.64.204.nip.io +SERVER=http://localhost:3000 +APISIX_GATEWAY_PORT_443_TCP_ADDR=10.96.0.215 +LAF_SERVER_PORT_3000_TCP_PROTO=tcp +APISIX_INGRESS_CONTROLLER_PORT_80_TCP=tcp://10.96.3.71:80 +APISIX_GATEWAY_PORT_443_TCP_PROTO=tcp +CASDOOR_SERVICE_PORT=8000 +APISIX_ADMIN_SERVICE_PORT_APISIX_ADMIN=9180 +APISIX_DASHBOARD_PORT=tcp://10.96.3.97:80 +APISIX_INGRESS_CONTROLLER_PORT=tcp://10.96.3.71:80 +MINIO_CONSOLE_SERVICE_PORT_HTTP=9001 +CASDOOR_PORT=tcp://10.96.1.198:8000 +KUBERNETES_SERVICE_HOST=10.96.0.1 +KUBERNETES_PORT=tcp://10.96.0.1:443 +KUBERNETES_PORT_443_TCP_PORT=443 +CASDOOR_PORT_8000_TCP=tcp://10.96.1.198:8000 +APISIX_API_KEY=b385bb1c786ecdc8fa2cf7a85c33a919 +MINIO_CONSOLE_PORT_9001_TCP_PORT=9001 +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +MINIO_EXTERNAL_ENDPOINT=http://oss.192.168.64.204.nip.io +JWT_SECRET=dbe5526070ef9ba6386145861540092eb5fb57d0f5b34930b758b9a31f6028f0 +NODE_VERSION=18.13.0 +MINIO_PORT_9000_TCP_PORT=9000 +APISIX_ETCD_SERVICE_PORT=2379 +APISIX_ETCD_PORT_2379_TCP_PORT=2379 +APISIX_ADMIN_SERVICE_PORT=9180 +APISIX_INGRESS_CONTROLLER_SERVICE_PORT=80 +CASDOOR_LOCAL_CDN_PORT_80_TCP_ADDR=10.96.2.187 +APISIX_ETCD_PORT=tcp://10.96.2.92:2379 +APISIX_ETCD_PORT_2379_TCP_PROTO=tcp +APISIX_GATEWAY_PORT_80_TCP=tcp://10.96.0.215:80 +_=/usr/bin/env \ No newline at end of file diff --git a/server/.env.template b/server/.env.template new file mode 100644 index 0000000000..5b750116cf --- /dev/null +++ b/server/.env.template @@ -0,0 +1,30 @@ + +# database +DATABASE_URL=mongodb://admin:passw0rd@127.0.0.1:27017/sys_db?authSource=admin&replicaSet=rs0&w=majority&directConnection=true + +# jwt settings +JWT_SECRET=laf_server_abc123 +JWT_EXPIRES_IN=7d + +# server hosts +SERVER=http://localhost:3000 + +# minio settings +INIO_CLIENT_PATH=mc +MINIO_EXTERNAL_ENDPOINT=http://localhost:9000 +MINIO_INTERNAL_ENDPOINT=http://localhost:9000 +MINIO_ROOT_ACCESS_KEY=minio-root +MINIO_ROOT_SECRET_KEY=passw0rd + +# gateway +DOMAIN=localhost +APISIX_API_URL=http://localhost:9080 +APISIX_API_KEY=abc123 + +# casdoor settings +CASDOOR_ENDPOINT=http://localhost:30070 +CASDOOR_ORG_NAME=laf +CASDOOR_APP_NAME=laf +CASDOOR_CLIENT_ID=a71f65e93723c436027e +CASDOOR_CLIENT_SECRET=0d7e157be08055867b81456df3c222ea7c68a097 +CASDOOR_REDIRECT_URI=http://localhost:3001/login_callback diff --git a/server/.gitignore b/server/.gitignore index e0c772bda6..7a0c9f44b2 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -35,5 +35,6 @@ lerna-debug.log* !.vscode/extensions.json .env.local +.env test.js \ No newline at end of file diff --git a/server/src/storage/minio/minio.service.ts b/server/src/storage/minio/minio.service.ts index 9a6c566e74..626d637d06 100644 --- a/server/src/storage/minio/minio.service.ts +++ b/server/src/storage/minio/minio.service.ts @@ -42,7 +42,7 @@ export class MinioService { const conf = region.storageConf return new S3({ - endpoint: conf.internalEndpoint, + endpoint: conf.externalEndpoint, credentials: { accessKeyId: conf.accessKey, secretAccessKey: conf.secretKey, @@ -227,7 +227,7 @@ export class MinioService { const conf = region.storageConf const access_key = conf.accessKey const access_secret = conf.secretKey - const endpoint = conf.internalEndpoint + const endpoint = conf.externalEndpoint const target = region.name const cmd = `alias set ${target} ${endpoint} ${access_key} ${access_secret}`