Merge "docker.userguide: Add a note about bar-collectd run without DPDK/RDT"
[barometer.git] / docker / barometer-grafana / run.sh
1 #!/bin/bash -e
2 # Copyright 2014-2016 Torkel Ã–degaard, Raintank Inc.
3 # Modifications Copyright 2017 OPNFV
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 : "${GF_PATHS_CONFIG:=/etc/grafana/grafana.ini}"
18 : "${GF_PATHS_DATA:=/var/lib/grafana}"
19 : "${GF_PATHS_LOGS:=/var/log/grafana}"
20 : "${GF_PATHS_PLUGINS:=/var/lib/grafana/plugins}"
21
22 chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_LOGS"
23 chown -R grafana:grafana /etc/grafana
24
25
26 if [ ! -z ${GF_AWS_PROFILES+x} ]; then
27     mkdir -p ~grafana/.aws/
28     touch ~grafana/.aws/credentials
29
30     for profile in ${GF_AWS_PROFILES}; do
31         access_key_varname="GF_AWS_${profile}_ACCESS_KEY_ID"
32         secret_key_varname="GF_AWS_${profile}_SECRET_ACCESS_KEY"
33         region_varname="GF_AWS_${profile}_REGION"
34
35         if [ ! -z "${!access_key_varname}" -a ! -z "${!secret_key_varname}" ]; then
36             echo "[${profile}]" >> ~grafana/.aws/credentials
37             echo "aws_access_key_id = ${!access_key_varname}" >> ~grafana/.aws/credentials
38             echo "aws_secret_access_key = ${!secret_key_varname}" >> ~grafana/.aws/credentials
39             if [ ! -z "${!region_varname}" ]; then
40                 echo "region = ${!region_varname}" >> ~grafana/.aws/credentials
41             fi
42         fi
43     done
44
45     chown grafana:grafana -R ~grafana/.aws
46     chmod 600 ~grafana/.aws/credentials
47 fi
48
49 if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then
50   OLDIFS=$IFS
51   IFS=','
52   for plugin in ${GF_INSTALL_PLUGINS}; do
53     IFS=$OLDIFS
54     gosu grafana grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin}
55   done
56 fi
57
58 /bin/bash ./configure_grafana.sh &
59
60 exec gosu grafana /usr/sbin/grafana-server      \
61   --homepath=/usr/share/grafana                 \
62   --config="$GF_PATHS_CONFIG"                   \
63   cfg:default.log.mode="console"                \
64   cfg:default.paths.data="$GF_PATHS_DATA"       \
65   cfg:default.paths.logs="$GF_PATHS_LOGS"       \
66   cfg:default.paths.plugins="$GF_PATHS_PLUGINS" \
67   "$@"
68
69
70