Adapt readme to new changes in configuration

This commit is contained in:
Felix Auringer
2021-04-30 09:09:57 +02:00
committed by Jan-Eric Hellenberg
parent 7a2f434171
commit 0808245989

View File

@ -32,21 +32,21 @@ The repository contains a git pre-commit hook which runs the go formatting tool
## Configuration
The file `config.go` contains a configuration struct containing all possible configuration options for Poseidon. The file also defines default values for all configuration options.
The options can be overridden with a `configuration.yaml` configuration file in the project root. `configuration.yaml.example` is an example for a configuration file.
The options can also be overridden by environment variables. Currently, only the Go types `string`, `int`, `bool` and `struct` (nesting is possible) are implemented. The name of the environment variable is constructed as follows: `POSEIDON_(<name of nested struct>_)*<name of field>` (all letters are uppercase).
The file `config/config.go` contains a configuration struct containing all possible configuration options for Poseidon. The file also defines default values for most of the configuration options.
The options *can* be overridden with a yaml configuration file whose path can be configured with the flag `-config`. By default, Poseidon searches for `configuration.yaml` in the project root. `configuration.example.yaml` is an example for a configuration file and contains explanations for all options.
The options *can* also be overridden by environment variables. Currently, only the Go types `string`, `int`, `bool` and `struct` (nested) are implemented. The name of the environment variable is constructed as follows: `POSEIDON_(<name of nested struct>_)*<name of field>` (all letters are uppercase).
The precedence of configuration possibilities is:
1. Environment variables
1. `configuration.yaml`
1. Configuration file
1. Default values
If a value is not specified, the value of the subsequent possibility is used.
### Example
- The default value for the `Port` (type `int`) field in the `Server` field (type `struct`) of the configuration is `3000`.
- The default value for the `Port` (type `int`) field in the `Server` field (type `struct`) of the configuration is `7200`.
- This can be overwritten with the following `configuration.yaml`:
```yaml