Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Grafana-CLI: Wrapper for
grafana-cli
within RPM/DEB packages and co…
…nfig/homepath are now global flags (#17695) * Feature: Introduce a grafana-cli wrapper When our users install the *nix packed version of grafana, tendency is to use the services and scripts installed as part of the package for grafana-server. These leverage the default configuration options by specifying the several default paths. This introduces a similar approach for the grafana-cli binary. We exposed it through a wrapper to ensure a proper configuration is in place. To enable that, we add the .real suffix to the original binary (grafana-cli.real) and then use a bash script named grafana-cli as the wrapper. * Make the config and homepath flags global * Introduce `configOverrides` as a global flag This flag allows us to pass configuration overrides as a string. The string follows the convention of configuration arguments separated by a space e.g. "cfg:default.paths.data=/dev/nullX cfg:default.paths.logs=/dev/nullX" Also, it is backwards compatible with similar the previous configuration method through tailing arguments. Tailing arguments take presedence over the configuration options string. * Only log configuration information in debug mode * Move the grafana-cli binary to $GRAFANA_HOME/bin As part of the package install process, we copy all the release files and directories into the grafana home directory. This includes the /bin folder from where we copied the binaries into their respective destinations. After that, the /bin folder gets deleted as we don't want to keep duplicates of the binaries around. As part of this commit, we moved the re-creation of /bin within grafana-home and the copy of the original binary (again) after the folder gets deleted.
- Loading branch information
Showing
6 changed files
with
104 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#! /usr/bin/env bash | ||
|
||
# Wrapper for the grafana-cli binary | ||
# This file serves as a wrapper for the grafana-cli binary. It ensures we set | ||
# the system-wide Grafana configuration that was bundled with the package as we | ||
# use the binary. | ||
|
||
DEFAULT=/etc/default/grafana | ||
|
||
GRAFANA_HOME=/usr/share/grafana | ||
CONF_DIR=/etc/grafana | ||
DATA_DIR=/var/lib/grafana | ||
PLUGINS_DIR=/var/lib/grafana/plugins | ||
LOG_DIR=/var/log/grafana | ||
|
||
CONF_FILE=$CONF_DIR/grafana.ini | ||
PROVISIONING_CFG_DIR=$CONF_DIR/provisioning | ||
|
||
EXECUTABLE=$GRAFANA_HOME/bin/grafana-cli | ||
|
||
if [ ! -x $EXECUTABLE ]; then | ||
echo "Program not installed or not executable" | ||
exit 5 | ||
fi | ||
|
||
# overwrite settings from default file | ||
if [ -f "$DEFAULT" ]; then | ||
. "$DEFAULT" | ||
fi | ||
|
||
OPTS="--homepath=${GRAFANA_HOME} \ | ||
--config=${CONF_FILE} \ | ||
--pluginsDir=${PLUGINS_DIR} \ | ||
--configOverrides='cfg:default.paths.provisioning=$PROVISIONING_CFG_DIR \ | ||
cfg:default.paths.data=${DATA_DIR} \ | ||
cfg:default.paths.logs=${LOG_DIR} \ | ||
cfg:default.paths.plugins=${PLUGINS_DIR}'" | ||
|
||
eval $EXECUTABLE "$OPTS" "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters