浏览代码

dashboards as cfg: include cfg files in dist packages

bergquist 8 年之前
父节点
当前提交
361acd3fa1

+ 0 - 0
conf/dashboards/dashboards.yaml → conf/dashboards/sample.yaml


+ 0 - 0
conf/datasources/datasources.yaml → conf/datasources/sample.yaml


+ 4 - 0
packaging/deb/control/postinst

@@ -29,6 +29,10 @@ case "$1" in
   if [ ! -f $CONF_FILE ]; then
     cp /usr/share/grafana/conf/sample.ini $CONF_FILE
     cp /usr/share/grafana/conf/ldap.toml /etc/grafana/ldap.toml
+
+    mkdir -p /etc/grafana/dashboards /etc/grafana/datasources
+    cp /usr/share/grafana/conf/dashboards/sample.yaml /etc/grafana/dashboards/sample.yaml
+    cp /usr/share/grafana/conf/datasources/sample.yaml /etc/grafana/datasources/sample.yaml
   fi
 
 	# configuration files should not be modifiable by grafana user, as this can be a security issue

+ 4 - 0
packaging/deb/default/grafana-server

@@ -18,5 +18,9 @@ RESTART_ON_UPGRADE=true
 
 PLUGINS_DIR=/var/lib/grafana/plugins
 
+DATASOURCES_CFG_DIR=/etc/grafana/datasources
+
+DASHBOARDS_CFG_DIR=/etc/grafana/dashboards
+
 # Only used on systemd systems
 PID_FILE_DIR=/var/run/grafana

+ 3 - 1
packaging/deb/init.d/grafana-server

@@ -33,6 +33,8 @@ DATA_DIR=/var/lib/grafana
 PLUGINS_DIR=/var/lib/grafana/plugins
 LOG_DIR=/var/log/grafana
 CONF_FILE=$CONF_DIR/grafana.ini
+DATASOURCES_CFG_DIR=$CONF_DIR/datasources
+DASHBOARDS_CFG_DIR=$CONF_DIR/dashboards
 MAX_OPEN_FILES=10000
 PID_FILE=/var/run/$NAME.pid
 DAEMON=/usr/sbin/$NAME
@@ -55,7 +57,7 @@ if [ -f "$DEFAULT" ]; then
 	. "$DEFAULT"
 fi
 
-DAEMON_OPTS="--pidfile=${PID_FILE} --config=${CONF_FILE} cfg:default.paths.data=${DATA_DIR} cfg:default.paths.logs=${LOG_DIR} cfg:default.paths.plugins=${PLUGINS_DIR}"
+DAEMON_OPTS="--pidfile=${PID_FILE} --config=${CONF_FILE} cfg:default.paths.datasources=$DATASOURCES_CFG_DIR cfg:default.paths.dashboards=$DASHBOARDS_CFG_DIR cfg:default.paths.data=${DATA_DIR} cfg:default.paths.logs=${LOG_DIR} cfg:default.paths.plugins=${PLUGINS_DIR}"
 
 function checkUser() {
   if [ `id -u` -ne 0 ]; then

+ 10 - 6
packaging/deb/systemd/grafana-server.service

@@ -14,12 +14,16 @@ Restart=on-failure
 WorkingDirectory=/usr/share/grafana
 RuntimeDirectory=grafana
 RuntimeDirectoryMode=0750
-ExecStart=/usr/sbin/grafana-server                                        \
-                            --config=${CONF_FILE}                         \
-                            --pidfile=${PID_FILE_DIR}/grafana-server.pid  \
-                            cfg:default.paths.logs=${LOG_DIR}             \
-                            cfg:default.paths.data=${DATA_DIR}            \
-                            cfg:default.paths.plugins=${PLUGINS_DIR}
+ExecStart=/usr/sbin/grafana-server                                                \
+                            --config=${CONF_FILE}                                 \
+                            --pidfile=${PID_FILE_DIR}/grafana-server.pid          \
+                            cfg:default.paths.logs=${LOG_DIR}                     \
+                            cfg:default.paths.data=${DATA_DIR}                    \
+                            cfg:default.paths.plugins=${PLUGINS_DIR}              \
+                            cfg:default.paths.datasources=${DATASOURCES_CFG_DIR}  \
+                            cfg:default.paths.dashboards=${DASHBOARDS_CFG_DIR}
+
+
 LimitNOFILE=10000
 TimeoutStopSec=20
 UMask=0027

+ 3 - 1
packaging/mac/bin/grafana

@@ -6,10 +6,12 @@ HOMEPATH=/usr/local/share/grafana
 LOGPATH=/usr/local/var/log/grafana
 DATAPATH=/usr/local/var/lib/grafana
 PLUGINPATH=/usr/local/var/lib/grafana/plugins
+DATASOURCECFGPATH=/usr/local/etc/grafana/datasources
+DASHBOARDSCFGPATH=/usr/local/etc/grafana/dashboards
 
 case "$1" in
 start)
-  $EXECUTABLE --config=$CONFIG --homepath=$HOMEPATH cfg:default.paths.logs=$LOGPATH cfg:default.paths.data=$DATAPATH cfg:default.paths.plugins=$PLUGINPATH 2> /dev/null &
+  $EXECUTABLE --config=$CONFIG --homepath=$HOMEPATH cfg:default.paths.datasources=$DATASOURCECFGPATH cfg:default.paths.dashboards=$DASHBOARDSCFGPATH cfg:default.paths.logs=$LOGPATH cfg:default.paths.data=$DATAPATH cfg:default.paths.plugins=$PLUGINPATH 2> /dev/null &
   [ $? -eq 0 ] && echo "$DAEMON started"
 ;;
 stop)

