heimdall.yaml
---
# The unique fully-qualified-domain-name of the server. It is provided to
# the X-Heimdall-Server header for showing what server fulfilled the request
# sent.
# (Optional)
server: "heimdall-instance-123.example.com"
########################################
# Labeling/Tracing via HTTP Headers Configuration
########################################
# Provides this build number to the X-heimdall-Build header for
# showing machine version information. The build number SHOULD
# match the scheme `version-build` but there is not a strict requirement.
# (Optional)
build: "0.1.3-434"
# Provides the region information to the X-heimdall-Region header
# for showing what region this machine is located in. The region
# is arbitrary and optional.
# (Optional)
region: "east"
# Provides the flavor information to the X-heimdall-Flavor header
# for showing what flavor this machine is associated with. The flavor
# is arbitrary and optional.
# (Optional)
flavor: "mint"
########################################
# Health Endpoint Configuration
########################################
# health defines the details needed for the health check endpoint. The
# health check endpoint is generally used by services (like AWS Route53
# or consul) to determine if this particular machine is healthy or not.
health:
# port provides the port number for the endpoint to bind to.
# ":80" is ideal, but may require some special handling due to it being
# a reserved (by the kernel) port.
port: ":7201"
# endpoint provides the endpoint that will provide the health check
# information.
endpoint: "/health"
########################################
# Debugging/Pprof Configuration
########################################
# pprof defines the details needed for the pprof debug endpoint.
# (Optional)
pprof:
# address provides the port number for the endpoint to bind to.
address: ":7202"
########################################
# Metrics Configuration
########################################
# metric defines the details needed for the prometheus metrics endpoint
# (Optional)
metric:
# address provides the port number for the endpoint to bind to. Port 9389
# was chosen because it does not conflict with any of the other prometheus
# metrics or other machines in the xmidt cluster. You may use any port you
# wish.
address: ":7203"
# metricsOptions provides the details needed to configure the prometheus
# metric data. Metrics generally have the form:
#
# {namespace}_{subsystem}_{metric}
#
# so if you use the suggested value below, your metrics are prefixed like
# this:
#
# codex_heimdall_{metric}
#
# (Optional)
metricsOptions:
# namespace is the namespace of the metrics provided
# (Optional)
namespace: "codex"
# subsystem is the subsystem of the metrics provided
# (Optional)
subsystem: "heimdall"
########################################
# Logging Related Configuration
########################################
# log configures the logging subsystem details
log:
# file is the name of the most recent log file. If set to "stdout" this
# will log to os.Stdout.
# (Optional) defaults to os.TempDir()
#file: "/var/log/heimdall/heimdall.log"
file: "stdout"
# level is the logging level to use - INFO, DEBUG, WARN, ERROR
# (Optional) defaults to ERROR
level: "DEBUG"
# maxsize is the maximum file size in MB
# (Optional) defaults to max 100MB
maxsize: 50
# maxage is the maximum number of days to retain old log files
# (Optional) defaults to ignore age limit (0)
maxage: 30
# maxbackups is the maximum number of old log files to retain
# (Optional) defaults to retain all (0)
maxbackups: 10
# json is a flag indicating whether JSON logging output should be used.
# (Optional) defaults to false
json: true
# maxPoolSize is for limiting the number of device ids to store in memory.
maxPoolSize: 1000000
# tick is the unit of time for rate.
# The value of tick may be anything parseable by the golang standard library (see ParseDuration).
# (optional) default 1s
tick: 1s
# rate is the number of requests per unit time (tick) to send.
# (optional) default 5
rate: 5
# window, how long to look in the past to retrieve device ids.
# The value of tick may be anything parseable by the golang standard library (see ParseDuration).
# (optional) default 24h
window: 168h
# windowLimit is the max number of devices to get from the databse.
# (optional) default 1024
windowLimit: 1024
gungnirAddress: "https://codex.example.net"
gungnirSAT:
requestHeaders:
X-Client-Id: ""
X-Client-Secret: ""
authURL: ""
timeout: "1m"
buffer: "1m"
xmidtAddress: "https://api.webpa.example.net"
xmidtSAT:
requestHeaders:
X-Client-Id: ""
X-Client-Secret: ""
authURL: ""
timeout: "1m"
buffer: "1m"
########################################
# Database Related Configuration
########################################
# db provides the configuration for connecting to the database and database
# calls.
db:
# hosts is and array of address and port used to connect to the cluster.
hosts:
- "db"
# database is the name of the database being connected to.
database: "devices"
# opTimeout is the timeout for database calls after svalinn is connected.
# If the opTimeout is set to 0, it defaults to 10s.
# (Optional) defaults to 10s
opTimeout: 100ms
# # username is the username to use when connecting to the database.
# # (Optional)
# username: "cassandra"
#
# # password is the password to use when connecting to the database.
# # (Optional)
# password: "cassandra"
#
# # SSLRootCert is the root cert to use when connecting to the database.
# # The SSLKey and SSLCert must also be provided in order to connect securely.
# # (Optional)
# #sslRootCert: "/etc/svalinn/ca.crt"
#
# # SSLKey is the SSL key to use when connecting to the database. The
# # SSLRootCert and SSLCert must also be provided in order to connect securely.
# # (Optional)
# #sslKey: "/etc/svalinn/node.0.0.0.0.key"
#
# # SSLCert is the SSL cert to use when connecting to the database. The SSLKey
# # and SSLRootCert must also be provided in order to connect securely.
# # (Optional)
# #sslCert: "/etc/svalinn/node.0.0.0.0.crt"
#
# # If you want to verify the hostname and server cert (like a wildcard for cass cluster) then you should turn this on
# # This option is basically the inverse of InSecureSkipVerify
# # See InSecureSkipVerify in http://golang.org/pkg/crypto/tls/ for more info
# # (Optional) defaults to false
# #enableHostVerification: false