1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-06-23 01:16:27 +02:00

fix: version should be part of ui-config (#616)

This commit is contained in:
Ivar Conradi Østhus 2020-08-03 13:34:10 +02:00 committed by GitHub
parent e42337e523
commit 1bb0d03855
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 28 additions and 29 deletions

View File

@ -8,21 +8,16 @@ const {
FEATURE_ARCHIVED, FEATURE_ARCHIVED,
FEATURE_REVIVED, FEATURE_REVIVED,
} = require('./event-type'); } = require('./event-type');
const { version } = require('./routes/api-def');
const THREE_HOURS = 3 * 60 * 60 * 1000; const THREE_HOURS = 3 * 60 * 60 * 1000;
exports.startMonitoring = ( exports.startMonitoring = ({ serverMetrics, eventBus, stores, version }) => {
enable, if (!serverMetrics) {
eventBus,
eventStore,
clientMetricsStore,
featureToggleStore,
) => {
if (!enable) {
return; return;
} }
const { eventStore, clientMetricsStore, featureToggleStore } = stores;
client.collectDefaultMetrics(); client.collectDefaultMetrics();
const requestDuration = new client.Summary({ const requestDuration = new client.Summary({

View File

@ -15,13 +15,17 @@ test.before(() => {
const featureToggleStore = { const featureToggleStore = {
count: () => 123, count: () => 123,
}; };
startMonitoring( const config = {
true, serverMetrics: true,
eventBus, eventBus,
eventStore, stores: {
clientMetricsStore, eventStore,
featureToggleStore, clientMetricsStore,
); featureToggleStore,
},
version: '3.4.1',
};
startMonitoring(config);
}); });
test('should collect metrics for requests', t => { test('should collect metrics for requests', t => {

View File

@ -5,6 +5,7 @@ const parseDbUrl = require('parse-database-url');
const merge = require('deepmerge'); const merge = require('deepmerge');
const { publicFolder } = require('unleash-frontend'); const { publicFolder } = require('unleash-frontend');
const { defaultLogProvider, validateLogProvider } = require('./logger'); const { defaultLogProvider, validateLogProvider } = require('./logger');
const version = require('./util/version');
const THIRTY_DAYS = 30 * 24 * 60 * 60 * 1000; const THIRTY_DAYS = 30 * 24 * 60 * 60 * 1000;
@ -54,6 +55,7 @@ function defaultOptions() {
start: true, start: true,
keepAliveTimeout: 60 * 1000, keepAliveTimeout: 60 * 1000,
headersTimeout: 61 * 1000, headersTimeout: 61 * 1000,
version,
}; };
} }

View File

@ -1,5 +1,5 @@
{ {
"version": 2, "version": 3,
"links": { "links": {
"feature-toggles": { "feature-toggles": {
"uri": "/api/admin/features" "uri": "/api/admin/features"

View File

@ -5,7 +5,7 @@ const Controller = require('../controller');
class ConfigController extends Controller { class ConfigController extends Controller {
constructor(config) { constructor(config) {
super(config); super(config);
this.uiConfig = config.ui; this.uiConfig = { ...config.ui, version: config.version };
this.get('/', this.getUIConfig); this.get('/', this.getUIConfig);
} }

View File

@ -1,11 +1,8 @@
'use strict'; 'use strict';
// export module version
require('pkginfo')(module, 'version');
const { version } = module.exports;
const clientApiDef = require('./client-api/api-def.json'); const clientApiDef = require('./client-api/api-def.json');
const adminApiDef = require('./admin-api/api-def.json'); const adminApiDef = require('./admin-api/api-def.json');
const version = require('../util/version');
const apiDef = { const apiDef = {
name: 'unleash-server', name: 'unleash-server',

View File

@ -1,5 +1,5 @@
{ {
"version": 2, "version": 3,
"links": { "links": {
"feature-toggles": { "feature-toggles": {
"uri": "/api/client/features" "uri": "/api/client/features"

View File

@ -31,13 +31,7 @@ async function createApp(options) {
}; };
const app = getApp(config); const app = getApp(config);
startMonitoring( startMonitoring(config);
options.serverMetrics,
eventBus,
stores.eventStore,
stores.clientMetricsStore,
stores.featureToggleStore,
);
if (typeof config.eventHook === 'function') { if (typeof config.eventHook === 'function') {
addEventHook(config.eventHook, stores.eventStore); addEventHook(config.eventHook, stores.eventStore);

7
lib/util/version.js Normal file
View File

@ -0,0 +1,7 @@
'use strict';
// export module version
require('pkginfo')(module, 'version');
const { version } = module.exports;
module.exports = version;