From ea6e731a918d1800a86a7a2771aa176d73cb1848 Mon Sep 17 00:00:00 2001 From: Henning Jacobs Date: Mon, 19 Dec 2016 18:26:31 +0100 Subject: [PATCH] filter vars --- .gitignore | 3 ++- .travis.yml | 5 +++++ app.py | 6 +++++- app/.eslintrc.yml | 9 ++++++++- app/src/node.js | 6 +++--- app/src/pod.js | 10 +++++----- 6 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 .travis.yml diff --git a/.gitignore b/.gitignore index a65701b..cf5f64f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ __pycache__ *.pyc .idea/ **/node_modules/ -static/ \ No newline at end of file +static/ +*-secret diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3b44fef --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +before_script: + - npm install -g eslint +script: + - cd app && eslint src diff --git a/app.py b/app.py index 258c87e..77c47b4 100755 --- a/app.py +++ b/app.py @@ -51,7 +51,11 @@ def get_clusters(): response.raise_for_status() for pod in response.json()['items']: if 'nodeName' in pod['spec']: - obj = pod + obj = {'name': pod['metadata']['name'], + 'namespace': pod['metadata']['namespace'], + 'labels': pod['metadata']['labels'], 'status': pod['status'], 'containers': []} + for cont in pod['spec']['containers']: + obj['containers'].append({'name': cont['name'], 'image': cont['image'], 'resources': cont['resources']}) # TODO: filter pod attributes nodes_by_name[pod['spec']['nodeName']]['pods'].append(obj) diff --git a/app/.eslintrc.yml b/app/.eslintrc.yml index b48970f..e96db9b 100644 --- a/app/.eslintrc.yml +++ b/app/.eslintrc.yml @@ -1,5 +1,8 @@ +parserOptions: + sourceType: module env: browser: true + node: true es6: true extends: 'eslint:recommended' rules: @@ -13,4 +16,8 @@ rules: - error - single prefer-const: - - warn \ No newline at end of file + - warn + no-redeclare: + - warn + no-unused-vars: + - warn diff --git a/app/src/node.js b/app/src/node.js index ff7d0ce..96526fd 100644 --- a/app/src/node.js +++ b/app/src/node.js @@ -38,7 +38,7 @@ export default class Node extends PIXI.Graphics { } } for (var pod of this.node.pods) { - for (var container of pod.spec.containers) { + for (var container of pod.containers) { if (container.resources && container.resources.requests) { for (var key of Object.keys(container.resources.requests)) { resources[key].requested += this.parseResource(container.resources.requests[key]) @@ -111,7 +111,7 @@ export default class Node extends PIXI.Graphics { var px = 24 var py = 20 for (var pod of this.node.pods) { - if (pod.metadata.namespace != 'kube-system') { + if (pod.namespace != 'kube-system') { var podBox = new Pod(pod, this.tooltip) podBox.x = px podBox.y = py @@ -127,7 +127,7 @@ export default class Node extends PIXI.Graphics { var px = 24 var py = 100 for (var pod of this.node.pods) { - if (pod.metadata.namespace == 'kube-system') { + if (pod.namespace == 'kube-system') { var podBox = new Pod(pod, this.tooltip) podBox.x = px podBox.y = py diff --git a/app/src/pod.js b/app/src/pod.js index 0e2f7bb..bbffb7a 100644 --- a/app/src/pod.js +++ b/app/src/pod.js @@ -24,10 +24,10 @@ export default class Pod extends PIXI.Graphics { var filter = new PIXI.filters.ColorMatrixFilter() filter.brightness(1.3) podBox.filters = [filter] - var s = this.pod.metadata.name - for (var key of Object.keys(this.pod.metadata.labels)) { + var s = this.pod.name + for (var key of Object.keys(this.pod.labels)) { if (key !== 'pod-template-hash') { - s += '\n' + key + ': ' + this.pod.metadata.labels[key] + s += '\n' + key + ': ' + this.pod.labels[key] } } s += '\nStatus: ' + this.pod.status.phase @@ -52,8 +52,8 @@ export default class Pod extends PIXI.Graphics { }) podBox.lineStyle(2, 0xaaaaaa, 1); var i = 0 - var w = 10 / this.pod.spec.containers.length - for (var container of this.pod.spec.containers) { + var w = 10 / this.pod.containers.length + for (var container of this.pod.containers) { podBox.drawRect(0 + i * w, 0, w, 10) i++ }