From f3698cd625d1905d13ff29e5c461f5b044052c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 6 Jun 2014 23:33:33 +0200 Subject: [PATCH] Cleanup of config.sample.js, removed graphiteUrl setting, it will still work for next release --- CHANGELOG.md | 2 + src/app/components/settings.js | 7 ++- src/app/services/dashboard.js | 7 +-- src/config.sample.js | 106 ++++++++++++++------------------- 4 files changed, 53 insertions(+), 69 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d95da88205..5e9e4f33fef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ - Add panel icon and Row edit button is replaced by the Row edit menu (Issue #475) - New graphs now have a default empty query - Add Row button now creates a row with default height of 250px (no longer opens dashboard settings modal) +- Clean up of config.sample.js, graphiteUrl removed (still works, but depricated, removed in future) + Use datasources config instead. panel_names removed from config.js. Use plugins.panels to add custom panels #### Fixes - Filter option loading when having muliple nested filters now works better. diff --git a/src/app/components/settings.js b/src/app/components/settings.js index 0d9ce23bed9..b3919cb55d7 100644 --- a/src/app/components/settings.js +++ b/src/app/components/settings.js @@ -20,7 +20,8 @@ function (_, crypto) { default: true } }, - panel_names : [], + panels : ['graph', 'text'], + plugins : {}, default_route : '/dashboard/file/default.json', grafana_index : 'grafana-dash', elasticsearch_all_disabled : false, @@ -76,6 +77,10 @@ function (_, crypto) { settings.elasticsearchBasicAuth = elasticParsed.basicAuth; settings.elasticsearch = elasticParsed.url; + if (settings.plugins.panels) { + settings.panels = _.union(settings.panels, settings.plugins.panels); + } + return settings; }; }); diff --git a/src/app/services/dashboard.js b/src/app/services/dashboard.js index 810082e17fe..9f2ba8db9bf 100644 --- a/src/app/services/dashboard.js +++ b/src/app/services/dashboard.js @@ -167,12 +167,7 @@ function (angular, $, kbn, _, config, moment, Modernizr) { self.set_interval(dashboard.refresh); } - // Set the available panels for the "Add Panel" drop down - self.availablePanels = _.difference(config.panel_names, - _.pluck(_.union(self.current.nav,self.current.pulldowns),'type')); - - // Take out any that we're not allowed to add from the gui. - self.availablePanels = _.difference(self.availablePanels,config.hidden_panels); + self.availablePanels = config.panels; $rootScope.$emit('dashboard-loaded', self.current); diff --git a/src/config.sample.js b/src/config.sample.js index 530a610db18..2d8632cae0c 100644 --- a/src/config.sample.js +++ b/src/config.sample.js @@ -1,82 +1,64 @@ -/** @scratch /configuration/config.js/1 - * == Configuration - * config.js is where you will find the core Grafana configuration. This file contains parameter that - * must be set before Grafana is run for the first time. - */ +///// @scratch /configuration/config.js/1 + // == Configuration + // config.js is where you will find the core Grafana configuration. This file contains parameter that + // must be set before Grafana is run for the first time. + /// define(['settings'], function (Settings) { "use strict"; return new Settings({ - /** - * elasticsearch url: - * For Basic authentication use: http://username:password@domain.com:9200 - */ + // datasources, you can add multiple + datasources: { + graphite: { + type: 'graphite', + url: "http://my.graphite.server.com:8080", + default: true + }, + influxdb: { + type: 'influxdb', + url: "http://my_influxdb_server:8080/db/database_name", + user: 'admin', + password: 'admin' + }, + }, + + // elasticsearch url + // used for storing and loading dashboards, optional + // For Basic authentication use: http://username:password@domain.com:9200 elasticsearch: "http://"+window.location.hostname+":9200", - /** - * graphite-web url: - * For Basic authentication use: http://username:password@domain.com - * Basic authentication requires special HTTP headers to be configured - * in nginx or apache for cross origin domain sharing to work (CORS). - * Check install documentation on github - */ - graphiteUrl: "http://"+window.location.hostname+":8080", - - /** - * Multiple graphite servers? Comment out graphiteUrl and replace with something like this: - - datasources: { - data_center_us: { - type: 'graphite', - url: 'http://', - default: true - }, - data_center_eu: { - type: 'graphite', - url: 'http://', - render_method: 'GET' // optional, use this to change render calls from POST to GET - } - }, - - */ - + // default start dashboard default_route: '/dashboard/file/default.json', - /** - * If you experiance problems with zoom, it is probably caused by timezone diff between - * your browser and the graphite-web application. timezoneOffset setting can be used to have Grafana - * translate absolute time ranges to the graphite-web timezone. - * Example: - * If TIME_ZONE in graphite-web config file local_settings.py is set to America/New_York, then set - * timezoneOffset to "-0500" (for UTC - 5 hours) - * Example: - * If TIME_ZONE is set to UTC, set this to "0000" - */ - + // timezoneOFfset: + // If you experiance problems with zoom, it is probably caused by timezone diff between + // your browser and the graphite-web application. timezoneOffset setting can be used to have Grafana + // translate absolute time ranges to the graphite-web timezone. + // Example: + // If TIME_ZONE in graphite-web config file local_settings.py is set to America/New_York, then set + // timezoneOffset to "-0500" (for UTC - 5 hours) + // Example: + // If TIME_ZONE is set to UTC, set this to "0000" + // timezoneOffset: null, - /** - * Elasticsearch index for storing dashboards - * - */ + // Elasticsearch index for storing dashboards grafana_index: "grafana-dash", - /** - * set to false to disable unsaved changes warning - */ + // set to false to disable unsaved changes warning unsaved_changes_warning: true, - /** - * set the default timespan for the playlist feature - * Example: "1m", "1h" - */ + // set the default timespan for the playlist feature + // Example: "1m", "1h" playlist_timespan: "1m", - panel_names: [ - 'text', - 'graph' - ] + + // Add your own custom pannels + plugins: { + panels: [] + } + }); });