grafana/grafana-docker

Config keys ending with _FILE are not respected in 5.2.0-beta1

thomasklinger1234 opened this issue · 2 comments

Hi,
we are using Grafana in Docker in version 5.2.0-beta1. When using GF_AUTH_LDAP_CONFIG_FILE=/etc/grafana/... and GF_SERVER_CERT_FILE=/etc/grafana... they are not respected due to the parsing logic in the start script which replaces each config variable ending with _FILE by its content and unsetting the env variable.

Docker command:

docker run --rm --user 0 -p 443:443
-v /etc/grafana/toml:/etc/grafana/ldap.toml
-v /etc/grafana/provisioning:/etc/grafana/provisioning
-v /etc/grafana/ssl:/etc/grafana/ssl
-v /var/lib/grafana:/var/lib/grafana
-e GF_SECURITY_ADMIN_USER=admin
-e GF_SECURITY_ADMIN_PASSWORD=PASSWORD
-e GF_SECURITY_SECRET_KEY=KEY
-e GF_SERVER_HTTP_PORT=443
-e GF_SERVER_PROTOCOL=https
-e GF_SERVER_CERT_FILE=/etc/grafana/ssl/cert.pem
-e GF_SERVER_CERT_KEY=/etc/grafana/ssl/key.pem
-e GF_AUTH_LDAP_ENABLED=true
-e GF_AUTH_LDAP_CONFIG_FILE=/etc/grafana/ldap.toml
-t grafana/grafana:5.2.0-beta1

Output when Grafana starts:

{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852298014Z","var":"GF_PATHS_DATA=/var/lib/grafana"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.85233837Z","var":"GF_PATHS_LOGS=/var/log/grafana"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852387193Z","var":"GF_PATHS_PLUGINS=/var/lib/grafana/plugins"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852428025Z","var":"GF_PATHS_PROVISIONING=/etc/grafana/provisioning"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852502829Z","var":"GF_SERVER_PROTOCOL=https"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852554587Z","var":"GF_SERVER_HTTP_PORT=443"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852595502Z","var":"GF_SERVER_CERT_KEY=/etc/grafana/ssl/key.pem"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852670303Z","var":"GF_SECURITY_ADMIN_USER=admin"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.85271507Z","var":"GF_SECURITY_ADMIN_PASSWORD="}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852755517Z","var":"GF_SECURITY_SECRET_KEY=
"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852818743Z","var":"GF_AUTH_LDAP_ENABLED=true"}
{"logger":"settings","lvl":"info","msg":"Config overridden from Environment variable","t":"2018-06-12T11:25:36.852858812Z","var":"GF_LOG_CONSOLE_FORMAT=json"}

As you can see GF_SERVER_CERT_FILE and GF_AUTH_LDAP_CONFIG_FILE are not respected.

xlson commented

@thomasklinger1234 thanks for reporting this. Should have caught this earlier.

@xlson is this closed by #172? And possibly also should this be closed grafana/grafana#12239?