Server registration and stats reporting has been removed from what was
once http://enterprise.influxdata.com. The app that lived there, now
runs at http://usage.influxdata.com, so that the subdomain can
eventually be repurposed. Because we also want to repurpose the
`enterprise-client` repo, we have also renamed that to `usage-client`.
InfluxDB no longer needs the `registration` service now, since all of
the endpoints it communicates with simply discard the data provided to
them.
Registration also involves statistics and diagnostics upload, for the
purposes of remote management. This means there will be long-running
goroutines in effect. Therefore move the code to a service model.
The env var overrides panic if we if peers was set in the config.
The type of that value is a []string and NumFields is not a valid
for that type. We don't currently support this slice fields via
the env variable settings. This particular one can be set with the
-join flag already so we just skip these fields for now.
This allows all config variable to be set via environment variables using
a similar naming convention for the toml config. For example, to change the
HTTP API port using the config, you would set:
[http]
bind-address = ":8086"
To change it with an environment variable, you would use:
HTTP_BIND_ADDRESS=":8086" influxd
The section name is used as the env variable prefix and the config key
name is the suffix. The only change to the config name is that "-" should
be replaced with "_" to avoid shell interpretation issues.
This makes it much easier to configure docker instances within a docker container
or adhoc instances at the command-line.
For slice config sections like graphite, you can currently only override the first
entry since the default config only has 1 entry. To do that use, GRAPHITE_0 as the
prefix. You cannot currently add new entries like GRAPHITE_1. A future PR might
address this issue.
The environment variable values should be the same as the config values.
The order that configuration values are applied is as follows:
* Default config
* Config file
* Environment variables
* Command-line arguments
Fixes#3246