mirror of
https://github.com/labring/laf.git
synced 2026-02-01 16:57:03 +00:00
fix(server):imprv minio initializer, fix ingress config (#639)
This commit is contained in:
parent
5506965d94
commit
a545793966
@ -14,7 +14,7 @@ spec:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: {{ .Release.Name }}-minio
|
||||
name: minio
|
||||
port:
|
||||
number: 9000
|
||||
path: /
|
||||
|
||||
@ -25,7 +25,7 @@ DATABASE_URL="mongodb://${DB_USERNAME}:${DB_PASSWORD}@mongo.${NAMESPACE}.svc.clu
|
||||
MINIO_ROOT_ACCESS_KEY=$(tr -cd 'a-z0-9' </dev/urandom |head -c16)
|
||||
MINIO_ROOT_SECRET_KEY=$(tr -cd 'a-z0-9' </dev/urandom |head -c64)
|
||||
MINIO_EXTERNAL_ENDPOINT="${HTTP_SCHEMA}://oss.${DOMAIN}"
|
||||
MINIO_INTERNAL_ENDPOINT=laf-minio.${NAMESPACE}.svc.cluster.local:9000
|
||||
MINIO_INTERNAL_ENDPOINT=minio.${NAMESPACE}.svc.cluster.local:9000
|
||||
MINIO_DOMAIN=oss.${DOMAIN}
|
||||
|
||||
## envs - apisix
|
||||
|
||||
144
server/.env
144
server/.env
@ -1,144 +0,0 @@
|
||||
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
|
||||
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
|
||||
@ -1,8 +1,10 @@
|
||||
import { Module } from '@nestjs/common'
|
||||
import { RegionService } from 'src/region/region.service'
|
||||
import { MinioService } from 'src/storage/minio/minio.service'
|
||||
import { PrismaService } from '../prisma.service'
|
||||
import { InitializerService } from './initializer.service'
|
||||
|
||||
@Module({
|
||||
providers: [InitializerService, PrismaService],
|
||||
providers: [InitializerService, PrismaService, MinioService, RegionService],
|
||||
})
|
||||
export class InitializerModule {}
|
||||
|
||||
@ -1,11 +1,18 @@
|
||||
import { Injectable, Logger } from '@nestjs/common'
|
||||
import { RegionService } from 'src/region/region.service'
|
||||
import { MinioService } from 'src/storage/minio/minio.service'
|
||||
import { CPU_UNIT, ServerConfig } from '../constants'
|
||||
import { PrismaService } from '../prisma.service'
|
||||
import * as assert from 'assert'
|
||||
|
||||
@Injectable()
|
||||
export class InitializerService {
|
||||
private readonly logger = new Logger(InitializerService.name)
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
constructor(
|
||||
private readonly prisma: PrismaService,
|
||||
private readonly minioService: MinioService,
|
||||
private readonly regionService: RegionService,
|
||||
) {}
|
||||
|
||||
async createDefaultRegion() {
|
||||
// check if exists
|
||||
@ -109,4 +116,18 @@ export class InitializerService {
|
||||
this.logger.verbose('Created default runtime: ' + res.name)
|
||||
return res
|
||||
}
|
||||
|
||||
async initMinioAlias() {
|
||||
const regions = await this.regionService.findAll()
|
||||
|
||||
for (const region of regions) {
|
||||
this.logger.verbose('MinioService init - ' + region.name)
|
||||
|
||||
const res = await this.minioService.setMinioClientTarget(region)
|
||||
assert.ok(
|
||||
res.status === 'success',
|
||||
'set minio client target failed: ' + region.name,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,10 +46,16 @@ async function bootstrap() {
|
||||
},
|
||||
})
|
||||
|
||||
const initService = app.get(InitializerService)
|
||||
await initService.createDefaultRegion()
|
||||
await initService.createDefaultBundle()
|
||||
await initService.createDefaultRuntime()
|
||||
try {
|
||||
const initService = app.get(InitializerService)
|
||||
await initService.createDefaultRegion()
|
||||
await initService.createDefaultBundle()
|
||||
await initService.createDefaultRuntime()
|
||||
await initService.initMinioAlias()
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
await app.listen(3000)
|
||||
}
|
||||
|
||||
@ -13,7 +13,6 @@ import * as cp from 'child_process'
|
||||
import { promisify } from 'util'
|
||||
import { MinioCommandExecOutput } from './types'
|
||||
import { MINIO_COMMON_USER_GROUP } from 'src/constants'
|
||||
import { RegionService } from 'src/region/region.service'
|
||||
|
||||
const exec = promisify(cp.exec)
|
||||
|
||||
@ -21,19 +20,6 @@ const exec = promisify(cp.exec)
|
||||
export class MinioService {
|
||||
private readonly logger = new Logger(MinioService.name)
|
||||
|
||||
constructor(private readonly regionService: RegionService) {
|
||||
this.init()
|
||||
}
|
||||
|
||||
async init() {
|
||||
this.logger.verbose('MinioService init')
|
||||
const regions = await this.regionService.findAll()
|
||||
|
||||
for (const region of regions) {
|
||||
await this.setMinioClientTarget(region)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create s3 client
|
||||
* @returns
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { PartialType } from '@nestjs/swagger';
|
||||
import { CreateTriggerDto } from './create-trigger.dto';
|
||||
import { PartialType } from '@nestjs/swagger'
|
||||
import { CreateTriggerDto } from './create-trigger.dto'
|
||||
|
||||
export class UpdateTriggerDto extends PartialType(CreateTriggerDto) {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user