Skip to content

Commit 543fe9a

Browse files
committed
fix(deploy): fix oss external endpoint config format
1 parent 989ca02 commit 543fe9a

File tree

3 files changed

+27
-14
lines changed

3 files changed

+27
-14
lines changed

docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
version: '3.8'
33
services:
44
mongo:
5-
image: bitnami/mongodb:5.0.8
6-
# image: bitnami/mongodb:4.4.13 # Use this version for Apple M1 Chip
5+
# image: bitnami/mongodb:5.0.8
6+
image: bitnami/mongodb:4.4.13 # Use this version for Apple M1 Chip
77
environment:
88
- MONGODB_REPLICA_SET_MODE=primary
99
- MONGODB_ADVERTISED_HOSTNAME=mongo
@@ -62,12 +62,12 @@ services:
6262
ACCOUNT_DEFAULT_APP_QUOTA: 5
6363
ACCOUNT_SIGNUP_MODE: 0
6464
APP_SERVICE_IMAGE: lafyun/app-service:latest
65-
APP_SERVICE_DEPLOY_HOST: 127-0-0-1.nip.io:8080 # `*.127-0-0-1.nip.io` always resolved to 127.0.0.1, used to local development
65+
APP_SERVICE_DEPLOY_HOST: 127-0-0-1.nip.io # `*.127-0-0-1.nip.io` always resolved to 127.0.0.1, used to local development
6666
APP_SERVICE_DEPLOY_URL_SCHEMA: 'http'
6767
MINIO_ACCESS_KEY: minio-root-user
6868
MINIO_ACCESS_SECRET: minio-root-password
6969
MINIO_INTERNAL_ENDPOINT: http://oss:9000
70-
MINIO_EXTERNAL_ENDPOINT: oss.127-0-0-1.nip.io
70+
MINIO_EXTERNAL_ENDPOINT: http://oss.127-0-0-1.nip.io:${PUBLISH_PORT:-8080}
7171
PUBLISH_PORT: ${PUBLISH_PORT:-8080}
7272
PUBLISH_HTTPS_PORT: ${PUBLISH_HTTPS_PORT:-9443}
7373
MINIO_REGION_NAME: cn-default
@@ -102,7 +102,7 @@ services:
102102
SERVICE_DRIVER: docker
103103
APP_SERVICE_ENV_NPM_INSTALL_FLAGS: ' --no-audit --no-fund'
104104
MINIO_INTERNAL_ENDPOINT: http://oss:9000
105-
MINIO_EXTERNAL_ENDPOINT: http://oss.127-0-0-1.nip.io:8080
105+
MINIO_EXTERNAL_ENDPOINT: http://oss.127-0-0-1.nip.io:${PUBLISH_PORT:-8080}
106106
PUBLISH_PORT: ${PUBLISH_PORT:-8080}
107107
PUBLISH_HTTPS_PORT: ${PUBLISH_HTTPS_PORT:-9443}
108108
MINIO_REGION_NAME: cn-default

packages/instance-controller/src/config.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,22 @@ export default class Config {
100100
// use URL().origin to get the pure hostname, because the hostname may contain port number
101101
// this is to resolve bug of https://github.com/labring/laf/issues/96
102102
const internal_endpoint: string = new URL(process.env.MINIO_INTERNAL_ENDPOINT).origin
103-
104-
const external_port = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA === 'http' ? process.env.PUBLISH_PORT : process.env.PUBLISH_HTTPS_PORT
105-
const external_endpoint: string = new URL(process.env.APP_SERVICE_DEPLOY_URL_SCHEMA + '://' + process.env.MINIO_EXTERNAL_ENDPOINT + ':' + external_port).origin
103+
const external_endpoint: string = new URL(process.env.MINIO_EXTERNAL_ENDPOINT).origin
104+
105+
// fixed external_endpoint with extra schema and port config
106+
const external_port = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA === 'http' ? process.env.PUBLISH_PORT : process.env.PUBLISH_HTTPS_PORT
107+
const obj = new URL(external_endpoint)
108+
obj.port = external_port || obj.port
109+
obj.protocol = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA || 'http'
110+
const fixed_external_endpoint = obj.toString()
111+
112+
console.log({fixed_external_endpoint}, obj)
106113
const region: string = process.env.MINIO_REGION_NAME
107114

108115
return {
109116
endpoint: {
110-
internal: internal_endpoint,
111-
external: external_endpoint
117+
internal: internal_endpoint.replace(/\/$/, ''),
118+
external: fixed_external_endpoint.replace(/\/$/, '')
112119
},
113120
user_policy: process.env.MINIO_USER_POLICY || 'owner_by_prefix',
114121
region

packages/system-server/src/config.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -141,17 +141,23 @@ export default class Config {
141141
// use URL().origin to get the pure hostname, because the hostname may contain port number
142142
// this is to resolve bug of https://github.com/labring/laf/issues/96
143143
const internal_endpoint: string = new URL(process.env.MINIO_INTERNAL_ENDPOINT).origin
144+
const external_endpoint: string = new URL(process.env.MINIO_EXTERNAL_ENDPOINT).origin
145+
146+
// fixed external_endpoint with extra schema and port config
147+
const external_port = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA === 'http' ? process.env.PUBLISH_PORT : process.env.PUBLISH_HTTPS_PORT
148+
const obj = new URL(external_endpoint)
149+
obj.port = external_port || obj.port
150+
obj.protocol = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA
151+
const fixed_external_endpoint = obj.toString()
144152

145-
const external_port = process.env.APP_SERVICE_DEPLOY_URL_SCHEMA === 'http' ? process.env.PUBLISH_PORT : process.env.PUBLISH_HTTPS_PORT
146-
const external_endpoint: string = new URL(process.env.APP_SERVICE_DEPLOY_URL_SCHEMA + '://' + process.env.MINIO_EXTERNAL_ENDPOINT + ':' + external_port).origin
147153
const region: string = process.env.MINIO_REGION_NAME
148154

149155
return {
150156
access_key,
151157
access_secret,
152158
endpoint: {
153-
internal: internal_endpoint,
154-
external: external_endpoint
159+
internal: internal_endpoint.replace(/\/$/, ''),
160+
external: fixed_external_endpoint.replace(/\/$/, '')
155161
},
156162
user_policy: process.env.MINIO_USER_POLICY || 'owner_by_prefix',
157163
region

0 commit comments

Comments
 (0)