Before this PR, config parsing would accept duplicate job names. `zrepl
daemon` would later fail to start with a panic. But tools like `zrepl
configcheck` would pass.
This PR adds a check to ensure job names are unique.
Similarly, internal job names were not being rejected by config parsing
Move that check to parse-time as well.
Last, drive-by change: remove `internal/config/config_include_test.go`
introduced in #856 . These aren't necessary because there is already a
wildcard test for all valid configs.
This PR adds the complimentary "invalid config" wildcard test.
This PR allows for the distribution of zrepl job definitions across
multiple YAML files that are included from the main config.
```
global: ...
include:
- ./zrepl.yml.d
- /opt/zrepl.yml
- ...
```
Refer to the docs changes for details.
Co-authored-by: Christian Schwarz <me@cschwarz.com>