79 lines
2.4 KiB
YAML
79 lines
2.4 KiB
YAML
### backive config schema
|
|
#
|
|
#
|
|
|
|
|
|
definitions:
|
|
device_section:
|
|
type: object
|
|
patternProperties:
|
|
"^[^ \t/\\]+$":
|
|
# "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$":
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
mountname:
|
|
type: string
|
|
required:
|
|
- mountname
|
|
additionalProperties: false
|
|
backup_section:
|
|
type: object
|
|
patternProperties:
|
|
"^[a-zA-Z0-9_-]+$":
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
from:
|
|
type: string
|
|
from_remote:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
password:
|
|
type: string
|
|
ssh_key_path:
|
|
type: string
|
|
to:
|
|
type: string
|
|
target_device:
|
|
type: string
|
|
frequency:
|
|
type: string
|
|
scripts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
target:
|
|
enum: [ "local", "remote" ]
|
|
script:
|
|
type: string
|
|
additionalProperties: false
|
|
tool:
|
|
type: object
|
|
required:
|
|
- from
|
|
- to
|
|
- target_device
|
|
additionalProperties: false
|
|
preferences_section:
|
|
type: object
|
|
properties:
|
|
mount_root:
|
|
type: string
|
|
pattern: "^(/[^/]+)+$"
|
|
additionalProperties: false
|
|
|
|
type: object
|
|
properties:
|
|
devices:
|
|
"$ref": "#:/definitions/device_section"
|
|
backups:
|
|
"$ref": "#:/definitions/backup_section"
|
|
preferences:
|
|
"$ref": "#:/definitions/preferences_section"
|