+ 4 - 0
packaging/rpm/control/postinst

@@ -43,6 +43,10 @@ if [ $1 -eq 1 ] ; then
   if [ ! -f $CONF_FILE ]; then
     cp /usr/share/grafana/conf/sample.ini $CONF_FILE
     cp /usr/share/grafana/conf/ldap.toml /etc/grafana/ldap.toml
+
+    mkdir -p /etc/grafana/dashboards /etc/grafana/datasources
+    cp /usr/share/grafana/conf/dashboards/sample.yaml /etc/grafana/dashboards/sample.yaml
+    cp /usr/share/grafana/conf/datasources/sample.yaml /etc/grafana/datasources/sample.yaml
   fi
 
  	# Set user permissions on /var/log/grafana, /var/lib/grafana

+ 3 - 1
packaging/rpm/init.d/grafana-server

@@ -32,6 +32,8 @@ DATA_DIR=/var/lib/grafana
 PLUGINS_DIR=/var/lib/grafana/plugins
 LOG_DIR=/var/log/grafana
 CONF_FILE=$CONF_DIR/grafana.ini
+DATASOURCES_CFG_DIR=$CONF_DIR/datasources
+DASHBOARDS_CFG_DIR=$CONF_DIR/dashboards
 MAX_OPEN_FILES=10000
 PID_FILE=/var/run/$NAME.pid
 DAEMON=/usr/sbin/$NAME
@@ -59,7 +61,7 @@ fi
 # overwrite settings from default file
 [ -e /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
 
-DAEMON_OPTS="--pidfile=${PID_FILE} --config=${CONF_FILE} cfg:default.paths.data=${DATA_DIR} cfg:default.paths.logs=${LOG_DIR} cfg:default.paths.plugins=${PLUGINS_DIR}"
+DAEMON_OPTS="--pidfile=${PID_FILE} --config=${CONF_FILE} cfg:default.paths.datasources=$DATASOURCES_CFG_DIR cfg:default.paths.dashboards=$DASHBOARDS_CFG_DIR  cfg:default.paths.data=${DATA_DIR} cfg:default.paths.logs=${LOG_DIR} cfg:default.paths.plugins=${PLUGINS_DIR}"
 
 function isRunning() {
   status -p $PID_FILE $NAME > /dev/null 2>&1

+ 4 - 0
packaging/rpm/sysconfig/grafana-server

@@ -18,5 +18,9 @@ RESTART_ON_UPGRADE=true
 
 PLUGINS_DIR=/var/lib/grafana/plugins
 
+DATASOURCES_CFG_DIR=/etc/grafana/datasources
+
+DASHBOARDS_CFG_DIR=/etc/grafana/dashboards
+
 # Only used on systemd systems
 PID_FILE_DIR=/var/run/grafana

+ 9 - 6
packaging/rpm/systemd/grafana-server.service

@@ -14,12 +14,15 @@ Restart=on-failure
 WorkingDirectory=/usr/share/grafana
 RuntimeDirectory=grafana
 RuntimeDirectoryMode=0750
-ExecStart=/usr/sbin/grafana-server                                        \
-                            --config=${CONF_FILE}                         \
-                            --pidfile=${PID_FILE_DIR}/grafana-server.pid  \
-                            cfg:default.paths.logs=${LOG_DIR}             \
-                            cfg:default.paths.data=${DATA_DIR}            \
-                            cfg:default.paths.plugins=${PLUGINS_DIR}
+ExecStart=/usr/sbin/grafana-server                                                \
+                            --config=${CONF_FILE}                                 \
+                            --pidfile=${PID_FILE_DIR}/grafana-server.pid          \
+                            cfg:default.paths.logs=${LOG_DIR}                     \
+                            cfg:default.paths.data=${DATA_DIR}                    \
+                            cfg:default.paths.plugins=${PLUGINS_DIR}              \
+                            cfg:default.paths.datasources=${DATASOURCES_CFG_DIR}  \
+                            cfg:default.paths.dashboards=${DASHBOARDS_CFG_DIR}
+
 LimitNOFILE=10000
 TimeoutStopSec=20
 

+ 2 - 2
pkg/setting/setting.go

@@ -475,8 +475,8 @@ func NewConfigContext(args *CommandLineArgs) error {
 	Env = Cfg.Section("").Key("app_mode").MustString("development")
 	InstanceName = Cfg.Section("").Key("instance_name").MustString("unknown_instance_name")
 	PluginsPath = makeAbsolute(Cfg.Section("paths").Key("plugins").String(), HomePath)
-	DatasourcesPath = makeAbsolute(Cfg.Section("paths").Key("datasources").String(), HomePath)
-	DashboardsPath = makeAbsolute(Cfg.Section("paths").Key("dashboards").String(), HomePath)
+	DatasourcesPath = Cfg.Section("paths").Key("datasources").String()
+	DashboardsPath = Cfg.Section("paths").Key("dashboards").String()
 
 	server := Cfg.Section("server")
 	AppUrl, AppSubUrl = parseAppUrlAndSubUrl(server)

+ 1 - 1
scripts/grunt/release_task.js

@@ -26,7 +26,7 @@ module.exports = function(grunt) {
     });
     grunt.config('copy.backend_files', {
       expand: true,
-      src: ['conf/*', 'vendor/phantomjs/*', 'scripts/*'],
+      src: ['conf/**', 'vendor/phantomjs/*', 'scripts/*'],
       options: { mode: true},
       dest: '<%= tempDir %>'
     });