ansible-role--rsnapshot/criteria/variables.json
2024-07-12 14:35:24 +02:00

97 lines
2.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "rsnapshot Configuration",
"type": "object",
"properties": {
"rsnapshot_snapshot_root": {
"type": "string",
"description": "Root directory where all snapshots will be stored"
},
"rsnapshot_retains": {
"type": "object",
"description": "Backup retains intervals",
"properties": {
"hourly": { "type": "integer", "minimum": 1 },
"daily": { "type": "integer", "minimum": 1 },
"weekly": { "type": "integer", "minimum": 1 },
"monthly": { "type": "integer", "minimum": 1 }
},
"required": ["hourly", "daily", "weekly", "monthly"]
},
"rsnapshot_verbose": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Verbosity level of the output (1-5)"
},
"rsnapshot_loglevel": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Log level of the output (1-5)"
},
"rsnapshot_logfile": {
"type": "string",
"description": "Path to the logfile"
},
"rsnapshot_link_dest": {
"type": "integer",
"enum": [0, 1],
"description": "Whether to use --link-dest with rsync (0 or 1)"
},
"rsnapshot_sync_first": {
"type": "integer",
"enum": [0, 1],
"description": "Whether to sync first (0 or 1)"
},
"rsnapshot_numtries": {
"type": "integer",
"minimum": 1,
"description": "Number of rsync retries"
},
"rsnapshot_backup_scripts": {
"type": "array",
"description": "List of backup scripts",
"items": { "type": "string" }
},
"rsnapshot_backups": {
"type": "array",
"description": "List of backup configurations",
"items": {
"type": "object",
"properties": {
"remote": {
"type": "object",
"properties": {
"user": { "type": "string", "description": "Remote user" },
"host": { "type": "string", "description": "Remote host" },
"paths": {
"type": "array",
"items": { "type": "string" },
"description": "Paths to back up on the remote host"
}
},
"required": ["user", "host", "paths"]
},
"local": {
"type": "string",
"description": "Local path to store backups"
}
},
"required": ["remote", "local"]
}
}
},
"required": [
"rsnapshot_snapshot_root",
"rsnapshot_retains",
"rsnapshot_verbose",
"rsnapshot_loglevel",
"rsnapshot_logfile",
"rsnapshot_link_dest",
"rsnapshot_sync_first",
"rsnapshot_numtries",
"rsnapshot_backup_scripts",
"rsnapshot_backups"
]
}