more work on refining config loading, and packaging

This commit is contained in:
Torkel Ödegaard
2015-04-09 17:18:04 +02:00
parent d1767144a8
commit 4c6d7630cd
9 changed files with 179 additions and 203 deletions

View File

@@ -1,101 +1,131 @@
app_name = Grafana
app_mode = production
##################### Grafana Configuration Example #####################
#
# Everything has defaults so you only need to uncomment things you want to
# change
; app_mode = production
#################################### Paths ####################################
[paths]
; data_path
; where rendered png images are temporarily stored
; file based sessions are stored here (if file based session is configured below)
; the database is stored here if sqlite3 database is used
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is useD)
#
data = data
#
# Directory where grafana can store logs
#
logs = data/log
#################################### Server ####################################
[server]
; protocol (http or https)
# Protocol (http or https)
protocol = http
; the ip address to bind to, empty will bind to all interfaces
# The ip address to bind to, empty will bind to all interfaces
http_addr =
; the http port to use
# The http port to use
http_port = 3000
; The public facing domain name used to access grafana from a browser
# The public facing domain name used to access grafana from a browser
domain = localhost
; the full public facing url
# The full public facing url
root_url = %(protocol)s://%(domain)s:%(http_port)s/
# Log web requests
router_logging = false
; the path relative home path where frontend assets are located
# the path relative working path
static_root_path = public
; enable gzip
# enable gzip
enable_gzip = false
; https certs & key file
# https certs & key file
cert_file =
cert_key =
#################################### Database ####################################
[database]
# Either "mysql", "postgres" or "sqlite3", it's your choice
type = sqlite3
host = 127.0.0.1:3306
name = grafana
user = root
password =
# For "postgres" only, either "disable", "require" or "verify-full"
ssl_mode = disable
# For "sqlite3" only, path relative to data_path setting
path = grafana.db
#################################### Session ####################################
[session]
# Either "memory", "file", "redis", "mysql", default is "memory"
provider = file
# Provider config options
# memory: not have any config yet
# file: session dir path, is relative to grafana data_path
# redis: config like redis server addr, poolSize, password, e.g. `127.0.0.1:6379,100,grafana`
# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1)/database_name`
provider_config = sessions
# Session cookie name
cookie_name = grafana_sess
# If you use session in https only, default is false
cookie_secure = false
# Session life time, default is 86400
session_life_time = 86400
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
# No ip addresses are being tracked, only simple counters to track
# running instances, dashboard and error counts. It is very helpful to us.
# Change this option to false to disable reporting.
reporting_enabled = true
; Google Analytics universal tracking code, only enabled if you specify an id here
# Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id =
[database]
; Either "mysql", "postgres" or "sqlite3", it's your choice
type = sqlite3
host = 127.0.0.1:3306
name = grafana
user = root
password =
; For "postgres" only, either "disable", "require" or "verify-full"
ssl_mode = disable
; For "sqlite3" only, path relative to data_path setting
path = grafana.db
[session]
; Either "memory", "file", "redis", "mysql", default is "memory"
provider = file
; Provider config options
; memory: not have any config yet
; file: session dir path, is relative to grafana data_path
; redis: config like redis server addr, poolSize, password, e.g. `127.0.0.1:6379,100,grafana`
; mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1)/database_name`
provider_config = sessions
; Session cookie name
cookie_name = grafana_sess
; If you use session in https only, default is false
cookie_secure = false
; Session life time, default is 86400
session_life_time = 86400
#################################### Security ####################################
[security]
; default admin user, created on startup
# default admin user, created on startup
admin_user = admin
; default admin password, can be changed before first start of grafana, or in profile settings
# default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin
; used for signing
# used for signing
secret_key = SW2YcwTIb9zpOOhoPsMm
; Auto-login remember days
# Auto-login remember days
login_remember_days = 7
cookie_username = grafana_user
cookie_remember_name = grafana_remember
#################################### Users ####################################
[users]
; disable user signup / registration
# disable user signup / registration
allow_sign_up = true
; Allow non admin users to create organizations
# Allow non admin users to create organizations
allow_org_create = true
# Set to true to automatically assign new users to the default organization (id 1)
auto_assign_org = true
; Default role new users will be automatically assigned (if disabled above is set to true)
# Default role new users will be automatically assigned (if disabled above is set to true)
auto_assign_org_role = Viewer
#################################### Anonymous Auth ##########################
[auth.anonymous]
; enable anonymous access
# enable anonymous access
enabled = false
; specify organization name that should be used for unauthenticated users
# specify organization name that should be used for unauthenticated users
org_name = Main Org.
; specify role for unauthenticated users
# specify role for unauthenticated users
org_role = Viewer
#################################### Github Auth ##########################
[auth.github]
enabled = false
client_id = some_id
@@ -103,9 +133,10 @@ client_secret = some_secret
scopes = user:email
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
; uncomment bellow to only allow specific email domains
# Uncomment bellow to only allow specific email domains
; allowed_domains = mycompany.com othercompany.com
#################################### Google Auth ##########################
[auth.google]
enabled = false
client_id = some_client_id
@@ -113,23 +144,24 @@ client_secret = some_client_secret
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
; uncomment bellow to only allow specific email domains
# Uncomment bellow to only allow specific email domains
; allowed_domains = mycompany.com othercompany.com
#################################### Logging ##########################
[log]
; Either "console", "file", default is "console"
; Use comma to separate multiple modes, e.g. "console, file"
# Either "console", "file", default is "console"
# Use comma to separate multiple modes, e.g. "console, file"
mode = console, file
; Buffer length of channel, keep it as it is if you don't know what it is.
# Buffer length of channel, keep it as it is if you don't know what it is.
buffer_len = 10000
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
# Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
level = Info
; For "console" mode only
# For "console" mode only
[log.console]
level =
; For "file" mode only
# For "file" mode only
[log.file]
level =
; This enables automated log rotate(switch of following options), default is true
@@ -143,6 +175,7 @@ daily_rotate = true
; Expired days of log file(delete after max days), default is 7
max_days = 7
#################################### AMPQ Event Publisher ##########################
[event_publisher]
enabled = false
rabbitmq_url = amqp://localhost/

View File

@@ -1,107 +1,38 @@
##################### Grafana Configuration Example #####################
# Sample grafana config for deb & rpm packages
# You only need to specify overrides here
# Defaults are in the /opt/grafana/current/conf/defaults.ini file
# This file is never ovewritten when upgrading grafana via deb or rpm package
app_mode = production
; app_mode = production
; data_path (used for sqlite3 db (if that is used), temp png images, and sessions (if file based sessions are used)
; this option is passed via command line args, override this option in /etc/default/grafana
; defaults to /opt/grafana/data
data_path =
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is useD)
#
;data = /var/lib/grafana
#
# Directory where grafana can store logs
#
;logs = /var/log/grafana
[server]
; protocol (http or https)
protocol = http
;protocol = http
; the ip address to bind to, empty will bind to all interfaces
http_addr =
;http_addr =
; the http port to use
http_port = 3000
;http_port = 3000
; The public facing domain name used to access grafana from a browser
domain = localhost
;domain = localhost
; the full public facing url
root_url = %(protocol)s://%(domain)s:%(http_port)s/
router_logging = false
; the path relative to grafana process working directory
static_root_path = public
enable_gzip = false
;root_url = %(protocol)s://%(domain)s:%(http_port)s/
;router_logging = false
; the path relative home path where frontend assets are located
;static_root_path = public
; enable gzip
;enable_gzip = false
; https certs & key file
cert_file =
cert_key =
;cert_file =
;cert_key =
[analytics]
# Server reporting, sends usage counters to stats.grafana.org (https).
# No ip addresses are being tracked, only simple counters to track
# running instances, dashboard and error counts. It is very helpful to us.
# Change this option to false to disable reporting.
reporting_enabled = true
; Google Analytics universal tracking code, only enabled if you specify an id here
google_analytics_ua_id =
[database]
; Either "mysql", "postgres" or "sqlite3", it's your choice
type = sqlite3
host = 127.0.0.1:3306
name = grafana
user = root
password =
; For "postgres" only, either "disable", "require" or "verify-full"
ssl_mode = disable
; For "sqlite3" only, path is relative to data_dir
path = grafana.db
[session]
; Either "memory", "file", "redis", "mysql", default is "memory"
provider = file
; Provider config options
; memory: not have any config yet
; file: session file path, e.g. `sessions`, relative to data_dir
; redis: config like redis server addr, poolSize, password, e.g. `127.0.0.1:6379,100,grafana`
; mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1)/database_name`
provider_config = sessions
; Session cookie name
cookie_name = grafana_sess
; If you use session in https only, default is false
cookie_secure = false
; Session life time, default is 86400
session_life_time = 86400
[security]
; default admin user, created on startup
admin_user = admin
; default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin
; used for signing
secret_key = SW2YcwTIb9zpOOhoPsMm
; Auto-login remember days
login_remember_days = 7
cookie_username = grafana_user
cookie_remember_name = grafana_remember
[users]
; disable user signup / registration
allow_sign_up = true
; Allow non admin users to create organizations
allow_org_create = true
# Set to true to automatically assign new users to the default organization (id 1)
auto_assign_org = true
; Default role new users will be automatically assigned (if disabled above is set to true)
auto_assign_org_role = Viewer
[auth.anonymous]
; enable anonymous access
enabled = false
; specify organization name that should be used for unauthenticated users
org_name = Main org.
; specify role for unauthenticated users
org_role = Viewer
[log]
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
level = Info
mode = console, file
; root_path, this option is passed via command line args,
; override this option in /etc/default/grafana
; defaults to /var/log/grafana/
root_path =