From 751e7f46da7d04e7eb3931fc8eaa2eecaf97fd9b Mon Sep 17 00:00:00 2001 From: David Collom Date: Mon, 24 Dec 2018 13:23:57 +0000 Subject: [PATCH 1/2] Improve output and display true status for nodes --- ksql.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/ksql.js b/ksql.js index 3e412e5..ebf7fa8 100644 --- a/ksql.js +++ b/ksql.js @@ -129,7 +129,7 @@ var mybase = new alasql.Database('mybase'); var create_tables = function(db) { db.exec('CREATE TABLE pods (uid TEXT, node TEXT, metadata Object, spec Object, status Object)'); - db.exec('CREATE TABLE nodes (name TEXT, uid TEXT, metadata Object, spec Object, status Object)'); + db.exec('CREATE TABLE nodes (name TEXT, uid TEXT, metadata Object, spec Object, status TXT)'); db.exec('CREATE TABLE services (name TEXT, uid TEXT, metadata Object, spec Object, status Object)'); db.exec('CREATE TABLE containers (image TEXT, uid TEXT, restarts INT)'); }; @@ -243,7 +243,28 @@ var load_services = function(client) { }; var load_nodes = function(client) { - return generic_load(client.nodes.get, alasql.databases.mybase.tables.nodes); + var defer = q.defer(); + client.nodes.get(function (err, nodes) { + if (err != null) { + defer.reject(err); + return; + } + for (var i = 0; i < nodes[0].items.length; i++) { + var node = nodes[0].items[i]; + node.uid = node.metadata.uid; + node.name = node.metadata.name; + for (var j = 0; j < node.status.conditions.length; j++) { + if (node.status.conditions[j].status == "True") { + node.status = node.status.conditions[j].type + break; + } + } + } + alasql.databases.mybase.tables.nodes.data = nodes[0].items; + defer.resolve(); + }); + + return defer.promise; }; var load = function (client) { From 911d1500769c8b3e62bc8f64a513425bb05b917a Mon Sep 17 00:00:00 2001 From: David Collom Date: Mon, 24 Dec 2018 13:24:14 +0000 Subject: [PATCH 2/2] Adding support for querying namespaces --- ksql.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ksql.js b/ksql.js index ebf7fa8..fa9d27c 100644 --- a/ksql.js +++ b/ksql.js @@ -131,6 +131,7 @@ var create_tables = function(db) { db.exec('CREATE TABLE pods (uid TEXT, node TEXT, metadata Object, spec Object, status Object)'); db.exec('CREATE TABLE nodes (name TEXT, uid TEXT, metadata Object, spec Object, status TXT)'); db.exec('CREATE TABLE services (name TEXT, uid TEXT, metadata Object, spec Object, status Object)'); + db.exec('CREATE TABLE namespaces (name TEXT, uid TEXT)'); db.exec('CREATE TABLE containers (image TEXT, uid TEXT, restarts INT)'); }; @@ -242,6 +243,10 @@ var load_services = function(client) { return generic_load(client.services.get, alasql.databases.mybase.tables.services); }; +var load_namespaces = function (client) { + return generic_load(client.namespaces.get, alasql.databases.mybase.tables.namespaces); +} + var load_nodes = function(client) { var defer = q.defer(); client.nodes.get(function (err, nodes) { @@ -271,7 +276,8 @@ var load = function (client) { return q.all([ load_pods(client), load_nodes(client), - load_services(client) + load_services(client), + load_namespaces(client) ]) };