Server: Switch from separate server & cli to a unified grafana binary (#58286)
* avoid the need for a second bulky binary for grafana-cli * look for grafana-server in $PATH as well as same directory * implement unified "grafana" command * update dockerfiles, fix grafana-cli -v * update packaging to work with single binary - add wrapper scripts for grafana and grafana-server - update and sync package files - implement --sign flag of build package command - stop packaging scripts folder, they are not useful for end users - add support for --configOverrides in server command - remove unused nfpm.yaml config file * windows support
This commit is contained in:
@@ -7,37 +7,42 @@ set -e
|
||||
startGrafana() {
|
||||
if [ -x /bin/systemctl ] ; then
|
||||
/bin/systemctl daemon-reload
|
||||
/bin/systemctl start grafana-server.service
|
||||
elif [ -x /etc/init.d/grafana-server ] ; then
|
||||
/etc/init.d/grafana-server start
|
||||
elif [ -x /etc/rc.d/init.d/grafana-server ] ; then
|
||||
/etc/rc.d/init.d/grafana-server start
|
||||
fi
|
||||
/bin/systemctl start grafana-server.service
|
||||
elif [ -x /etc/init.d/grafana-server ] ; then
|
||||
/etc/init.d/grafana-server start
|
||||
elif [ -x /etc/rc.d/init.d/grafana-server ] ; then
|
||||
/etc/rc.d/init.d/grafana-server start
|
||||
fi
|
||||
}
|
||||
|
||||
stopGrafana() {
|
||||
if [ -x /bin/systemctl ] ; then
|
||||
/bin/systemctl stop grafana-server.service > /dev/null 2>&1 || :
|
||||
elif [ -x /etc/init.d/grafana-service ] ; then
|
||||
/etc/init.d/grafana-service stop
|
||||
elif [ -x /etc/rc.d/init.d/grafana-service ] ; then
|
||||
/etc/rc.d/init.d/grafana-service stop
|
||||
fi
|
||||
if [ -x /bin/systemctl ] ; then
|
||||
/bin/systemctl stop grafana-server.service > /dev/null 2>&1 || :
|
||||
elif [ -x /etc/init.d/grafana-service ] ; then
|
||||
/etc/init.d/grafana-service stop
|
||||
elif [ -x /etc/rc.d/init.d/grafana-service ] ; then
|
||||
/etc/rc.d/init.d/grafana-service stop
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Initial installation: $1 == 1
|
||||
# Upgrade: $1 == 2, and configured to restart on upgrade
|
||||
if [ $1 -eq 1 ] ; then
|
||||
[ -z "$GRAFANA_USER" ] && GRAFANA_USER="grafana"
|
||||
[ -z "$GRAFANA_GROUP" ] && GRAFANA_GROUP="grafana"
|
||||
if ! getent group "$GRAFANA_GROUP" > /dev/null 2>&1 ; then
|
||||
[ -z "$GRAFANA_USER" ] && GRAFANA_USER="grafana"
|
||||
[ -z "$GRAFANA_GROUP" ] && GRAFANA_GROUP="grafana"
|
||||
if ! getent group "$GRAFANA_GROUP" > /dev/null 2>&1 ; then
|
||||
groupadd -r "$GRAFANA_GROUP"
|
||||
fi
|
||||
if ! getent passwd "$GRAFANA_USER" > /dev/null 2>&1 ; then
|
||||
useradd -r -g grafana -d /usr/share/grafana -s /sbin/nologin \
|
||||
-c "grafana user" grafana
|
||||
fi
|
||||
fi
|
||||
if ! getent passwd "$GRAFANA_USER" > /dev/null 2>&1 ; then
|
||||
useradd -r -g "$GRAFANA_GROUP" -d /usr/share/grafana -s /sbin/nologin \
|
||||
-c "grafana user" "$GRAFANA_USER"
|
||||
fi
|
||||
|
||||
# Set user permissions on /var/log/grafana, /var/lib/grafana
|
||||
mkdir -p /var/log/grafana /var/lib/grafana
|
||||
chown -R $GRAFANA_USER:$GRAFANA_GROUP /var/log/grafana /var/lib/grafana
|
||||
chmod 755 /var/log/grafana /var/lib/grafana
|
||||
|
||||
# copy user config files
|
||||
if [ ! -f $CONF_FILE ]; then
|
||||
@@ -71,11 +76,6 @@ if [ $1 -eq 1 ] ; then
|
||||
cp /usr/share/grafana/conf/provisioning/alerting/sample.yaml $PROVISIONING_CFG_DIR/alerting/sample.yaml
|
||||
fi
|
||||
|
||||
# Set user permissions on /var/log/grafana, /var/lib/grafana
|
||||
mkdir -p /var/log/grafana /var/lib/grafana
|
||||
chown -R $GRAFANA_USER:$GRAFANA_GROUP /var/log/grafana /var/lib/grafana
|
||||
chmod 755 /var/log/grafana /var/lib/grafana
|
||||
|
||||
# configuration files should not be modifiable by grafana user, as this can be a security issue
|
||||
chown -Rh root:$GRAFANA_GROUP /etc/grafana/*
|
||||
chmod 755 /etc/grafana
|
||||
|
||||
Reference in New Issue
Block a user