Commit f0fa2143 authored by 智勇's avatar 智勇

listEnvVarsNew for container

parent 7720239c
......@@ -128,6 +128,7 @@ router.post('/redeploy', async (ctx) => {
ctx.body = ctx.ok('重置服务成功')
})
// for dev
router.get('/listEnvVars', async (ctx) => {
const envVars = {}
const res = await Promise.all([
......@@ -155,3 +156,44 @@ router.get('/listEnvVars', async (ctx) => {
ctx.body = { details: envVars, success: true }
})
// for container
router.get('/listEnvVarsNew', async (ctx) => {
const envVars = {}
const res = await Promise.all([
getPods(ctx.request.query.namespace),
getServices(ctx.request.query.namespace),
])
res[0].body.items.forEach(async (item) => {
const serviceName = (item.metadata.labels && item.metadata.labels['qcloud-app']) || item.metadata.name
const upperCaseName = serviceName.toUpperCase().replace(/-/g, '_')
if (item.metadata.labels.type === 'base') {
envVars[`${upperCaseName}_SERVICE_HOST`] = serviceName
} else {
envVars[`${upperCaseName}_SERVICE_HOST`] = item.status.hostIP
}
})
res[1].body.items.forEach(async (item) => {
const upperCaseName = item.metadata.name.toUpperCase().replace(/-/g, '_')
const type = item.metadata.labels.type
if (type === 'base') {
envVars[`${upperCaseName}_SERVICE_PORT`] = _.get(item.spec.ports, '[0].port', undefined)
item.spec.ports.forEach((i) => {
envVars[`${upperCaseName}_SERVICE_PORT_${i.port}`] = i.port
})
} else {
envVars[`${upperCaseName}_SERVICE_PORT`] = _.get(item.spec.ports, '[0].nodePort', undefined)
item.spec.ports.forEach((i) => {
envVars[`${upperCaseName}_SERVICE_PORT_${i.port}`] = i.nodePort || i.port
})
}
})
envVars.DB_SERVICE_HOST = envVars.MYSQL_SERVICE_HOST
envVars.DB_SERVICE_PORT = envVars.MYSQL_SERVICE_PORT
envVars.DB_SERVICE_PORT_3306 = envVars.MYSQL_SERVICE_PORT_3306
ctx.body = { details: envVars, success: true }
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment