config: detect duplicate & internal job names at parse time (#908)
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 commit is contained in:
committed by
GitHub
parent
4d6583ea5f
commit
860a9be37f
@@ -0,0 +1,24 @@
|
||||
jobs:
|
||||
- type: snap
|
||||
name: "my_job"
|
||||
filesystems: {
|
||||
"<": true,
|
||||
}
|
||||
snapshotting:
|
||||
type: manual
|
||||
pruning:
|
||||
keep:
|
||||
- type: last_n
|
||||
count: 10
|
||||
|
||||
- type: snap
|
||||
name: "my_job"
|
||||
filesystems: {
|
||||
"<": true,
|
||||
}
|
||||
snapshotting:
|
||||
type: manual
|
||||
pruning:
|
||||
keep:
|
||||
- type: last_n
|
||||
count: 5
|
||||
@@ -0,0 +1,12 @@
|
||||
jobs:
|
||||
- type: snap
|
||||
name: "my_job"
|
||||
filesystems: {
|
||||
"<": true,
|
||||
}
|
||||
snapshotting:
|
||||
type: manual
|
||||
pruning:
|
||||
keep:
|
||||
- type: last_n
|
||||
count: 5
|
||||
@@ -0,0 +1,15 @@
|
||||
jobs:
|
||||
- type: snap
|
||||
name: "my_job"
|
||||
filesystems: {
|
||||
"<": true,
|
||||
}
|
||||
snapshotting:
|
||||
type: manual
|
||||
pruning:
|
||||
keep:
|
||||
- type: last_n
|
||||
count: 10
|
||||
|
||||
include:
|
||||
- ./included.yml
|
||||
@@ -0,0 +1,12 @@
|
||||
jobs:
|
||||
- type: snap
|
||||
name: "_internal_job"
|
||||
filesystems: {
|
||||
"<": true,
|
||||
}
|
||||
snapshotting:
|
||||
type: manual
|
||||
pruning:
|
||||
keep:
|
||||
- type: last_n
|
||||
count: 10
|
||||
Reference in New Issue
Block a user