diff --git a/NEWS b/NEWS index ceabeed9..2b112620 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ 1.5.7.dev0 * Update documentation code fragments theme to better match the rest of the page. + * Improve configuration reference documentation readability via more aggressive word-wrapping in + configuration schema descriptions. 1.5.6 * #292: Allow before_backup and similiar hooks to exit with a soft failure without altering the diff --git a/borgmatic/config/schema.yaml b/borgmatic/config/schema.yaml index b8d5dea1..cdd54eae 100644 --- a/borgmatic/config/schema.yaml +++ b/borgmatic/config/schema.yaml @@ -3,9 +3,10 @@ version: 1 map: location: desc: | - Where to look for files to backup, and where to store those backups. See - https://borgbackup.readthedocs.io/en/stable/quickstart.html and - https://borgbackup.readthedocs.io/en/stable/usage.html#borg-create for details. + Where to look for files to backup, and where to store those backups. + See https://borgbackup.readthedocs.io/en/stable/quickstart.html and + https://borgbackup.readthedocs.io/en/stable/usage/create.html + for details. required: true map: source_directories: @@ -13,7 +14,8 @@ map: seq: - type: str desc: | - List of source directories to backup (required). Globs and tildes are expanded. + List of source directories to backup (required). Globs and + tildes are expanded. example: - /home - /etc @@ -23,21 +25,25 @@ map: seq: - type: str desc: | - Paths to local or remote repositories (required). Tildes are expanded. Multiple - repositories are backed up to in sequence. See ssh_command for SSH options like - identity file or port. + Paths to local or remote repositories (required). Tildes are + expanded. Multiple repositories are backed up to in + sequence. See ssh_command for SSH options like identity file + or port. example: - user@backupserver:sourcehostname.borg one_file_system: type: bool desc: | - Stay in same file system (do not cross mount points). Defaults to false. But when - a database hook is used, the setting here is ignored and one_file_system is - considered true. + Stay in same file system (do not cross mount points). + Defaults to false. But when a database hook is used, the + setting here is ignored and one_file_system is considered + true. example: true numeric_owner: type: bool - desc: Only store/extract numeric user and group identifiers. Defaults to false. + desc: | + Only store/extract numeric user and group identifiers. + Defaults to false. example: true atime: type: bool @@ -49,27 +55,32 @@ map: example: false birthtime: type: bool - desc: Store birthtime (creation date) into archive. Defaults to true. + desc: | + Store birthtime (creation date) into archive. Defaults to + true. example: false read_special: type: bool desc: | - Use Borg's --read-special flag to allow backup of block and other special - devices. Use with caution, as it will lead to problems if used when - backing up special devices such as /dev/zero. Defaults to false. But when a - database hook is used, the setting here is ignored and read_special is + Use Borg's --read-special flag to allow backup of block and + other special devices. Use with caution, as it will lead to + problems if used when backing up special devices such as + /dev/zero. Defaults to false. But when a database hook is + used, the setting here is ignored and read_special is considered true. example: false bsd_flags: type: bool - desc: Record bsdflags (e.g. NODUMP, IMMUTABLE) in archive. Defaults to true. + desc: | + Record bsdflags (e.g. NODUMP, IMMUTABLE) in archive. + Defaults to true. example: true files_cache: type: str desc: | Mode in which to operate the files cache. See - https://borgbackup.readthedocs.io/en/stable/usage/create.html#description for - details. Defaults to "ctime,size,inode". + http://borgbackup.readthedocs.io/en/stable/usage/create.html + for details. Defaults to "ctime,size,inode". example: ctime,size,inode local_path: type: str @@ -83,9 +94,10 @@ map: seq: - type: str desc: | - Any paths matching these patterns are included/excluded from backups. Globs are - expanded. (Tildes are not.) Note that Borg considers this option experimental. - See the output of "borg help patterns" for more details. Quote any value if it + Any paths matching these patterns are included/excluded from + backups. Globs are expanded. (Tildes are not.) Note that + Borg considers this option experimental. See the output of + "borg help patterns" for more details. Quote any value if it contains leading punctuation, so it parses correctly. example: - 'R /' @@ -96,17 +108,19 @@ map: seq: - type: str desc: | - Read include/exclude patterns from one or more separate named files, one pattern - per line. Note that Borg considers this option experimental. See the output of - "borg help patterns" for more details. + Read include/exclude patterns from one or more separate + named files, one pattern per line. Note that Borg considers + this option experimental. See the output of "borg help + patterns" for more details. example: - /etc/borgmatic/patterns exclude_patterns: seq: - type: str desc: | - Any paths matching these patterns are excluded from backups. Globs and tildes - are expanded. See the output of "borg help patterns" for more details. + Any paths matching these patterns are excluded from backups. + Globs and tildes are expanded. See the output of "borg help + patterns" for more details. example: - '*.pyc' - ~/*/.cache @@ -115,29 +129,32 @@ map: seq: - type: str desc: | - Read exclude patterns from one or more separate named files, one pattern per - line. See the output of "borg help patterns" for more details. + Read exclude patterns from one or more separate named files, + one pattern per line. See the output of "borg help patterns" + for more details. example: - /etc/borgmatic/excludes exclude_caches: type: bool desc: | Exclude directories that contain a CACHEDIR.TAG file. See - http://www.brynosaurus.com/cachedir/spec.html for details. Defaults to false. + http://www.brynosaurus.com/cachedir/spec.html for details. + Defaults to false. example: true exclude_if_present: seq: - type: str desc: | - Exclude directories that contain a file with the given filenames. Defaults to not - set. + Exclude directories that contain a file with the given + filenames. Defaults to not set. example: - .nobackup keep_exclude_tags: type: bool desc: | - If true, the exclude_if_present filename is included in backups. Defaults to - false, meaning that the exclude_if_present filename is omitted from backups. + If true, the exclude_if_present filename is included in + backups. Defaults to false, meaning that the + exclude_if_present filename is omitted from backups. example: true exclude_nodump: type: bool @@ -147,90 +164,103 @@ map: borgmatic_source_directory: type: str desc: | - Path for additional source files used for temporary internal state like - borgmatic database dumps. Note that changing this path prevents "borgmatic - restore" from finding any database dumps created before the change. Defaults - to ~/.borgmatic + Path for additional source files used for temporary internal + state like borgmatic database dumps. Note that changing this + path prevents "borgmatic restore" from finding any database + dumps created before the change. Defaults to ~/.borgmatic example: /tmp/borgmatic storage: desc: | Repository storage options. See - https://borgbackup.readthedocs.io/en/stable/usage.html#borg-create and - https://borgbackup.readthedocs.io/en/stable/usage/general.html#environment-variables for + https://borgbackup.readthedocs.io/en/stable/usage/create.html and + https://borgbackup.readthedocs.io/en/stable/usage/general.html for details. map: encryption_passcommand: type: str desc: | - The standard output of this command is used to unlock the encryption key. Only - use on repositories that were initialized with passcommand/repokey encryption. - Note that if both encryption_passcommand and encryption_passphrase are set, - then encryption_passphrase takes precedence. Defaults to not set. + The standard output of this command is used to unlock the + encryption key. Only use on repositories that were + initialized with passcommand/repokey encryption. Note that + if both encryption_passcommand and encryption_passphrase are + set, then encryption_passphrase takes precedence. Defaults + to not set. example: "secret-tool lookup borg-repository repo-name" encryption_passphrase: type: str desc: | - Passphrase to unlock the encryption key with. Only use on repositories that were - initialized with passphrase/repokey encryption. Quote the value if it contains - punctuation, so it parses correctly. And backslash any quote or backslash + Passphrase to unlock the encryption key with. Only use on + repositories that were initialized with passphrase/repokey + encryption. Quote the value if it contains punctuation, so + it parses correctly. And backslash any quote or backslash literals as well. Defaults to not set. example: "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" checkpoint_interval: type: int desc: | - Number of seconds between each checkpoint during a long-running backup. See - https://borgbackup.readthedocs.io/en/stable/faq.html#if-a-backup-stops-mid-way-does-the-already-backed-up-data-stay-there - for details. Defaults to checkpoints every 1800 seconds (30 minutes). + Number of seconds between each checkpoint during a + long-running backup. See + https://borgbackup.readthedocs.io/en/stable/faq.html + for details. Defaults to checkpoints every 1800 seconds (30 + minutes). example: 1800 chunker_params: type: str desc: | - Specify the parameters passed to then chunker (CHUNK_MIN_EXP, CHUNK_MAX_EXP, - HASH_MASK_BITS, HASH_WINDOW_SIZE). See https://borgbackup.readthedocs.io/en/stable/internals.html + Specify the parameters passed to then chunker + (CHUNK_MIN_EXP, CHUNK_MAX_EXP, HASH_MASK_BITS, + HASH_WINDOW_SIZE). See + https://borgbackup.readthedocs.io/en/stable/internals.html for details. Defaults to "19,23,21,4095". example: 19,23,21,4095 compression: type: str desc: | Type of compression to use when creating archives. See - https://borgbackup.readthedocs.org/en/stable/usage.html#borg-create for details. - Defaults to "lz4". + http://borgbackup.readthedocs.io/en/stable/usage/create.html + for details. Defaults to "lz4". example: lz4 remote_rate_limit: type: int - desc: Remote network upload rate limit in kiBytes/second. Defaults to unlimited. + desc: | + Remote network upload rate limit in kiBytes/second. Defaults + to unlimited. example: 100 ssh_command: type: str desc: | - Command to use instead of "ssh". This can be used to specify ssh options. - Defaults to not set. + Command to use instead of "ssh". This can be used to specify + ssh options. Defaults to not set. example: ssh -i /path/to/private/key borg_base_directory: type: str desc: | - Base path used for various Borg directories. Defaults to $HOME, ~$USER, or ~. - See https://borgbackup.readthedocs.io/en/stable/usage/general.html#environment-variables for details. + Base path used for various Borg directories. Defaults to + $HOME, ~$USER, or ~. example: /path/to/base borg_config_directory: type: str desc: | - Path for Borg configuration files. Defaults to $borg_base_directory/.config/borg + Path for Borg configuration files. Defaults to + $borg_base_directory/.config/borg example: /path/to/base/config borg_cache_directory: type: str desc: | - Path for Borg cache files. Defaults to $borg_base_directory/.cache/borg + Path for Borg cache files. Defaults to + $borg_base_directory/.cache/borg example: /path/to/base/cache borg_security_directory: type: str desc: | - Path for Borg security and encryption nonce files. Defaults to $borg_base_directory/.config/borg/security + Path for Borg security and encryption nonce files. Defaults + to $borg_base_directory/.config/borg/security example: /path/to/base/config/security borg_keys_directory: type: str desc: | - Path for Borg encryption key files. Defaults to $borg_base_directory/.config/borg/keys + Path for Borg encryption key files. Defaults to + $borg_base_directory/.config/borg/keys example: /path/to/base/config/keys umask: type: scalar @@ -238,58 +268,69 @@ map: example: 0077 lock_wait: type: int - desc: Maximum seconds to wait for acquiring a repository/cache lock. Defaults to 1. + desc: | + Maximum seconds to wait for acquiring a repository/cache + lock. Defaults to 1. example: 5 archive_name_format: type: str desc: | - Name of the archive. Borg placeholders can be used. See the output of - "borg help placeholders" for details. Defaults to - "{hostname}-{now:%Y-%m-%dT%H:%M:%S.%f}". If you specify this option, you must - also specify a prefix in the retention section to avoid accidental pruning of - archives with a different archive name format. And you should also specify a + Name of the archive. Borg placeholders can be used. See the + output of "borg help placeholders" for details. Defaults to + "{hostname}-{now:%Y-%m-%dT%H:%M:%S.%f}". If you specify this + option, you must also specify a prefix in the retention + section to avoid accidental pruning of archives with a + different archive name format. And you should also specify a prefix in the consistency section as well. example: "{hostname}-documents-{now}" relocated_repo_access_is_ok: type: bool - desc: Bypass Borg error about a repository that has been moved. Defaults to false. + desc: | + Bypass Borg error about a repository that has been moved. + Defaults to false. example: true unknown_unencrypted_repo_access_is_ok: type: bool desc: | - Bypass Borg error about a previously unknown unencrypted repository. Defaults to - false. + Bypass Borg error about a previously unknown unencrypted + repository. Defaults to false. example: true extra_borg_options: map: init: type: str - desc: Extra command-line options to pass to "borg init". + desc: | + Extra command-line options to pass to "borg init". example: "--make-parent-dirs" prune: type: str - desc: Extra command-line options to pass to "borg prune". + desc: | + Extra command-line options to pass to "borg prune". example: "--save-space" create: type: str - desc: Extra command-line options to pass to "borg create". + desc: | + Extra command-line options to pass to "borg create". example: "--no-files-cache" check: type: str - desc: Extra command-line options to pass to "borg check". + desc: | + Extra command-line options to pass to "borg check". example: "--save-space" desc: | - Additional options to pass directly to particular Borg commands, handy for Borg - options that borgmatic does not yet support natively. Note that borgmatic does - not perform any validation on these options. Running borgmatic with - "--verbosity 2" shows the exact Borg command-line invocation. + Additional options to pass directly to particular Borg + commands, handy for Borg options that borgmatic does not yet + support natively. Note that borgmatic does not perform any + validation on these options. Running borgmatic with + "--verbosity 2" shows the exact Borg command-line + invocation. retention: desc: | Retention policy for how many backups to keep in each category. See - https://borgbackup.readthedocs.org/en/stable/usage.html#borg-prune for details. - At least one of the "keep" options is required for pruning to work. See - https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/ - if you'd like to skip pruning entirely. + https://borgbackup.readthedocs.io/en/stable/usage/prune.html for + details. At least one of the "keep" options is required for pruning + to work. See borgmatic documentation if you'd like to skip pruning + entirely. map: keep_within: type: str @@ -326,27 +367,37 @@ map: prefix: type: str desc: | - When pruning, only consider archive names starting with this prefix. - Borg placeholders can be used. See the output of "borg help placeholders" for - details. Defaults to "{hostname}-". Use an empty value to disable the default. + When pruning, only consider archive names starting with this + prefix. Borg placeholders can be used. See the output of + "borg help placeholders" for details. Defaults to + "{hostname}-". Use an empty value to disable the default. example: sourcehostname consistency: desc: | Consistency checks to run after backups. See - https://borgbackup.readthedocs.org/en/stable/usage.html#borg-check and - https://borgbackup.readthedocs.org/en/stable/usage.html#borg-extract for details. + https://borgbackup.readthedocs.io/en/stable/usage/check.html and + https://borgbackup.readthedocs.io/en/stable/usage/extract.html for + details. map: checks: seq: - type: str - enum: ['repository', 'archives', 'data', 'extract', 'disabled'] + enum: [ + 'repository', + 'archives', + 'data', + 'extract', + 'disabled' + ] unique: true desc: | - List of one or more consistency checks to run: "repository", "archives", "data", - and/or "extract". Defaults to "repository" and "archives". Set to "disabled" to - disable all consistency checks. "repository" checks the consistency of the - repository, "archives" checks all of the archives, "data" verifies the integrity - of the data within the archives, and "extract" does an extraction dry-run of the + List of one or more consistency checks to run: "repository", + "archives", "data", and/or "extract". Defaults to + "repository" and "archives". Set to "disabled" to disable + all consistency checks. "repository" checks the consistency + of the repository, "archives" checks all of the archives, + "data" verifies the integrity of the data within the + archives, and "extract" does an extraction dry-run of the most recent archive. Note that "data" implies "archives". example: - repository @@ -355,24 +406,29 @@ map: seq: - type: str desc: | - Paths to a subset of the repositories in the location section on which to run - consistency checks. Handy in case some of your repositories are very large, and - so running consistency checks on them would take too long. Defaults to running - consistency checks on all repositories configured in the location section. + Paths to a subset of the repositories in the location + section on which to run consistency checks. Handy in case + some of your repositories are very large, and so running + consistency checks on them would take too long. Defaults to + running consistency checks on all repositories configured in + the location section. example: - user@backupserver:sourcehostname.borg check_last: type: int - desc: Restrict the number of checked archives to the last n. Applies only to the - "archives" check. Defaults to checking all archives. + desc: | + Restrict the number of checked archives to the last n. + Applies only to the "archives" check. Defaults to checking + all archives. example: 3 prefix: type: str desc: | - When performing the "archives" check, only consider archive names starting with - this prefix. Borg placeholders can be used. See the output of - "borg help placeholders" for details. Defaults to "{hostname}-". Use an empty - value to disable the default. + When performing the "archives" check, only consider archive + names starting with this prefix. Borg placeholders can be + used. See the output of "borg help placeholders" for + details. Defaults to "{hostname}-". Use an empty value to + disable the default. example: sourcehostname output: desc: | @@ -381,72 +437,73 @@ map: color: type: bool desc: | - Apply color to console output. Can be overridden with --no-color command-line - flag. Defaults to true. + Apply color to console output. Can be overridden with + --no-color command-line flag. Defaults to true. example: false hooks: desc: | - Shell commands, scripts, or integrations to execute at various points during a borgmatic - run. IMPORTANT: All provided commands and scripts are executed with user permissions of - borgmatic. Do not forget to set secure permissions on this configuration file (chmod - 0600) as well as on any script called from a hook (chmod 0700) to prevent potential - shell injection or privilege escalation. + Shell commands, scripts, or integrations to execute at various + points during a borgmatic run. IMPORTANT: All provided commands and + scripts are executed with user permissions of borgmatic. Do not + forget to set secure permissions on this configuration file (chmod + 0600) as well as on any script called from a hook (chmod 0700) to + prevent potential shell injection or privilege escalation. map: before_backup: seq: - type: str desc: | - List of one or more shell commands or scripts to execute before creating a - backup, run once per configuration file. + List of one or more shell commands or scripts to execute + before creating a backup, run once per configuration file. example: - echo "Starting a backup." before_prune: seq: - type: str desc: | - List of one or more shell commands or scripts to execute before pruning, run - once per configuration file. + List of one or more shell commands or scripts to execute + before pruning, run once per configuration file. example: - echo "Starting pruning." before_check: seq: - type: str desc: | - List of one or more shell commands or scripts to execute before consistency - checks, run once per configuration file. + List of one or more shell commands or scripts to execute + before consistency checks, run once per configuration file. example: - echo "Starting checks." after_backup: seq: - type: str desc: | - List of one or more shell commands or scripts to execute after creating a - backup, run once per configuration file. + List of one or more shell commands or scripts to execute + after creating a backup, run once per configuration file. example: - echo "Finished a backup." after_prune: seq: - type: str desc: | - List of one or more shell commands or scripts to execute after pruning, run once - per configuration file. + List of one or more shell commands or scripts to execute + after pruning, run once per configuration file. example: - echo "Finished pruning." after_check: seq: - type: str desc: | - List of one or more shell commands or scripts to execute after consistency - checks, run once per configuration file. + List of one or more shell commands or scripts to execute + after consistency checks, run once per configuration file. example: - echo "Finished checks." on_error: seq: - type: str desc: | - List of one or more shell commands or scripts to execute when an exception - occurs during a "prune", "create", or "check" action or an associated - before/after hook. + List of one or more shell commands or scripts to execute + when an exception occurs during a "prune", "create", or + "check" action or an associated before/after hook. example: - echo "Error during prune/create/check." postgresql_databases: @@ -456,16 +513,17 @@ map: required: true type: str desc: | - Database name (required if using this hook). Or "all" to dump all - databases on the host. Note that using this database hook implicitly - enables both read_special and one_file_system (see above) to support - dump and restore streaming. + Database name (required if using this hook). Or + "all" to dump all databases on the host. Note + that using this database hook implicitly enables + both read_special and one_file_system (see + above) to support dump and restore streaming. example: users hostname: type: str desc: | - Database hostname to connect to. Defaults to connecting via local - Unix socket. + Database hostname to connect to. Defaults to + connecting via local Unix socket. example: database.example.org port: type: int @@ -474,39 +532,46 @@ map: username: type: str desc: | - Username with which to connect to the database. Defaults to the - username of the current user. You probably want to specify the - "postgres" superuser here when the database name is "all". + Username with which to connect to the database. + Defaults to the username of the current user. + You probably want to specify the "postgres" + superuser here when the database name is "all". example: dbuser password: type: str desc: | - Password with which to connect to the database. Omitting a password - will only work if PostgreSQL is configured to trust the configured - username without a password, or you create a ~/.pgpass file. + Password with which to connect to the database. + Omitting a password will only work if PostgreSQL + is configured to trust the configured username + without a password, or you create a ~/.pgpass + file. example: trustsome1 format: type: str enum: ['plain', 'custom', 'directory', 'tar'] desc: | - Database dump output format. One of "plain", "custom", "directory", - or "tar". Defaults to "custom" (unlike raw pg_dump). See - https://www.postgresql.org/docs/current/app-pgdump.html for details. - Note that format is ignored when the database name is "all". + Database dump output format. One of "plain", + "custom", "directory", or "tar". Defaults to + "custom" (unlike raw pg_dump). See pg_dump + documentation for details. Note that format is + ignored when the database name is "all". example: directory options: type: str desc: | - Additional pg_dump/pg_dumpall options to pass directly to the dump - command, without performing any validation on them. See - https://www.postgresql.org/docs/current/app-pgdump.html for details. + Additional pg_dump/pg_dumpall options to pass + directly to the dump command, without performing + any validation on them. See pg_dump + documentation for details. example: --role=someone desc: | - List of one or more PostgreSQL databases to dump before creating a backup, - run once per configuration file. The database dumps are added to your source - directories at runtime, backed up, and then removed afterwards. Requires + List of one or more PostgreSQL databases to dump before + creating a backup, run once per configuration file. The + database dumps are added to your source directories at + runtime, backed up, and removed afterwards. Requires pg_dump/pg_dumpall/pg_restore commands. See - https://www.postgresql.org/docs/current/app-pgdump.html for details. + https://www.postgresql.org/docs/current/app-pgdump.html for + details. mysql_databases: seq: - map: @@ -514,16 +579,17 @@ map: required: true type: str desc: | - Database name (required if using this hook). Or "all" to dump all - databases on the host. Note that using this database hook implicitly - enables both read_special and one_file_system (see above) to support - dump and restore streaming. + Database name (required if using this hook). Or + "all" to dump all databases on the host. Note + that using this database hook implicitly enables + both read_special and one_file_system (see + above) to support dump and restore streaming. example: users hostname: type: str desc: | - Database hostname to connect to. Defaults to connecting via local - Unix socket. + Database hostname to connect to. Defaults to + connecting via local Unix socket. example: database.example.org port: type: int @@ -532,87 +598,92 @@ map: username: type: str desc: | - Username with which to connect to the database. Defaults to the - username of the current user. + Username with which to connect to the database. + Defaults to the username of the current user. example: dbuser password: type: str desc: | - Password with which to connect to the database. Omitting a password - will only work if MySQL is configured to trust the configured - username without a password. + Password with which to connect to the database. + Omitting a password will only work if MySQL is + configured to trust the configured username + without a password. example: trustsome1 options: type: str desc: | - Additional mysqldump options to pass directly to the dump command, - without performing any validation on them. See - https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html or - https://mariadb.com/kb/en/library/mysqldump/ for details. + Additional mysqldump options to pass directly to + the dump command, without performing any + validation on them. See mysqldump documentation + for details. example: --skip-comments desc: | - List of one or more MySQL/MariaDB databases to dump before creating a backup, - run once per configuration file. The database dumps are added to your source - directories at runtime, backed up, and then removed afterwards. Requires + List of one or more MySQL/MariaDB databases to dump before + creating a backup, run once per configuration file. The + database dumps are added to your source directories at + runtime, backed up, and removed afterwards. Requires mysqldump/mysql commands (from either MySQL or MariaDB). See https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html or https://mariadb.com/kb/en/library/mysqldump/ for details. healthchecks: type: str desc: | - Healthchecks ping URL or UUID to notify when a backup begins, ends, or errors. - Create an account at https://healthchecks.io if you'd like to use this service. - See - https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#healthchecks-hook - for details. + Healthchecks ping URL or UUID to notify when a backup + begins, ends, or errors. Create an account at + https://healthchecks.io if you'd like to use this service. + See borgmatic monitoring documentation for details. example: https://hc-ping.com/your-uuid-here cronitor: type: str desc: | - Cronitor ping URL to notify when a backup begins, ends, or errors. Create an - account at https://cronitor.io if you'd like to use this service. See - https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronitor-hook - for details. + Cronitor ping URL to notify when a backup begins, ends, or + errors. Create an account at https://cronitor.io if you'd + like to use this service. See borgmatic monitoring + documentation for details. example: https://cronitor.link/d3x0c1 pagerduty: type: str desc: | - PagerDuty integration key used to notify PagerDuty when a backup errors. Create - an account at https://www.pagerduty.com/ if you'd like to use this service. See - https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pagerduty-hook - for details. + PagerDuty integration key used to notify PagerDuty when a + backup errors. Create an account at + https://www.pagerduty.com/ if you'd like to use this + service. See borgmatic monitoring documentation for details. example: a177cad45bd374409f78906a810a3074 cronhub: type: str desc: | - Cronhub ping URL to notify when a backup begins, ends, or errors. Create an - account at https://cronhub.io if you'd like to use this service. See - https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronhub-hook for - details. + Cronhub ping URL to notify when a backup begins, ends, or + errors. Create an account at https://cronhub.io if you'd + like to use this service. See borgmatic monitoring + documentation for details. example: - https://cronhub.io/start/1f5e3410-254c-11e8-b61d-55875966d031 + https://cronhub.io/start/1f5e3410-254c-11e8-b61d-55875966d01 before_everything: seq: - type: str desc: | - List of one or more shell commands or scripts to execute before running all - actions (if one of them is "create"). These are collected from all configuration - files and then run once before all of them (prior to all actions). + List of one or more shell commands or scripts to execute + before running all actions (if one of them is "create"). + These are collected from all configuration files and then + run once before all of them (prior to all actions). example: - echo "Starting actions." after_everything: seq: - type: str desc: | - List of one or more shell commands or scripts to execute after running all - actions (if one of them is "create"). These are collected from all configuration - files and then run once before all of them (prior to all actions). + List of one or more shell commands or scripts to execute + after running all actions (if one of them is "create"). + These are collected from all configuration files and then + run once before all of them (prior to all actions). example: - echo "Completed actions." umask: type: scalar - desc: Umask used when executing hooks. Defaults to the umask that borgmatic is run with. + desc: | + Umask used when executing hooks. Defaults to the umask that + borgmatic is run with. example: 0077 diff --git a/tests/integration/config/test_schema.py b/tests/integration/config/test_schema.py new file mode 100644 index 00000000..7300779f --- /dev/null +++ b/tests/integration/config/test_schema.py @@ -0,0 +1,8 @@ +MAXIMUM_LINE_LENGTH = 80 + + +def test_schema_line_length_stays_under_limit(): + schema_file = open('borgmatic/config/schema.yaml') + + for line in schema_file.readlines(): + assert len(line.rstrip('\n')) <= MAXIMUM_LINE_LENGTH