Skip to content

Commit 1d9f70b

Browse files
Allow access to metrics in default namespace in KairosDB proxy
- OpenTSDB proxy is no more supported and therefore deleted closes Open-IoT-Service-Platform/platform-launcher#695 Signed-off-by: Oguzcan Kirmemis <[email protected]>
1 parent 278c808 commit 1d9f70b

File tree

3 files changed

+10
-129
lines changed

3 files changed

+10
-129
lines changed

public-interface/grafana/index.js

+1-11
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,8 @@ const OPENTSDB = 'opentsdb',
1818
KAIROSDB = 'kairosdb',
1919
grafanaConf = require('./../config').grafana,
2020
getViewerToken = require('./viewer-token'),
21-
reverseProxyGrafana = require('./reverse-proxy-grafana');
22-
23-
var reverseProxyDataSource;
24-
25-
switch (grafanaConf.dataSource) {
26-
case KAIROSDB:
21+
reverseProxyGrafana = require('./reverse-proxy-grafana'),
2722
reverseProxyDataSource = require('./reverse-proxy-kairosdb');
28-
break;
29-
case OPENTSDB:
30-
default:
31-
reverseProxyDataSource = require('./reverse-proxy-opentsdb');
32-
}
3323

3424
module.exports = {
3525
reverseProxyGrafana: reverseProxyGrafana,

public-interface/grafana/reverse-proxy-kairosdb.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ const SUGGESTION_PATH = '/metricnames',
3232

3333
app.use(cookieParser());
3434

35+
function isDefaultNamespace(metric) {
36+
const splitted = metric.split('\\');
37+
return splitted[0] === "default" && splitted.length === 3;
38+
}
39+
3540
function verifyResponse(req, res, cb) {
3641
var token = req.cookies.jwt || secUtils.getBearerToken(req.headers.authorization);
3742
return tokenInfo(token, null, function(result) {
@@ -46,7 +51,8 @@ function getAccountMatcher(accountId) {
4651
function verifySuggestion(res, accounts) {
4752
for (var i = 0; i < res.results.length; i++) {
4853
var splitted = res.results[i].split(".");
49-
var isAllowed = accounts.some(getAccountMatcher(splitted[0]));
54+
var isAllowed = isDefaultNamespace(res.results[i]) ||
55+
accounts.some(getAccountMatcher(splitted[0]));
5056
if (!isAllowed) {
5157
res.results.splice(i, 1);
5258
i--;
@@ -59,7 +65,8 @@ function verifyQuery(res, accounts) {
5965
var isAllowed = res.queries.every(query => {
6066
return query.results.every(result => {
6167
var splitted = result.name.split('.');
62-
return accounts.some(getAccountMatcher(splitted[0]));
68+
return isDefaultNamespace(result.name) ||
69+
accounts.some(getAccountMatcher(splitted[0]));
6370
});
6471
});
6572
if (isAllowed) {

public-interface/grafana/reverse-proxy-opentsdb.js

-116
This file was deleted.

0 commit comments

Comments
 (0)