filter vars
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -3,4 +3,5 @@ __pycache__
|
|||||||
*.pyc
|
*.pyc
|
||||||
.idea/
|
.idea/
|
||||||
**/node_modules/
|
**/node_modules/
|
||||||
static/
|
static/
|
||||||
|
*-secret
|
||||||
|
|||||||
5
.travis.yml
Normal file
5
.travis.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
language: node_js
|
||||||
|
before_script:
|
||||||
|
- npm install -g eslint
|
||||||
|
script:
|
||||||
|
- cd app && eslint src
|
||||||
6
app.py
6
app.py
@@ -51,7 +51,11 @@ def get_clusters():
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
for pod in response.json()['items']:
|
for pod in response.json()['items']:
|
||||||
if 'nodeName' in pod['spec']:
|
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
|
# TODO: filter pod attributes
|
||||||
nodes_by_name[pod['spec']['nodeName']]['pods'].append(obj)
|
nodes_by_name[pod['spec']['nodeName']]['pods'].append(obj)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
|
parserOptions:
|
||||||
|
sourceType: module
|
||||||
env:
|
env:
|
||||||
browser: true
|
browser: true
|
||||||
|
node: true
|
||||||
es6: true
|
es6: true
|
||||||
extends: 'eslint:recommended'
|
extends: 'eslint:recommended'
|
||||||
rules:
|
rules:
|
||||||
@@ -13,4 +16,8 @@ rules:
|
|||||||
- error
|
- error
|
||||||
- single
|
- single
|
||||||
prefer-const:
|
prefer-const:
|
||||||
- warn
|
- warn
|
||||||
|
no-redeclare:
|
||||||
|
- warn
|
||||||
|
no-unused-vars:
|
||||||
|
- warn
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export default class Node extends PIXI.Graphics {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (var pod of this.node.pods) {
|
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) {
|
if (container.resources && container.resources.requests) {
|
||||||
for (var key of Object.keys(container.resources.requests)) {
|
for (var key of Object.keys(container.resources.requests)) {
|
||||||
resources[key].requested += this.parseResource(container.resources.requests[key])
|
resources[key].requested += this.parseResource(container.resources.requests[key])
|
||||||
@@ -111,7 +111,7 @@ export default class Node extends PIXI.Graphics {
|
|||||||
var px = 24
|
var px = 24
|
||||||
var py = 20
|
var py = 20
|
||||||
for (var pod of this.node.pods) {
|
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)
|
var podBox = new Pod(pod, this.tooltip)
|
||||||
podBox.x = px
|
podBox.x = px
|
||||||
podBox.y = py
|
podBox.y = py
|
||||||
@@ -127,7 +127,7 @@ export default class Node extends PIXI.Graphics {
|
|||||||
var px = 24
|
var px = 24
|
||||||
var py = 100
|
var py = 100
|
||||||
for (var pod of this.node.pods) {
|
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)
|
var podBox = new Pod(pod, this.tooltip)
|
||||||
podBox.x = px
|
podBox.x = px
|
||||||
podBox.y = py
|
podBox.y = py
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ export default class Pod extends PIXI.Graphics {
|
|||||||
var filter = new PIXI.filters.ColorMatrixFilter()
|
var filter = new PIXI.filters.ColorMatrixFilter()
|
||||||
filter.brightness(1.3)
|
filter.brightness(1.3)
|
||||||
podBox.filters = [filter]
|
podBox.filters = [filter]
|
||||||
var s = this.pod.metadata.name
|
var s = this.pod.name
|
||||||
for (var key of Object.keys(this.pod.metadata.labels)) {
|
for (var key of Object.keys(this.pod.labels)) {
|
||||||
if (key !== 'pod-template-hash') {
|
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
|
s += '\nStatus: ' + this.pod.status.phase
|
||||||
@@ -52,8 +52,8 @@ export default class Pod extends PIXI.Graphics {
|
|||||||
})
|
})
|
||||||
podBox.lineStyle(2, 0xaaaaaa, 1);
|
podBox.lineStyle(2, 0xaaaaaa, 1);
|
||||||
var i = 0
|
var i = 0
|
||||||
var w = 10 / this.pod.spec.containers.length
|
var w = 10 / this.pod.containers.length
|
||||||
for (var container of this.pod.spec.containers) {
|
for (var container of this.pod.containers) {
|
||||||
podBox.drawRect(0 + i * w, 0, w, 10)
|
podBox.drawRect(0 + i * w, 0, w, 10)
|
||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user