Commit d1d80b30 authored by 智勇's avatar 智勇

Merge branch 'kewei' into 'master'

Kewei



See merge request !5
parents 4388d105 edfc8dd7
......@@ -14,15 +14,13 @@ const tag = require('./tag')
const commonServiceRoute = require('./commonService')
const ingressRoute = require('./ingress')
const cluster = require('../services/tke.clusterService').create()
const container = require('../services/tke.containerService').create()
const logFormat = ':req[x-real-ip] :req[x-forwarded-for] - -'
+ ' ":method :url HTTP/:http-version"'
+ ' :status :content-length ":referrer"'
+ ' ":user-agent" :req[x-auth-token] :response-time'
+ 'ms';
+ ' ":user-agent" :req[x-auth-token] :response-timems'
const cluster = require('../services/tke.clusterService').create()
const container = require('../services/tke.containerService').create()
const logger = log4js.getLogger()
log4js.configure(logConf.devlog)
......
const Router = require('koa-router')
const { ingressGet, ingressUpdate } = require('../kubeService/ingress')
const router = new Router();
module.exports = router
router.get('/', async (ctx) => {
const data = await ctx.client.ingress_get(ctx.query.namespace)
// const data = await ctx.cluster.ingress_get(ctx.query.namespace)
const data = await ingressGet(ctx.query.namespace, ctx.query.serviceName)
ctx.body = ctx.ok(data)
})
......@@ -13,27 +15,30 @@ namespace
rules
*/
router.post('/modify', async (ctx) => {
const ingress = await ctx.client.ingress_get(ctx.request.body.namespace)
if (!ingress) {
ctx.body = ctx.fail('namespace下没有ingress,请先创建')
return ctx.body
}
console.log(1, ingress)
// let data = await ctx.client.ingress_modify()
ctx.body = ctx.ok(ingress)
const data = await ingressUpdate(ctx.request.body.namespace, ctx.request.body.serviceName, ctx.request.body.host)
ctx.body = ctx.ok(data)
})
// router.post('/modify', async (ctx) => {
// const ingress = await ctx.cluster.ingress_get(ctx.request.body.namespace)
// if (!ingress) {
// ctx.body = ctx.fail('namespace下没有ingress,请先创建')
// return ctx.body
// }
// const data = await ctx.cluster.ingress_modify(ctx.request.body.ingressName, ctx.request.body.namespace, rules)
// ctx.body = ctx.ok(data)
// })
router.post('/create', async (ctx) => {
const ingress = await ctx.client.ingress_get(ctx.request.body.namespace)
const ingress = await ctx.cluster.ingress_get(ctx.request.body.namespace)
if (ingress) {
ctx.body = ctx.fail('namespace下已存在ingress')
return ctx.body
}
await ctx.client.ingress_create(ctx.request.body.namespace)
await ctx.cluster.ingress_create(ctx.request.body.namespace)
ctx.body = ctx.ok()
})
router.post('/delete', async (ctx) => {
await ctx.client.ingress_delete(ctx.request.body.ingressName, ctx.request.body.namespace)
await ctx.cluster.ingress_delete(ctx.request.body.ingressName, ctx.request.body.namespace)
ctx.body = ctx.ok()
})
const Router = require('koa-router')
const logger = require('koa-log4').getLogger('router:namespace');
const router = new Router();
module.exports = router
router.get('/', async (ctx) => {
logger.info('hello')
const data = await ctx.cluster.namespace_get()
ctx.body = ctx.ok(data)
})
......
......@@ -2,6 +2,7 @@
const Router = require('koa-router')
const yaml = require('js-yaml')
const templates = require('../serviceTemplate')
const { ingressCreate, ingressDelete } = require('../kubeService/ingress')
const TYPES = ['ui', 'java', 'node', 'python', 'go']
......@@ -41,6 +42,7 @@ router.post('/create', async (ctx) => {
})
const params = yaml.load(template)
await ctx.cluster.service_create(params, type)
await ingressCreate(namespace, serviceName)
ctx.body = ctx.ok('创建成功')
})
router.post('/details', async (ctx) => {
......@@ -48,6 +50,7 @@ router.post('/details', async (ctx) => {
ctx.body = ctx.ok(data)
})
router.post('/delete', async (ctx) => {
await ingressDelete(ctx.request.body.namespace, ctx.request.body.serviceName)
await ctx.cluster.service_delete(ctx.request.body.serviceName, ctx.request.body.namespace)
ctx.body = ctx.ok('删除成功')
})
......
const Client = require('kubernetes-client').Client
const config = require('kubernetes-client').config
const client = new Client({ config: config.fromKubeconfig(), version: '1.9' })
const getManifest = (namespace, servicename) => ({
apiVersion: 'extensions/v1beta1',
kind: 'Ingress',
metadata: {
name: servicename,
namespace,
annotations: {
'kubernetes.io/ingress.class': 'traefik',
},
},
spec: {
rules: [
{
host: `${servicename}-${namespace}.liangkebang.net`,
http: {
paths: [
{
path: '/',
backend: {
serviceName: `${servicename}`,
servicePort: 80,
},
},
],
},
},
],
},
})
const ingressGet = async (namespace, servicename) => client.apis.extensions.v1beta1.namespaces(namespace)
.ingresses(servicename).get()
const ingressCreate = async (namespace, servicename) => {
const Manifest = getManifest(namespace, servicename)
await client.apis.extensions.v1beta1.namespace(namespace).ingresses
.post({ body: Manifest })
}
const ingressUpdate = async (namespace, servicename, host) => {
const Manifest = getManifest(namespace, servicename)
Manifest.spec.rules[0].host = host
await client.apis.extensions.v1beta1.namespace(namespace).ingresses(servicename)
.patch({ body: Manifest })
}
const ingressDelete = async (namespace, servicename) => {
await client.apis.extensions.v1beta1.namespaces(namespace).ingresses(servicename).delete()
}
module.exports = {
ingressGet,
ingressCreate,
ingressUpdate,
ingressDelete,
}
......@@ -24,6 +24,11 @@
"js-tokens": "^4.0.0"
}
},
"@sindresorhus/is": {
"version": "0.7.0",
"resolved": "http://npmprivate.quantgroups.com/@sindresorhus%2fis/-/is-0.7.0.tgz",
"integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="
},
"abbrev": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
......@@ -51,6 +56,15 @@
"integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
"dev": true
},
"aggregate-error": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/aggregate-error/-/aggregate-error-1.0.0.tgz",
"integrity": "sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=",
"requires": {
"clean-stack": "^1.0.0",
"indent-string": "^3.0.0"
}
},
"ajv": {
"version": "6.7.0",
"resolved": "http://registry.npm.taobao.org/ajv/download/ajv-6.7.0.tgz",
......@@ -178,6 +192,11 @@
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
"async-limiter": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
......@@ -260,6 +279,11 @@
}
}
},
"base64url": {
"version": "3.0.1",
"resolved": "http://npmprivate.quantgroups.com/base64url/-/base64url-3.0.1.tgz",
"integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
......@@ -359,6 +383,27 @@
"ylru": "^1.2.0"
}
},
"cacheable-request": {
"version": "2.1.4",
"resolved": "http://npmprivate.quantgroups.com/cacheable-request/-/cacheable-request-2.1.4.tgz",
"integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
"requires": {
"clone-response": "1.0.2",
"get-stream": "3.0.0",
"http-cache-semantics": "3.8.1",
"keyv": "3.0.0",
"lowercase-keys": "1.0.0",
"normalize-url": "2.0.1",
"responselike": "1.0.2"
},
"dependencies": {
"lowercase-keys": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
"integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
}
}
},
"callsites": {
"version": "3.0.0",
"resolved": "http://npmprivate.quantgroups.com/callsites/-/callsites-3.0.0.tgz",
......@@ -454,6 +499,11 @@
}
}
},
"clean-stack": {
"version": "1.3.0",
"resolved": "http://npmprivate.quantgroups.com/clean-stack/-/clean-stack-1.3.0.tgz",
"integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE="
},
"cli-boxes": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/cli-boxes/download/cli-boxes-1.0.0.tgz",
......@@ -475,6 +525,14 @@
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
"clone-response": {
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/clone-response/-/clone-response-1.0.2.tgz",
"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
"requires": {
"mimic-response": "^1.0.0"
}
},
"co": {
"version": "4.6.0",
"resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
......@@ -644,8 +702,15 @@
"decode-uri-component": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"decompress-response": {
"version": "3.3.0",
"resolved": "http://npmprivate.quantgroups.com/decompress-response/-/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"requires": {
"mimic-response": "^1.0.0"
}
},
"deep-equal": {
"version": "1.0.1",
......@@ -664,6 +729,11 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
"deepmerge": {
"version": "2.2.1",
"resolved": "http://npmprivate.quantgroups.com/deepmerge/-/deepmerge-2.2.1.tgz",
"integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
},
"define-properties": {
"version": "1.1.3",
"resolved": "http://npmprivate.quantgroups.com/define-properties/-/define-properties-1.1.3.tgz",
......@@ -755,8 +825,7 @@
"duplexer3": {
"version": "0.1.4",
"resolved": "http://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
"dev": true
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"ecc-jsbn": {
"version": "0.1.2",
......@@ -817,6 +886,11 @@
"is-symbol": "^1.0.2"
}
},
"es6-promise": {
"version": "4.2.6",
"resolved": "http://npmprivate.quantgroups.com/es6-promise/-/es6-promise-4.2.6.tgz",
"integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q=="
},
"escape-html": {
"version": "1.0.3",
"resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
......@@ -1334,6 +1408,14 @@
"resolved": "http://npmprivate.quantgroups.com/flatted/-/flatted-2.0.0.tgz",
"integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg=="
},
"fluent-openapi": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/fluent-openapi/-/fluent-openapi-1.0.0.tgz",
"integrity": "sha512-Q0drDENt875UTMpWY5nAJi7/0BaqQ0riXVNnhAwaDlpcXFLGos/jW/IuSGLdoStw10BZ3RpkJghG2gkR3XASPA==",
"requires": {
"lodash.merge": "^4.6.1"
}
},
"for-in": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
......@@ -1369,6 +1451,15 @@
"resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"from2": {
"version": "2.3.0",
"resolved": "http://npmprivate.quantgroups.com/from2/-/from2-2.3.0.tgz",
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.0"
}
},
"fs-extra": {
"version": "7.0.1",
"resolved": "http://npmprivate.quantgroups.com/fs-extra/-/fs-extra-7.0.1.tgz",
......@@ -1929,8 +2020,7 @@
"get-stream": {
"version": "3.0.0",
"resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz",
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
},
"get-value": {
"version": "2.0.6",
......@@ -2049,12 +2139,25 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-symbol-support-x": {
"version": "1.4.2",
"resolved": "http://npmprivate.quantgroups.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
"integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
},
"has-symbols": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"has-to-string-tag-x": {
"version": "1.4.1",
"resolved": "http://npmprivate.quantgroups.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
"integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
"requires": {
"has-symbol-support-x": "^1.4.1"
}
},
"has-value": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
......@@ -2102,6 +2205,11 @@
"http-errors": "~1.7.1"
}
},
"http-cache-semantics": {
"version": "3.8.1",
"resolved": "http://npmprivate.quantgroups.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
"integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
},
"http-errors": {
"version": "1.7.1",
"resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.7.1.tgz",
......@@ -2167,6 +2275,11 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
"indent-string": {
"version": "3.2.0",
"resolved": "http://npmprivate.quantgroups.com/indent-string/-/indent-string-3.2.0.tgz",
"integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
},
"inflation": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/inflation/download/inflation-2.0.0.tgz",
......@@ -2231,6 +2344,15 @@
}
}
},
"into-stream": {
"version": "3.1.0",
"resolved": "http://npmprivate.quantgroups.com/into-stream/-/into-stream-3.1.0.tgz",
"integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
"requires": {
"from2": "^2.1.1",
"p-is-promise": "^1.1.0"
}
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
......@@ -2406,6 +2528,11 @@
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
"is-object": {
"version": "1.0.1",
"resolved": "http://npmprivate.quantgroups.com/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
},
"is-path-inside": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz",
......@@ -2415,6 +2542,11 @@
"path-is-inside": "^1.0.1"
}
},
"is-plain-obj": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
},
"is-plain-object": {
"version": "2.0.4",
"resolved": "http://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz",
......@@ -2448,8 +2580,7 @@
"is-retry-allowed": {
"version": "1.1.0",
"resolved": "http://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz",
"integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
"dev": true
"integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
},
"is-stream": {
"version": "1.1.0",
......@@ -2499,6 +2630,15 @@
"resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"isurl": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/isurl/-/isurl-1.0.0.tgz",
"integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
"requires": {
"has-to-string-tag-x": "^1.2.0",
"is-object": "^1.0.1"
}
},
"js-tokens": {
"version": "4.0.0",
"resolved": "http://npmprivate.quantgroups.com/js-tokens/-/js-tokens-4.0.0.tgz",
......@@ -2519,6 +2659,11 @@
"resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"json-buffer": {
"version": "3.0.0",
"resolved": "http://npmprivate.quantgroups.com/json-buffer/-/json-buffer-3.0.0.tgz",
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
},
"json-schema": {
"version": "0.2.3",
"resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
......@@ -2564,6 +2709,14 @@
"resolved": "http://registry.npm.taobao.org/keygrip/download/keygrip-1.0.3.tgz",
"integrity": "sha1-OZ1wnwrtK6sKBZ4M3TpQI6BT4dw="
},
"keyv": {
"version": "3.0.0",
"resolved": "http://npmprivate.quantgroups.com/keyv/-/keyv-3.0.0.tgz",
"integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
"requires": {
"json-buffer": "3.0.0"
}
},
"kind-of": {
"version": "6.0.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
......@@ -2700,6 +2853,20 @@
}
}
},
"kubernetes-client": {
"version": "6.3.2",
"resolved": "http://npmprivate.quantgroups.com/kubernetes-client/-/kubernetes-client-6.3.2.tgz",
"integrity": "sha512-RhoONrKj4zOAw5ZlZUaVBAVgHE5wtvPovKWPWylZvn8XTDhGoiphXdoWH3wAxw8ftSKqbGVdWbnGxOOlVNB0Yw==",
"requires": {
"deepmerge": "^2.1.1",
"fluent-openapi": "^1.0.0",
"js-yaml": "^3.10.0",
"openid-client": "^2.4.4",
"qs": "^6.5.2",
"request": "^2.88.0",
"ws": "^6.0.0"
}
},
"latest-version": {
"version": "3.1.0",
"resolved": "http://registry.npm.taobao.org/latest-version/download/latest-version-3.1.0.tgz",
......@@ -2760,6 +2927,11 @@
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
"lodash.merge": {
"version": "4.6.1",
"resolved": "http://npmprivate.quantgroups.com/lodash.merge/-/lodash.merge-4.6.1.tgz",
"integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ=="
},
"log4js": {
"version": "4.0.2",
"resolved": "http://npmprivate.quantgroups.com/log4js/-/log4js-4.0.2.tgz",
......@@ -2772,17 +2944,20 @@
"streamroller": "^1.0.1"
}
},
"long": {
"version": "4.0.0",
"resolved": "http://npmprivate.quantgroups.com/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
},
"lowercase-keys": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
"integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
"dev": true
"integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8="
},
"lru-cache": {
"version": "4.1.5",
"resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz",
"integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
......@@ -2862,6 +3037,11 @@
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
"mimic-response": {
"version": "1.0.1",
"resolved": "http://npmprivate.quantgroups.com/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
},
"minimatch": {
"version": "3.0.4",
"resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
......@@ -2967,6 +3147,24 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
"node-forge": {
"version": "0.8.2",
"resolved": "http://npmprivate.quantgroups.com/node-forge/-/node-forge-0.8.2.tgz",
"integrity": "sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg=="
},
"node-jose": {
"version": "1.1.3",
"resolved": "http://npmprivate.quantgroups.com/node-jose/-/node-jose-1.1.3.tgz",
"integrity": "sha512-kupfi4uGWhRjnOmtie2T64cLge5a1TZyalEa8uWWWBgtKBcu41A4IGKpI9twZAxRnmviamEUQRK7LSyfFb2w8A==",
"requires": {
"base64url": "^3.0.1",
"es6-promise": "^4.2.6",
"lodash": "^4.17.11",
"long": "^4.0.0",
"node-forge": "^0.8.1",
"uuid": "^3.3.2"
}
},
"nodemon": {
"version": "1.18.9",
"resolved": "http://registry.npm.taobao.org/nodemon/download/nodemon-1.18.9.tgz",
......@@ -3015,6 +3213,23 @@
"remove-trailing-separator": "^1.0.1"
}
},
"normalize-url": {
"version": "2.0.1",
"resolved": "http://npmprivate.quantgroups.com/normalize-url/-/normalize-url-2.0.1.tgz",
"integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
"requires": {
"prepend-http": "^2.0.0",
"query-string": "^5.0.1",
"sort-keys": "^2.0.0"
},
"dependencies": {
"prepend-http": {
"version": "2.0.0",
"resolved": "http://npmprivate.quantgroups.com/prepend-http/-/prepend-http-2.0.0.tgz",
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
}
}
},
"npm-run-path": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
......@@ -3029,6 +3244,11 @@
"resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU="
},
"object-assign": {
"version": "4.1.1",
"resolved": "http://npmprivate.quantgroups.com/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-copy": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
......@@ -3108,6 +3328,11 @@
"isobject": "^3.0.1"
}
},
"oidc-token-hash": {
"version": "3.0.2",
"resolved": "http://npmprivate.quantgroups.com/oidc-token-hash/-/oidc-token-hash-3.0.2.tgz",
"integrity": "sha512-dTzp80/y/da+um+i+sOucNqiPpwRL7M/xPwj7pH1TFA2/bqQ+OK2sJahSXbemEoLtPkHcFLyhLhLWZa9yW5+RA=="
},
"on-finished": {
"version": "2.3.0",
"resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
......@@ -3139,6 +3364,59 @@
"resolved": "http://registry.npm.taobao.org/only/download/only-0.0.2.tgz",
"integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q="
},
"openid-client": {
"version": "2.4.5",
"resolved": "http://npmprivate.quantgroups.com/openid-client/-/openid-client-2.4.5.tgz",
"integrity": "sha512-TmQQF7mOiYZsxX4kaQbrN06SXZ31UR5m4ur6sjM+VhaIuF79lqHe7uLmmt/NGVBIQojox6a4eilQ8DQDEQv31Q==",
"requires": {
"base64url": "^3.0.0",
"got": "^8.3.2",
"lodash": "^4.17.11",
"lru-cache": "^4.1.3",
"node-jose": "^1.1.0",
"oidc-token-hash": "^3.0.1",
"p-any": "^1.1.0"
},
"dependencies": {
"got": {
"version": "8.3.2",
"resolved": "http://npmprivate.quantgroups.com/got/-/got-8.3.2.tgz",
"integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
"requires": {
"@sindresorhus/is": "^0.7.0",
"cacheable-request": "^2.1.1",
"decompress-response": "^3.3.0",
"duplexer3": "^0.1.4",
"get-stream": "^3.0.0",
"into-stream": "^3.1.0",
"is-retry-allowed": "^1.1.0",
"isurl": "^1.0.0-alpha5",
"lowercase-keys": "^1.0.0",
"mimic-response": "^1.0.0",
"p-cancelable": "^0.4.0",
"p-timeout": "^2.0.1",
"pify": "^3.0.0",
"safe-buffer": "^5.1.1",
"timed-out": "^4.0.1",
"url-parse-lax": "^3.0.0",
"url-to-options": "^1.0.1"
}
},
"prepend-http": {
"version": "2.0.0",
"resolved": "http://npmprivate.quantgroups.com/prepend-http/-/prepend-http-2.0.0.tgz",
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
},
"url-parse-lax": {
"version": "3.0.0",
"resolved": "http://npmprivate.quantgroups.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
"integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
"requires": {
"prepend-http": "^2.0.0"
}
}
}
},
"optionator": {
"version": "0.8.2",
"resolved": "http://npmprivate.quantgroups.com/optionator/-/optionator-0.8.2.tgz",
......@@ -3159,11 +3437,28 @@
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"p-any": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/p-any/-/p-any-1.1.0.tgz",
"integrity": "sha512-Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==",
"requires": {
"p-some": "^2.0.0"
}
},
"p-cancelable": {
"version": "0.4.1",
"resolved": "http://npmprivate.quantgroups.com/p-cancelable/-/p-cancelable-0.4.1.tgz",
"integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ=="
},
"p-finally": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
},
"p-is-promise": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/p-is-promise/-/p-is-promise-1.1.0.tgz",
"integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4="
},
"p-limit": {
"version": "1.3.0",
......@@ -3183,6 +3478,22 @@
"p-limit": "^1.1.0"
}
},
"p-some": {
"version": "2.0.1",
"resolved": "http://npmprivate.quantgroups.com/p-some/-/p-some-2.0.1.tgz",
"integrity": "sha1-Zdh8ixVO289SIdFnd4ttLhUPbwY=",
"requires": {
"aggregate-error": "^1.0.0"
}
},
"p-timeout": {
"version": "2.0.1",
"resolved": "http://npmprivate.quantgroups.com/p-timeout/-/p-timeout-2.0.1.tgz",
"integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
"requires": {
"p-finally": "^1.0.0"
}
},
"p-try": {
"version": "1.0.0",
"resolved": "http://npmprivate.quantgroups.com/p-try/-/p-try-1.0.0.tgz",
......@@ -3299,8 +3610,7 @@
"pify": {
"version": "3.0.0",
"resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
},
"pkg-dir": {
"version": "2.0.0",
......@@ -3343,8 +3653,7 @@
"pseudomap": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
"version": "1.1.31",
......@@ -3367,6 +3676,16 @@
"resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY="
},
"query-string": {
"version": "5.1.1",
"resolved": "http://npmprivate.quantgroups.com/query-string/-/query-string-5.1.1.tgz",
"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
"requires": {
"decode-uri-component": "^0.2.0",
"object-assign": "^4.1.0",
"strict-uri-encode": "^1.0.0"
}
},
"raw-body": {
"version": "2.3.3",
"resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.3.tgz",
......@@ -3565,6 +3884,14 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
"responselike": {
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/responselike/-/responselike-1.0.2.tgz",
"integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
"requires": {
"lowercase-keys": "^1.0.0"
}
},
"restore-cursor": {
"version": "2.0.0",
"resolved": "http://npmprivate.quantgroups.com/restore-cursor/-/restore-cursor-2.0.0.tgz",
......@@ -3823,6 +4150,14 @@
}
}
},
"sort-keys": {
"version": "2.0.0",
"resolved": "http://npmprivate.quantgroups.com/sort-keys/-/sort-keys-2.0.0.tgz",
"integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
"requires": {
"is-plain-obj": "^1.0.0"
}
},
"source-map": {
"version": "0.5.7",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
......@@ -3948,6 +4283,11 @@
"lodash": "^4.17.10"
}
},
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
},
"string-width": {
"version": "2.1.1",
"resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
......@@ -4078,8 +4418,7 @@
"timed-out": {
"version": "4.0.1",
"resolved": "http://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz",
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
"dev": true
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
},
"tmp": {
"version": "0.0.33",
......@@ -4377,6 +4716,11 @@
"prepend-http": "^1.0.1"
}
},
"url-to-options": {
"version": "1.0.1",
"resolved": "http://npmprivate.quantgroups.com/url-to-options/-/url-to-options-1.0.1.tgz",
"integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
},
"use": {
"version": "3.1.1",
"resolved": "http://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
......@@ -4468,6 +4812,14 @@
"signal-exit": "^3.0.2"
}
},
"ws": {
"version": "6.2.0",
"resolved": "http://npmprivate.quantgroups.com/ws/-/ws-6.2.0.tgz",
"integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==",
"requires": {
"async-limiter": "~1.0.0"
}
},
"xdg-basedir": {
"version": "3.0.0",
"resolved": "http://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz",
......@@ -4477,8 +4829,7 @@
"yallist": {
"version": "2.1.2",
"resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"ylru": {
"version": "1.2.1",
......
......@@ -81,9 +81,10 @@ class Cluster extends Client {
}
ingress_modify(ingressName, namespace, rules) {
return this.post('MosifyIngress', {
ingressName, namespace, ...rules, clusterId: this.clusterId,
})
rules.ingressName = ingressName
rules.namespace = namespace
rules.clusterId = this.clusterId
return this.post('MosifyIngress', rules)
}
}
......
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