123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679 |
- type: object
- required:
- - repositories
- additionalProperties: false
- properties:
- constants:
- type: object
- description: |
- Constants to use in the configuration file. Within option values,
- all occurrences of the constant name in curly braces will be
- replaced with the constant value. For example, if you have a
- constant named "app_name" with the value "myapp", then the string
- "{app_name}" will be replaced with "myapp" in the configuration
- file.
- example:
- app_name: myapp
- user: myuser
- source_directories:
- type: array
- items:
- type: string
- description: |
- List of source directories and files to back up. Globs and tildes
- are expanded. Do not backslash spaces in path names.
- example:
- - /home
- - /etc
- - /var/log/syslog*
- - /home/user/path with spaces
- repositories:
- type: array
- items:
- type: object
- required:
- - path
- properties:
- path:
- type: string
- example: ssh://user@backupserver/./{fqdn}
- label:
- type: string
- example: backupserver
- description: |
- A required list of local or remote repositories with paths and
- optional labels (which can be used with the --repository flag to
- select a repository). Tildes are expanded. Multiple repositories are
- backed up to in sequence. Borg placeholders can be used. See the
- output of "borg help placeholders" for details. See ssh_command for
- SSH options like identity file or port. If systemd service is used,
- then add local repository paths in the systemd service file to the
- ReadWritePaths list. Prior to borgmatic 1.7.10, repositories was a
- list of plain path strings.
- example:
- - path: ssh://user@backupserver/./sourcehostname.borg
- label: backupserver
- - path: /mnt/backup
- label: local
- working_directory:
- type: string
- description: |
- Working directory to use when running actions, useful for backing up
- using relative source directory paths. Does not currently apply to
- borgmatic configuration file paths or includes. Tildes are expanded.
- See http://borgbackup.readthedocs.io/en/stable/usage/create.html for
- details. Defaults to not set.
- example: /path/to/working/directory
- one_file_system:
- type: boolean
- description: |
- Stay in same file system; do not cross mount points beyond the given
- source directories. Defaults to false.
- example: true
- numeric_ids:
- type: boolean
- description: |
- Only store/extract numeric user and group identifiers. Defaults to
- false.
- example: true
- atime:
- type: boolean
- description: |
- Store atime into archive. Defaults to true in Borg < 1.2, false in
- Borg 1.2+.
- example: false
- ctime:
- type: boolean
- description: Store ctime into archive. Defaults to true.
- example: false
- birthtime:
- type: boolean
- description: |
- Store birthtime (creation date) into archive. Defaults to true.
- example: false
- read_special:
- type: boolean
- description: |
- 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
- flags:
- type: boolean
- description: |
- Record filesystem flags (e.g. NODUMP, IMMUTABLE) in archive.
- Defaults to true.
- example: true
- files_cache:
- type: string
- description: |
- Mode in which to operate the files cache. See
- http://borgbackup.readthedocs.io/en/stable/usage/create.html for
- details. Defaults to "ctime,size,inode".
- example: ctime,size,inode
- local_path:
- type: string
- description: |
- Alternate Borg local executable. Defaults to "borg".
- example: borg1
- remote_path:
- type: string
- description: |
- Alternate Borg remote executable. Defaults to "borg".
- example: borg1
- patterns:
- type: array
- items:
- type: string
- description: |
- Any paths matching these patterns are included/excluded from
- backups. Globs are expanded. (Tildes are not.) See the output of
- "borg help patterns" for more details. Quote any value if it
- contains leading punctuation, so it parses correctly.
- example:
- - 'R /'
- - '- /home/*/.cache'
- - '+ /home/susan'
- - '- /home/*'
- patterns_from:
- type: array
- items:
- type: string
- description: |
- Read include/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/patterns
- exclude_patterns:
- type: array
- items:
- type: string
- description: |
- Any paths matching these patterns are excluded from backups. Globs
- and tildes are expanded. Note that a glob pattern must either start
- with a glob or be an absolute path. Do not backslash spaces in path
- names. See the output of "borg help patterns" for more details.
- example:
- - '*.pyc'
- - /home/*/.cache
- - '*/.vim*.tmp'
- - /etc/ssl
- - /home/user/path with spaces
- exclude_from:
- type: array
- items:
- type: string
- description: |
- 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: boolean
- description: |
- Exclude directories that contain a CACHEDIR.TAG file. See
- http://www.brynosaurus.com/cachedir/spec.html for details. Defaults
- to false.
- example: true
- exclude_if_present:
- type: array
- items:
- type: string
- description: |
- Exclude directories that contain a file with the given filenames.
- Defaults to not set.
- example:
- - .nobackup
- keep_exclude_tags:
- type: boolean
- description: |
- 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: boolean
- description: |
- Exclude files with the NODUMP flag. Defaults to false.
- example: true
- borgmatic_source_directory:
- type: string
- description: |
- Deprecated. Only used for locating database dumps and bootstrap
- metadata within backup archives created prior to deprecation.
- Replaced by user_runtime_directory and user_state_directory.
- Defaults to ~/.borgmatic
- example: /tmp/borgmatic
- user_runtime_directory:
- type: string
- description: |
- Path for storing temporary runtime data like streaming database
- dumps and bootstrap metadata. borgmatic automatically creates and
- uses a "borgmatic" subdirectory here. Defaults to $XDG_RUNTIME_DIR
- or or $TMPDIR or $TEMP or /run/user/$UID.
- example: /run/user/1001
- user_state_directory:
- type: string
- description: |
- Path for storing borgmatic state files like records of when checks
- last ran. borgmatic automatically creates and uses a "borgmatic"
- subdirectory here. If you change this option, borgmatic must
- create the check records again (and therefore re-run checks).
- Defaults to $XDG_STATE_HOME or ~/.local/state.
- example: /var/lib/borgmatic
- source_directories_must_exist:
- type: boolean
- description: |
- If true, then source directories (and root pattern paths) must
- exist. If they don't, an error is raised. Defaults to false.
- example: true
- encryption_passcommand:
- type: string
- description: |
- The standard output of this command is used to unlock the encryption
- key. Only use on repositories that were initialized with
- passcommand/repokey/keyfile encryption. Note that if both
- encryption_passcommand and encryption_passphrase are set, then
- encryption_passphrase takes precedence. This can also be used to
- access encrypted systemd service credentials. Defaults to not set.
- For more details, see:
- https://torsion.org/borgmatic/docs/how-to/provide-your-passwords/
- example: "secret-tool lookup borg-repository repo-name"
- encryption_passphrase:
- type: string
- description: |
- Passphrase to unlock the encryption key with. Only use on
- repositories that were initialized with passphrase/repokey/keyfile
- 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. Supports the "{credential ...}" syntax.
- example: "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
- checkpoint_interval:
- type: integer
- description: |
- 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
- checkpoint_volume:
- type: integer
- description: |
- Number of backed up bytes between each checkpoint during a
- long-running backup. Only supported with Borg 2+. See
- https://borgbackup.readthedocs.io/en/stable/faq.html for details.
- Defaults to only time-based checkpointing (see
- "checkpoint_interval") instead of volume-based checkpointing.
- example: 1048576
- chunker_params:
- type: string
- description: |
- Specify the parameters passed to the 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: string
- description: |
- Type of compression to use when creating archives. (Compression
- level can be added separated with a comma, like "zstd,7".) See
- http://borgbackup.readthedocs.io/en/stable/usage/create.html for
- details. Defaults to "lz4".
- example: lz4
- upload_rate_limit:
- type: integer
- description: |
- Remote network upload rate limit in kiBytes/second. Defaults to
- unlimited.
- example: 100
- upload_buffer_size:
- type: integer
- description: |
- Size of network upload buffer in MiB. Defaults to no buffer.
- example: 160
- retries:
- type: integer
- description: |
- Number of times to retry a failing backup before giving up. Defaults
- to 0 (i.e., does not attempt retry).
- example: 3
- retry_wait:
- type: integer
- description: |
- Wait time between retries (in seconds) to allow transient issues
- to pass. Increases after each retry by that same wait time as a
- form of backoff. Defaults to 0 (no wait).
- example: 10
- temporary_directory:
- type: string
- description: |
- Directory where temporary Borg files are stored. Defaults to
- $TMPDIR. See "Resource Usage" at
- https://borgbackup.readthedocs.io/en/stable/usage/general.html for
- details.
- example: /path/to/tmpdir
- ssh_command:
- type: string
- description: |
- 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: string
- description: |
- Base path used for various Borg directories. Defaults to $HOME,
- ~$USER, or ~.
- example: /path/to/base
- borg_config_directory:
- type: string
- description: |
- Path for Borg configuration files. Defaults to
- $borg_base_directory/.config/borg
- example: /path/to/base/config
- borg_cache_directory:
- type: string
- description: |
- Path for Borg cache files. Defaults to
- $borg_base_directory/.cache/borg
- example: /path/to/base/cache
- borg_files_cache_ttl:
- type: integer
- description: |
- Maximum time to live (ttl) for entries in the Borg files cache.
- example: 20
- borg_security_directory:
- type: string
- description: |
- 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: string
- description: |
- Path for Borg encryption key files. Defaults to
- $borg_base_directory/.config/borg/keys
- example: /path/to/base/config/keys
- borg_exit_codes:
- type: array
- items:
- type: object
- required: ['code', 'treat_as']
- additionalProperties: false
- properties:
- code:
- type: integer
- not: {enum: [0]}
- description: |
- The exit code for an existing Borg warning or error.
- example: 100
- treat_as:
- type: string
- enum: ['error', 'warning']
- description: |
- Whether to consider the exit code as an error or as a
- warning in borgmatic.
- example: error
- description: |
- A list of Borg exit codes that should be elevated to errors or
- squashed to warnings as indicated. By default, Borg error exit codes
- (2 to 99) are treated as errors while warning exit codes (1 and
- 100+) are treated as warnings. Exit codes other than 1 and 2 are
- only present in Borg 1.4.0+.
- example:
- - code: 13
- treat_as: warning
- - code: 100
- treat_as: error
- umask:
- type: integer
- description: |
- Umask used for when executing Borg or calling hooks. Defaults to
- 0077 for Borg or the umask that borgmatic is run with for hooks.
- example: 0077
- lock_wait:
- type: integer
- description: |
- Maximum seconds to wait for acquiring a repository/cache lock.
- Defaults to 1.
- example: 5
- archive_name_format:
- type: string
- description: |
- Name of the archive to create. 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}" with Borg 1 and
- "{hostname}" with Borg 2, as Borg 2 does not require unique
- archive names; identical archive names form a common "series" that
- can be targeted together. When running actions like repo-list,
- info, or check, borgmatic automatically tries to match only
- archives created with this name format.
- example: "{hostname}-documents-{now}"
- match_archives:
- type: string
- description: |
- A Borg pattern for filtering down the archives used by borgmatic
- actions that operate on multiple archives. For Borg 1.x, use a shell
- pattern here and see the output of "borg help placeholders" for
- details. For Borg 2.x, see the output of "borg help match-archives".
- If match_archives is not specified, borgmatic defaults to deriving
- the match_archives value from archive_name_format.
- example: "sh:{hostname}-*"
- relocated_repo_access_is_ok:
- type: boolean
- description: |
- Bypass Borg error about a repository that has been moved. Defaults
- to not bypassing.
- example: true
- unknown_unencrypted_repo_access_is_ok:
- type: boolean
- description: |
- Bypass Borg error about a previously unknown unencrypted repository.
- Defaults to not bypassing.
- example: true
- check_i_know_what_i_am_doing:
- type: boolean
- description: |
- Bypass Borg confirmation about check with repair option. Defaults to
- an interactive prompt from Borg.
- example: true
- extra_borg_options:
- type: object
- additionalProperties: false
- properties:
- init:
- type: string
- description: |
- Extra command-line options to pass to "borg init".
- example: "--extra-option"
- create:
- type: string
- description: |
- Extra command-line options to pass to "borg create".
- example: "--extra-option"
- prune:
- type: string
- description: |
- Extra command-line options to pass to "borg prune".
- example: "--extra-option"
- compact:
- type: string
- description: |
- Extra command-line options to pass to "borg compact".
- example: "--extra-option"
- check:
- type: string
- description: |
- Extra command-line options to pass to "borg check".
- example: "--extra-option"
- description: |
- 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.
- keep_within:
- type: string
- description: |
- Keep all archives within this time interval. See "skip_actions" for
- disabling pruning altogether.
- example: 3H
- keep_secondly:
- type: integer
- description: Number of secondly archives to keep.
- example: 60
- keep_minutely:
- type: integer
- description: Number of minutely archives to keep.
- example: 60
- keep_hourly:
- type: integer
- description: Number of hourly archives to keep.
- example: 24
- keep_daily:
- type: integer
- description: Number of daily archives to keep.
- example: 7
- keep_weekly:
- type: integer
- description: Number of weekly archives to keep.
- example: 4
- keep_monthly:
- type: integer
- description: Number of monthly archives to keep.
- example: 6
- keep_yearly:
- type: integer
- description: Number of yearly archives to keep.
- example: 1
- prefix:
- type: string
- description: |
- Deprecated. When pruning or checking archives, only consider archive
- names starting with this prefix. Borg placeholders can be used. See
- the output of "borg help placeholders" for details. If a prefix is
- not specified, borgmatic defaults to matching archives based on the
- archive_name_format (see above).
- example: sourcehostname
- checks:
- type: array
- items:
- type: object
- oneOf:
- - required: [name]
- additionalProperties: false
- properties:
- name:
- type: string
- enum:
- - archives
- - data
- - extract
- - disabled
- description: |
- Name of the consistency check to run:
- * "repository" checks the consistency of the
- repository.
- * "archives" checks all of the archives.
- * "data" verifies the integrity of the data
- within the archives and implies the "archives"
- check as well.
- * "spot" checks that some percentage of source
- files are found in the most recent archive (with
- identical contents).
- * "extract" does an extraction dry-run of the
- most recent archive.
- * See "skip_actions" for disabling checks
- altogether.
- example: spot
- frequency:
- type: string
- description: |
- How frequently to run this type of consistency
- check (as a best effort). The value is a number
- followed by a unit of time. E.g., "2 weeks" to
- run this consistency check no more than every
- two weeks for a given repository or "1 month" to
- run it no more than monthly. Defaults to
- "always": running this check every time checks
- are run.
- example: 2 weeks
- only_run_on:
- type: array
- items:
- type: string
- description: |
- After the "frequency" duration has elapsed, only
- run this check if the current day of the week
- matches one of these values (the name of a day of
- the week in the current locale). "weekday" and
- "weekend" are also accepted. Defaults to running
- the check on any day of the week.
- example:
- - Saturday
- - Sunday
- - required: [name]
- additionalProperties: false
- properties:
- name:
- type: string
- enum:
- - repository
- description: |
- Name of the consistency check to run:
- * "repository" checks the consistency of the
- repository.
- * "archives" checks all of the archives.
- * "data" verifies the integrity of the data
- within the archives and implies the "archives"
- check as well.
- * "spot" checks that some percentage of source
- files are found in the most recent archive (with
- identical contents).
- * "extract" does an extraction dry-run of the
- most recent archive.
- * See "skip_actions" for disabling checks
- altogether.
- example: spot
- frequency:
- type: string
- description: |
- How frequently to run this type of consistency
- check (as a best effort). The value is a number
- followed by a unit of time. E.g., "2 weeks" to
- run this consistency check no more than every
- two weeks for a given repository or "1 month" to
- run it no more than monthly. Defaults to
- "always": running this check every time checks
- are run.
- example: 2 weeks
- only_run_on:
- type: array
- items:
- type: string
- description: |
- After the "frequency" duration has elapsed, only
- run this check if the current day of the week
- matches one of these values (the name of a day of
- the week in the current locale). "weekday" and
- "weekend" are also accepted. Defaults to running
- the check on any day of the week.
- example:
- - Saturday
- - Sunday
- max_duration:
- type: integer
- description: |
- How many seconds to check the repository before
- interrupting the check. Useful for splitting a
- long-running repository check into multiple
- partial checks. Defaults to no interruption. Only
- applies to the "repository" check, does not check
- the repository index and is not compatible with
- the "--repair" flag.
- example: 3600
- - required:
- - name
- - count_tolerance_percentage
- - data_sample_percentage
- - data_tolerance_percentage
- additionalProperties: false
- properties:
- name:
- type: string
- enum:
- - spot
- description: |
- Name of the consistency check to run:
- * "repository" checks the consistency of the
- repository.
- * "archives" checks all of the archives.
- * "data" verifies the integrity of the data
- within the archives and implies the "archives"
- check as well.
- * "spot" checks that some percentage of source
- files are found in the most recent archive (with
- identical contents).
- * "extract" does an extraction dry-run of the
- most recent archive.
- * See "skip_actions" for disabling checks
- altogether.
- example: repository
- frequency:
- type: string
- description: |
- How frequently to run this type of consistency
- check (as a best effort). The value is a number
- followed by a unit of time. E.g., "2 weeks" to
- run this consistency check no more than every
- two weeks for a given repository or "1 month" to
- run it no more than monthly. Defaults to
- "always": running this check every time checks
- are run.
- example: 2 weeks
- only_run_on:
- type: array
- items:
- type: string
- description: |
- After the "frequency" duration has elapsed, only
- run this check if the current day of the week
- matches one of these values (the name of a day of
- the week in the current locale). "weekday" and
- "weekend" are also accepted. Defaults to running
- the check on any day of the week.
- example:
- - Saturday
- - Sunday
- count_tolerance_percentage:
- type: number
- description: |
- The percentage delta between the source
- directories file count and the most recent backup
- archive file count that is allowed before the
- entire consistency check fails. This can catch
- problems like incorrect excludes, inadvertent
- deletes, etc. Required (and only valid) for the
- "spot" check.
- example: 10
- data_sample_percentage:
- type: number
- description: |
- The percentage of total files in the source
- directories to randomly sample and compare to
- their corresponding files in the most recent
- backup archive. Required (and only valid) for the
- "spot" check.
- example: 1
- data_tolerance_percentage:
- type: number
- description: |
- The percentage of total files in the source
- directories that can fail a spot check comparison
- without failing the entire consistency check. This
- can catch problems like source files that have
- been bulk-changed by malware, backups that have
- been tampered with, etc. The value must be lower
- than or equal to the "contents_sample_percentage".
- Required (and only valid) for the "spot" check.
- example: 0.5
- xxh64sum_command:
- type: string
- description: |
- Command to use instead of "xxh64sum" to hash
- source files, usually found in an OS package named
- "xxhash". Do not substitute with a different hash
- type (SHA, MD5, etc.) or the check will never
- succeed. Only valid for the "spot" check.
- example: /usr/local/bin/xxh64sum
- description: |
- List of one or more consistency checks to run on a periodic basis
- (if "frequency" is set) or every time borgmatic runs checks (if
- "frequency" is omitted).
- check_repositories:
- type: array
- items:
- type: string
- description: |
- Paths or labels for a subset of the configured "repositories" (see
- above) 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 configured repositories.
- example:
- - user@backupserver:sourcehostname.borg
- check_last:
- type: integer
- description: |
- Restrict the number of checked archives to the last n. Applies only
- to the "archives" check. Defaults to checking all archives.
- example: 3
- color:
- type: boolean
- description: |
- Apply color to console output. Can be overridden with --no-color
- command-line flag. Defaults to true.
- example: false
- skip_actions:
- type: array
- items:
- type: string
- enum:
- - repo-create
- - transfer
- - prune
- - compact
- - create
- - check
- - delete
- - extract
- - config
- - export-tar
- - mount
- - umount
- - repo-delete
- - restore
- - repo-list
- - list
- - repo-info
- - info
- - break-lock
- - key
- - borg
- description: |
- List of one or more actions to skip running for this configuration
- file, even if specified on the command-line (explicitly or
- implicitly). This is handy for append-only configurations where you
- never want to run "compact" or checkless configuration where you
- want to skip "check". Defaults to not skipping any actions.
- example:
- - compact
- before_actions:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before all the actions for each
- repository.
- example:
- - "echo Starting actions."
- before_backup:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before creating a backup, run once
- per repository.
- example:
- - "echo Starting a backup."
- before_prune:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before pruning, run once per
- repository.
- example:
- - "echo Starting pruning."
- before_compact:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before compaction, run once per
- repository.
- example:
- - "echo Starting compaction."
- before_check:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before consistency checks, run once
- per repository.
- example:
- - "echo Starting checks."
- before_extract:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute before extracting a backup, run once
- per repository.
- example:
- - "echo Starting extracting."
- after_backup:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after creating a backup, run once per
- repository.
- example:
- - "echo Finished a backup."
- after_compact:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after compaction, run once per
- repository.
- example:
- - "echo Finished compaction."
- after_prune:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after pruning, run once per
- repository.
- example:
- - "echo Finished pruning."
- after_check:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after consistency checks, run once
- per repository.
- example:
- - "echo Finished checks."
- after_extract:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after extracting a backup, run once
- per repository.
- example:
- - "echo Finished extracting."
- after_actions:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute after all actions for each
- repository.
- example:
- - "echo Finished actions."
- on_error:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. List of one or more shell
- commands or scripts to execute when an exception occurs during a
- "create", "prune", "compact", or "check" action or an associated
- before/after hook.
- example:
- - "echo Error during create/prune/compact/check."
- before_everything:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. 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:
- type: array
- items:
- type: string
- description: |
- Deprecated. Use "commands:" instead. 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 after all of them (after any action).
- example:
- - "echo Completed actions."
- commands:
- type: array
- items:
- type: object
- oneOf:
- - required: [before, run]
- additionalProperties: false
- properties:
- before:
- type: string
- enum:
- - action
- - repository
- - configuration
- - everything
- description: |
- Name for the point in borgmatic's execution that
- the commands should be run before (required if
- "after" isn't set):
- * "action" runs before each action for each
- repository.
- * "repository" runs before all actions for each
- repository.
- * "configuration" runs before all actions and
- repositories in the current configuration file.
- * "everything" runs before all configuration
- files.
- example: action
- when:
- type: array
- items:
- type: string
- enum:
- - repo-create
- - transfer
- - prune
- - compact
- - create
- - check
- - delete
- - extract
- - config
- - export-tar
- - mount
- - umount
- - repo-delete
- - restore
- - repo-list
- - list
- - repo-info
- - info
- - break-lock
- - key
- - borg
- description: |
- List of actions for which the commands will be
- run. Defaults to running for all actions.
- example: [create, prune, compact, check]
- run:
- type: array
- items:
- type: string
- description: |
- List of one or more shell commands or scripts to
- run when this command hook is triggered. Required.
- example:
- - "echo Doing stuff."
- - required: [after, run]
- additionalProperties: false
- properties:
- after:
- type: string
- enum:
- - action
- - repository
- - configuration
- - everything
- - error
- description: |
- Name for the point in borgmatic's execution that
- the commands should be run after (required if
- "before" isn't set):
- * "action" runs after each action for each
- repository.
- * "repository" runs after all actions for each
- repository.
- * "configuration" runs after all actions and
- repositories in the current configuration file.
- * "everything" runs after all configuration
- files.
- * "error" runs after an error occurs.
- example: action
- when:
- type: array
- items:
- type: string
- enum:
- - repo-create
- - transfer
- - prune
- - compact
- - create
- - check
- - delete
- - extract
- - config
- - export-tar
- - mount
- - umount
- - repo-delete
- - restore
- - repo-list
- - list
- - repo-info
- - info
- - break-lock
- - key
- - borg
- description: |
- Only trigger the hook when borgmatic is run with
- particular actions listed here. Defaults to
- running for all actions.
- example: [create, prune, compact, check]
- run:
- type: array
- items:
- type: string
- description: |
- List of one or more shell commands or scripts to
- run when this command hook is triggered. Required.
- example:
- - "echo Doing stuff."
- description: |
- List of one or more command hooks to execute, triggered at
- particular points during borgmatic's execution. For each command
- hook, specify one of "before" or "after", not both.
- bootstrap:
- type: object
- properties:
- store_config_files:
- type: boolean
- description: |
- Store configuration files used to create a backup inside the
- backup itself. Defaults to true. Changing this to false
- prevents "borgmatic bootstrap" from extracting configuration
- files from the backup.
- example: false
- description: |
- Support for the "borgmatic bootstrap" action, used to extract
- borgmatic configuration files from a backup archive.
- postgresql_databases:
- type: array
- items:
- type: object
- required: ['name']
- additionalProperties: false
- properties:
- name:
- type: string
- description: |
- Database name (required if using this hook). Or "all" to
- dump all databases on the host. (Also set the "format"
- to dump each database to a separate file instead of one
- combined file.) Note that using this database hook
- implicitly enables read_special (see above) to support
- dump and restore streaming.
- example: users
- hostname:
- type: string
- description: |
- Database hostname to connect to. Defaults to connecting
- via local Unix socket.
- example: database.example.org
- restore_hostname:
- type: string
- description: |
- Database hostname to restore to. Defaults to the
- "hostname" option.
- example: database.example.org
- port:
- type: integer
- description: Port to connect to. Defaults to 5432.
- example: 5433
- restore_port:
- type: integer
- description: |
- Port to restore to. Defaults to the "port" option.
- example: 5433
- username:
- type: string
- description: |
- 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". Supports the "{credential ...}"
- syntax.
- example: dbuser
- restore_username:
- type: string
- description: |
- Username with which to restore the database. Defaults to
- the "username" option. Supports the "{credential ...}"
- syntax.
- example: dbuser
- password:
- type: string
- description: |
- 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. Supports the "{credential ...}"
- syntax.
- example: trustsome1
- restore_password:
- type: string
- description: |
- Password with which to connect to the restore database.
- Defaults to the "password" option. Supports the
- "{credential ...}" syntax.
- example: trustsome1
- no_owner:
- type: boolean
- description: |
- Do not output commands to set ownership of objects to
- match the original database. By default, pg_dump and
- pg_restore issue ALTER OWNER or SET SESSION
- AUTHORIZATION statements to set ownership of created
- schema elements. These statements will fail unless the
- initial connection to the database is made by a
- superuser.
- example: true
- format:
- type: string
- enum: ['plain', 'custom', 'directory', 'tar']
- description: |
- Database dump output format. One of "plain", "custom",
- "directory", or "tar". Defaults to "custom" (unlike raw
- pg_dump) for a single database. Or, when database name
- is "all" and format is blank, dumps all databases to a
- single file. But if a format is specified with an "all"
- database name, dumps each database to a separate file of
- that format, allowing more convenient restores of
- individual databases. See the pg_dump documentation for
- more about formats.
- example: directory
- compression:
- type: ["string", "integer"]
- description: |
- Database dump compression level (integer) or method
- ("gzip", "lz4", "zstd", or "none") and optional
- colon-separated detail. Defaults to moderate "gzip" for
- "custom" and "directory" formats and no compression for
- the "plain" format. Compression is not supported for the
- "tar" format. Be aware that Borg does its own
- compression as well, so you may not need it in both
- places.
- example: none
- ssl_mode:
- type: string
- enum: ['disable', 'allow', 'prefer',
- 'require', 'verify-ca', 'verify-full']
- description: |
- SSL mode to use to connect to the database server. One
- of "disable", "allow", "prefer", "require", "verify-ca"
- or "verify-full". Defaults to "disable".
- example: require
- ssl_cert:
- type: string
- description: |
- Path to a client certificate.
- example: "/root/.postgresql/postgresql.crt"
- ssl_key:
- type: string
- description: |
- Path to a private client key.
- example: "/root/.postgresql/postgresql.key"
- ssl_root_cert:
- type: string
- description: |
- Path to a root certificate containing a list of trusted
- certificate authorities.
- example: "/root/.postgresql/root.crt"
- ssl_crl:
- type: string
- description: |
- Path to a certificate revocation list.
- example: "/root/.postgresql/root.crl"
- pg_dump_command:
- type: string
- description: |
- Command to use instead of "pg_dump" or "pg_dumpall".
- This can be used to run a specific pg_dump version
- (e.g., one inside a running container). If you run it
- from within a container, make sure to mount the path in
- the "user_runtime_directory" option from the host into
- the container at the same location. Defaults to
- "pg_dump" for single database dump or "pg_dumpall" to
- dump all databases.
- example: docker exec my_pg_container pg_dump
- pg_restore_command:
- type: string
- description: |
- Command to use instead of "pg_restore". This can be used
- to run a specific pg_restore version (e.g., one inside a
- running container). Defaults to "pg_restore".
- example: docker exec my_pg_container pg_restore
- psql_command:
- type: string
- description: |
- Command to use instead of "psql". This can be used to
- run a specific psql version (e.g., one inside a running
- container). Defaults to "psql".
- example: docker exec my_pg_container psql
- options:
- type: string
- description: |
- 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
- list_options:
- type: string
- description: |
- Additional psql options to pass directly to the psql
- command that lists available databases, without
- performing any validation on them. See psql
- documentation for details.
- example: --role=someone
- restore_options:
- type: string
- description: |
- Additional pg_restore/psql options to pass directly to
- the restore command, without performing any validation
- on them. See pg_restore/psql documentation for details.
- example: --role=someone
- analyze_options:
- type: string
- description: |
- Additional psql options to pass directly to the analyze
- command run after a restore, without performing any
- validation on them. See psql documentation for details.
- example: --role=someone
- description: |
- 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 and streamed directly
- to Borg. Requires pg_dump/pg_dumpall/pg_restore commands. See
- https://www.postgresql.org/docs/current/app-pgdump.html and
- https://www.postgresql.org/docs/current/libpq-ssl.html for
- details.
- mariadb_databases:
- type: array
- items:
- type: object
- required: ['name']
- additionalProperties: false
- properties:
- name:
- type: string
- description: |
- Database name (required if using this hook). Or "all" to
- dump all databases on the host. Note that using this
- database hook implicitly enables read_special (see
- above) to support dump and restore streaming.
- example: users
- hostname:
- type: string
- description: |
- Database hostname to connect to. Defaults to connecting
- via local Unix socket.
- example: database.example.org
- restore_hostname:
- type: string
- description: |
- Database hostname to restore to. Defaults to the
- "hostname" option.
- example: database.example.org
- port:
- type: integer
- description: Port to connect to. Defaults to 3306.
- example: 3307
- restore_port:
- type: integer
- description: |
- Port to restore to. Defaults to the "port" option.
- example: 5433
- username:
- type: string
- description: |
- Username with which to connect to the database. Defaults
- to the username of the current user. Supports the
- "{credential ...}" syntax.
- example: dbuser
- restore_username:
- type: string
- description: |
- Username with which to restore the database. Defaults to
- the "username" option. Supports the "{credential ...}"
- syntax.
- example: dbuser
- password:
- type: string
- description: |
- Password with which to connect to the database. Omitting
- a password will only work if MariaDB is configured to
- trust the configured username without a password.
- Supports the "{credential ...}" syntax.
- example: trustsome1
- restore_password:
- type: string
- description: |
- Password with which to connect to the restore database.
- Defaults to the "password" option. Supports the
- "{credential ...}" syntax.
- example: trustsome1
- tls:
- type: boolean
- description: |
- Whether to TLS-encrypt data transmitted between the
- client and server. The default varies based on the
- MariaDB version.
- example: false
- restore_tls:
- type: boolean
- description: |
- Whether to TLS-encrypt data transmitted between the
- client and restore server. The default varies based on
- the MariaDB version.
- example: false
- mariadb_dump_command:
- type: string
- description: |
- Command to use instead of "mariadb-dump". This can be
- used to run a specific mariadb_dump version (e.g., one
- inside a running container). If you run it from within a
- container, make sure to mount the path in the
- "user_runtime_directory" option from the host into the
- container at the same location. Defaults to
- "mariadb-dump".
- example: docker exec mariadb_container mariadb-dump
- mariadb_command:
- type: string
- description: |
- Command to run instead of "mariadb". This can be used to
- run a specific mariadb version (e.g., one inside a
- running container). Defaults to "mariadb".
- example: docker exec mariadb_container mariadb
- format:
- type: string
- enum: ['sql']
- description: |
- Database dump output format. Currently only "sql" is
- supported. Defaults to "sql" for a single database. Or,
- when database name is "all" and format is blank, dumps
- all databases to a single file. But if a format is
- specified with an "all" database name, dumps each
- database to a separate file of that format, allowing
- more convenient restores of individual databases.
- example: directory
- add_drop_database:
- type: boolean
- description: |
- Use the "--add-drop-database" flag with mariadb-dump,
- causing the database to be dropped right before restore.
- Defaults to true.
- example: false
- options:
- type: string
- description: |
- Additional mariadb-dump options to pass directly to the
- dump command, without performing any validation on them.
- See mariadb-dump documentation for details.
- example: --skip-comments
- list_options:
- type: string
- description: |
- Additional options to pass directly to the mariadb
- command that lists available databases, without
- performing any validation on them. See mariadb command
- documentation for details.
- example: --defaults-extra-file=mariadb.cnf
- restore_options:
- type: string
- description: |
- Additional options to pass directly to the mariadb
- command that restores database dumps, without
- performing any validation on them. See mariadb command
- documentation for details.
- example: --defaults-extra-file=mariadb.cnf
- description: |
- List of one or more MariaDB databases to dump before creating a
- backup, run once per configuration file. The database dumps are
- added to your source directories at runtime and streamed directly
- to Borg. Requires mariadb-dump/mariadb commands. See
- https://mariadb.com/kb/en/library/mysqldump/ for details.
- mysql_databases:
- type: array
- items:
- type: object
- required: ['name']
- additionalProperties: false
- properties:
- name:
- type: string
- description: |
- Database name (required if using this hook). Or "all" to
- dump all databases on the host. Note that using this
- database hook implicitly enables read_special (see
- above) to support dump and restore streaming.
- example: users
- hostname:
- type: string
- description: |
- Database hostname to connect to. Defaults to connecting
- via local Unix socket.
- example: database.example.org
- restore_hostname:
- type: string
- description: |
- Database hostname to restore to. Defaults to the
- "hostname" option.
- example: database.example.org
- port:
- type: integer
- description: Port to connect to. Defaults to 3306.
- example: 3307
- restore_port:
- type: integer
- description: |
- Port to restore to. Defaults to the "port" option.
- example: 5433
- username:
- type: string
- description: |
- Username with which to connect to the database. Defaults
- to the username of the current user. Supports the
- "{credential ...}" syntax.
- example: dbuser
- restore_username:
- type: string
- description: |
- Username with which to restore the database. Defaults to
- the "username" option. Supports the "{credential ...}"
- syntax.
- example: dbuser
- password:
- type: string
- description: |
- 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.
- Supports the "{credential ...}" syntax.
- example: trustsome1
- restore_password:
- type: string
- description: |
- Password with which to connect to the restore database.
- Defaults to the "password" option. Supports the
- "{credential ...}" syntax.
- example: trustsome1
- tls:
- type: boolean
- description: |
- Whether to TLS-encrypt data transmitted between the
- client and server. The default varies based on the
- MySQL installation.
- example: false
- restore_tls:
- type: boolean
- description: |
- Whether to TLS-encrypt data transmitted between the
- client and restore server. The default varies based on
- the MySQL installation.
- example: false
- mysql_dump_command:
- type: string
- description: |
- Command to use instead of "mysqldump". This can be used
- to run a specific mysql_dump version (e.g., one inside a
- running container). If you run it from within a
- container, make sure to mount the path in the
- "user_runtime_directory" option from the host into the
- container at the same location. Defaults to "mysqldump".
- example: docker exec mysql_container mysqldump
- mysql_command:
- type: string
- description: |
- Command to run instead of "mysql". This can be used to
- run a specific mysql version (e.g., one inside a running
- container). Defaults to "mysql".
- example: docker exec mysql_container mysql
- format:
- type: string
- enum: ['sql']
- description: |
- Database dump output format. Currently only "sql" is
- supported. Defaults to "sql" for a single database. Or,
- when database name is "all" and format is blank, dumps
- all databases to a single file. But if a format is
- specified with an "all" database name, dumps each
- database to a separate file of that format, allowing
- more convenient restores of individual databases.
- example: directory
- add_drop_database:
- type: boolean
- description: |
- Use the "--add-drop-database" flag with mysqldump,
- causing the database to be dropped right before restore.
- Defaults to true.
- example: false
- options:
- type: string
- description: |
- Additional mysqldump options to pass directly to the
- dump command, without performing any validation on them.
- See mysqldump documentation for details.
- example: --skip-comments
- list_options:
- type: string
- description: |
- Additional options to pass directly to the mysql
- command that lists available databases, without
- performing any validation on them. See mysql command
- documentation for details.
- example: --defaults-extra-file=my.cnf
- restore_options:
- type: string
- description: |
- Additional options to pass directly to the mysql
- command that restores database dumps, without
- performing any validation on them. See mysql command
- documentation for details.
- example: --defaults-extra-file=my.cnf
- description: |
- List of one or more MySQL databases to dump before creating a
- backup, run once per configuration file. The database dumps are
- added to your source directories at runtime and streamed directly
- to Borg. Requires mysqldump/mysql commands. See
- https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html for
- details.
- sqlite_databases:
- type: array
- items:
- type: object
- required: ['path','name']
- additionalProperties: false
- properties:
- name:
- type: string
- description: |
- This is used to tag the database dump file with a name.
- It is not the path to the database file itself. The name
- "all" has no special meaning for SQLite databases.
- example: users
- path:
- type: string
- description: |
- Path to the SQLite database file to dump. If relative,
- it is relative to the current working directory. Note
- that using this database hook implicitly enables
- read_special (see above) to support dump and restore
- streaming.
- example: /var/lib/sqlite/users.db
- restore_path:
- type: string
- description: |
- Path to the SQLite database file to restore to. Defaults
- to the "path" option.
- example: /var/lib/sqlite/users.db
- sqlite_command:
- type: string
- description: |
- Command to use instead of "sqlite3". This can be used to
- run a specific sqlite3 version (e.g., one inside a
- running container). If you run it from within a
- container, make sure to mount the path in the
- "user_runtime_directory" option from the host into the
- container at the same location. Defaults to "sqlite3".
- example: docker exec sqlite_container sqlite3
- sqlite_restore_command:
- type: string
- description: |
- Command to run when restoring a database instead
- of "sqlite3". This can be used to run a specific
- sqlite3 version (e.g., one inside a running container).
- Defaults to "sqlite3".
- example: docker exec sqlite_container sqlite3
- mongodb_databases:
- type: array
- items:
- type: object
- required: ['name']
- additionalProperties: false
- properties:
- name:
- type: string
- description: |
- Database name (required if using this hook). Or "all" to
- dump all databases on the host. Note that using this
- database hook implicitly enables read_special (see
- above) to support dump and restore streaming.
- example: users
- hostname:
- type: string
- description: |
- Database hostname to connect to. Defaults to connecting
- to localhost.
- example: database.example.org
- restore_hostname:
- type: string
- description: |
- Database hostname to restore to. Defaults to the
- "hostname" option.
- example: database.example.org
- port:
- type: integer
- description: Port to connect to. Defaults to 27017.
- example: 27018
- restore_port:
- type: integer
- description: |
- Port to restore to. Defaults to the "port" option.
- example: 5433
- username:
- type: string
- description: |
- Username with which to connect to the database. Skip it
- if no authentication is needed. Supports the
- "{credential ...}" syntax.
- example: dbuser
- restore_username:
- type: string
- description: |
- Username with which to restore the database. Defaults to
- the "username" option. Supports the "{credential ...}"
- syntax.
- example: dbuser
- password:
- type: string
- description: |
- Password with which to connect to the database. Skip it
- if no authentication is needed. Supports the
- "{credential ...}" syntax.
- example: trustsome1
- restore_password:
- type: string
- description: |
- Password with which to connect to the restore database.
- Defaults to the "password" option. Supports the
- "{credential ...}" syntax.
- example: trustsome1
- authentication_database:
- type: string
- description: |
- Authentication database where the specified username
- exists. If no authentication database is specified, the
- database provided in "name" is used. If "name" is "all",
- the "admin" database is used.
- example: admin
- format:
- type: string
- enum: ['archive', 'directory']
- description: |
- Database dump output format. One of "archive", or
- "directory". Defaults to "archive". See mongodump
- documentation for details. Note that format is ignored
- when the database name is "all".
- example: directory
- options:
- type: string
- description: |
- Additional mongodump options to pass directly to the
- dump command, without performing any validation on them.
- See mongodump documentation for details.
- example: --dumpDbUsersAndRoles
- restore_options:
- type: string
- description: |
- Additional mongorestore options to pass directly to the
- dump command, without performing any validation on them.
- See mongorestore documentation for details.
- example: --restoreDbUsersAndRoles
- mongodump_command:
- type: string
- description: |
- Command to use instead of "mongodump". This can be used to
- run a specific mongodump version (e.g., one inside a
- running container). If you run it from within a
- container, make sure to mount the path in the
- "user_runtime_directory" option from the host into the
- container at the same location. Defaults to "mongodump".
- example: docker exec mongodb_container mongodump
- mongorestore_command:
- type: string
- description: |
- Command to run when restoring a database instead
- of "mongorestore". This can be used to run a specific
- mongorestore version (e.g., one inside a running container).
- Defaults to "mongorestore".
- example: docker exec mongodb_container mongorestore
- description: |
- List of one or more MongoDB databases to dump before creating a
- backup, run once per configuration file. The database dumps are
- added to your source directories at runtime and streamed directly
- to Borg. Requires mongodump/mongorestore commands. See
- https://docs.mongodb.com/database-tools/mongodump/ and
- https://docs.mongodb.com/database-tools/mongorestore/ for details.
- ntfy:
- type: object
- required: ['topic']
- additionalProperties: false
- properties:
- topic:
- type: string
- description: |
- The topic to publish to. See https://ntfy.sh/docs/publish/
- for details.
- example: topic
- server:
- type: string
- description: |
- The address of your self-hosted ntfy.sh instance.
- example: https://ntfy.your-domain.com
- username:
- type: string
- description: |
- The username used for authentication. Supports the
- "{credential ...}" syntax.
- example: testuser
- password:
- type: string
- description: |
- The password used for authentication. Supports the
- "{credential ...}" syntax.
- example: fakepassword
- access_token:
- type: string
- description: |
- An ntfy access token to authenticate with instead of
- username/password. Supports the "{credential ...}" syntax.
- example: tk_AgQdq7mVBoFD37zQVN29RhuMzNIz2
- start:
- type: object
- properties:
- title:
- type: string
- description: |
- The title of the message.
- example: Ping!
- message:
- type: string
- description: |
- The message body to publish.
- example: Your backups have failed.
- priority:
- type: string
- description: |
- The priority to set.
- example: urgent
- tags:
- type: string
- description: |
- Tags to attach to the message.
- example: incoming_envelope
- finish:
- type: object
- properties:
- title:
- type: string
- description: |
- The title of the message.
- example: Ping!
- message:
- type: string
- description: |
- The message body to publish.
- example: Your backups have failed.
- priority:
- type: string
- description: |
- The priority to set.
- example: urgent
- tags:
- type: string
- description: |
- Tags to attach to the message.
- example: incoming_envelope
- fail:
- type: object
- properties:
- title:
- type: string
- description: |
- The title of the message.
- example: Ping!
- message:
- type: string
- description: |
- The message body to publish.
- example: Your backups have failed.
- priority:
- type: string
- description: |
- The priority to set.
- example: urgent
- tags:
- type: string
- description: |
- Tags to attach to the message.
- example: incoming_envelope
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for: "start",
- "finish", and/or "fail". Defaults to pinging for failure
- only.
- example:
- - start
- - finish
- pushover:
- type: object
- required: ['token', 'user']
- additionalProperties: false
- properties:
- token:
- type: string
- description: |
- Your application's API token. Supports the "{credential
- ...}" syntax.
- example: 7ms6TXHpTokTou2P6x4SodDeentHRa
- user:
- type: string
- description: |
- Your user/group key (or that of your target user), viewable
- when logged into your dashboard: often referred to as
- USER_KEY in Pushover documentation and code examples.
- Supports the "{credential ...}" syntax.
- example: hwRwoWsXMBWwgrSecfa9EfPey55WSN
- start:
- type: object
- properties:
- message:
- type: string
- description: |
- Message to be sent to the user or group. If omitted
- the default is the name of the state.
- example: A backup job has started.
- priority:
- type: integer
- description: |
- A value of -2, -1, 0 (default), 1 or 2 that
- indicates the message priority.
- example: 0
- expire:
- type: integer
- description: |
- How many seconds your notification will continue
- to be retried (every retry seconds). Defaults to
- 600. This settings only applies to priority 2
- notifications.
- example: 600
- retry:
- type: integer
- description: |
- The retry parameter specifies how often
- (in seconds) the Pushover servers will send the
- same notification to the user. Defaults to 30. This
- settings only applies to priority 2 notifications.
- example: 30
- device:
- type: string
- description: |
- The name of one of your devices to send just to
- that device instead of all devices.
- example: pixel8
- html:
- type: boolean
- description: |
- Set to True to enable HTML parsing of the message.
- Set to False for plain text.
- example: True
- sound:
- type: string
- description: |
- The name of a supported sound to override your
- default sound choice. All options can be found
- here: https://pushover.net/api#sounds
- example: bike
- title:
- type: string
- description: |
- Your message's title, otherwise your app's name is
- used.
- example: A backup job has started.
- ttl:
- type: integer
- description: |
- The number of seconds that the message will live,
- before being deleted automatically. The ttl
- parameter is ignored for messages with a priority.
- value of 2.
- example: 3600
- url:
- type: string
- description: |
- A supplementary URL to show with your message.
- example: https://pushover.net/apps/xxxxx-borgbackup
- url_title:
- type: string
- description: |
- A title for the URL specified as the url parameter,
- otherwise just the URL is shown.
- example: Pushover Link
- finish:
- type: object
- properties:
- message:
- type: string
- description: |
- Message to be sent to the user or group. If omitted
- the default is the name of the state.
- example: A backup job has finished.
- priority:
- type: integer
- description: |
- A value of -2, -1, 0 (default), 1 or 2 that
- indicates the message priority.
- example: 0
- expire:
- type: integer
- description: |
- How many seconds your notification will continue
- to be retried (every retry seconds). Defaults to
- 600. This settings only applies to priority 2
- notifications.
- example: 600
- retry:
- type: integer
- description: |
- The retry parameter specifies how often
- (in seconds) the Pushover servers will send the
- same notification to the user. Defaults to 30. This
- settings only applies to priority 2 notifications.
- example: 30
- device:
- type: string
- description: |
- The name of one of your devices to send just to
- that device instead of all devices.
- example: pixel8
- html:
- type: boolean
- description: |
- Set to True to enable HTML parsing of the message.
- Set to False for plain text.
- example: True
- sound:
- type: string
- description: |
- The name of a supported sound to override your
- default sound choice. All options can be found
- here: https://pushover.net/api#sounds
- example: bike
- title:
- type: string
- description: |
- Your message's title, otherwise your app's name is
- used.
- example: A backup job has started.
- ttl:
- type: integer
- description: |
- The number of seconds that the message will live,
- before being deleted automatically. The ttl
- parameter is ignored for messages with a priority.
- value of 2.
- example: 3600
- url:
- type: string
- description: |
- A supplementary URL to show with your message.
- example: https://pushover.net/apps/xxxxx-borgbackup
- url_title:
- type: string
- description: |
- A title for the URL specified as the url parameter,
- otherwise just the URL is shown.
- example: Pushover Link
- fail:
- type: object
- properties:
- message:
- type: string
- description: |
- Message to be sent to the user or group. If omitted
- the default is the name of the state.
- example: A backup job has failed.
- priority:
- type: integer
- description: |
- A value of -2, -1, 0 (default), 1 or 2 that
- indicates the message priority.
- example: 0
- expire:
- type: integer
- description: |
- How many seconds your notification will continue
- to be retried (every retry seconds). Defaults to
- 600. This settings only applies to priority 2
- notifications.
- example: 600
- retry:
- type: integer
- description: |
- The retry parameter specifies how often
- (in seconds) the Pushover servers will send the
- same notification to the user. Defaults to 30. This
- settings only applies to priority 2 notifications.
- example: 30
- device:
- type: string
- description: |
- The name of one of your devices to send just to
- that device instead of all devices.
- example: pixel8
- html:
- type: boolean
- description: |
- Set to True to enable HTML parsing of the message.
- Set to False for plain text.
- example: True
- sound:
- type: string
- description: |
- The name of a supported sound to override your
- default sound choice. All options can be found
- here: https://pushover.net/api#sounds
- example: bike
- title:
- type: string
- description: |
- Your message's title, otherwise your app's name is
- used.
- example: A backup job has started.
- ttl:
- type: integer
- description: |
- The number of seconds that the message will live,
- before being deleted automatically. The ttl
- parameter is ignored for messages with a priority.
- value of 2.
- example: 3600
- url:
- type: string
- description: |
- A supplementary URL to show with your message.
- example: https://pushover.net/apps/xxxxx-borgbackup
- url_title:
- type: string
- description: |
- A title for the URL specified as the url parameter,
- otherwise just the URL is shown.
- example: Pushover Link
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for: "start",
- "finish", and/or "fail". Defaults to pinging for failure
- only.
- example:
- - start
- - finish
- zabbix:
- type: object
- additionalProperties: false
- required:
- - server
- properties:
- itemid:
- type: integer
- description: |
- The ID of the Zabbix item used for collecting data.
- Unique across the entire Zabbix system.
- example: 55105
- host:
- type: string
- description: |
- Host name where the item is stored. Required if "itemid"
- is not set.
- example: borg-server
- key:
- type: string
- description: |
- Key of the host where the item is stored. Required if
- "itemid" is not set.
- example: borg.status
- server:
- type: string
- description: |
- The API endpoint URL of your Zabbix instance, usually ending
- with "/api_jsonrpc.php". Required.
- example: https://zabbix.your-domain.com
- username:
- type: string
- description: |
- The username used for authentication. Not needed if using
- an API key. Supports the "{credential ...}" syntax.
- example: testuser
- password:
- type: string
- description: |
- The password used for authentication. Not needed if using
- an API key. Supports the "{credential ...}" syntax.
- example: fakepassword
- api_key:
- type: string
- description: |
- The API key used for authentication. Not needed if using an
- username/password. Supports the "{credential ...}" syntax.
- example: fakekey
- start:
- type: object
- properties:
- value:
- type: ["integer", "string"]
- description: |
- The value to set the item to on start.
- example: STARTED
- finish:
- type: object
- properties:
- value:
- type: ["integer", "string"]
- description: |
- The value to set the item to on finish.
- example: FINISH
- fail:
- type: object
- properties:
- value:
- type: ["integer", "string"]
- description: |
- The value to set the item to on fail.
- example: ERROR
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for: "start",
- "finish", and/or "fail". Defaults to pinging for failure
- only.
- example:
- - start
- - finish
- apprise:
- type: object
- required: ['services']
- additionalProperties: false
- properties:
- services:
- type: array
- items:
- type: object
- required:
- - url
- - label
- properties:
- url:
- type: string
- example: "gotify://hostname/token"
- label:
- type: string
- example: gotify
- description: |
- A list of Apprise services to publish to with URLs and
- labels. The labels are used for logging. A full list of
- services and their configuration can be found at
- https://github.com/caronc/apprise/wiki.
- example:
- - url: "kodi://user@hostname"
- label: kodi
- - url: "line://Token@User"
- label: line
- send_logs:
- type: boolean
- description: |
- Send borgmatic logs to Apprise services as part the
- "finish", "fail", and "log" states. Defaults to true.
- example: false
- logs_size_limit:
- type: integer
- description: |
- Number of bytes of borgmatic logs to send to Apprise
- services. Set to 0 to send all logs and disable this
- truncation. Defaults to 1500.
- example: 100000
- start:
- type: object
- required: ['body']
- properties:
- title:
- type: string
- description: |
- Specify the message title. If left unspecified, no
- title is sent.
- example: Ping!
- body:
- type: string
- description: |
- Specify the message body.
- example: Starting backup process.
- finish:
- type: object
- required: ['body']
- properties:
- title:
- type: string
- description: |
- Specify the message title. If left unspecified, no
- title is sent.
- example: Ping!
- body:
- type: string
- description: |
- Specify the message body.
- example: Backups successfully made.
- fail:
- type: object
- required: ['body']
- properties:
- title:
- type: string
- description: |
- Specify the message title. If left unspecified, no
- title is sent.
- example: Ping!
- body:
- type: string
- description: |
- Specify the message body.
- example: Your backups have failed.
- log:
- type: object
- required: ['body']
- properties:
- title:
- type: string
- description: |
- Specify the message title. If left unspecified, no
- title is sent.
- example: Ping!
- body:
- type: string
- description: |
- Specify the message body.
- example: Here is some info about your backups.
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- - log
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for:
- "start", "finish", "fail", and/or "log". Defaults to
- pinging for failure only. For each selected state,
- corresponding configuration for the message title and body
- should be given. If any is left unspecified, a generic
- message is emitted instead.
- example:
- - start
- - finish
- healthchecks:
- type: object
- required: ['ping_url']
- additionalProperties: false
- properties:
- ping_url:
- type: string
- description: |
- Healthchecks ping URL or UUID to notify when a backup
- begins, ends, errors, or to send only logs.
- example: https://hc-ping.com/your-uuid-here
- verify_tls:
- type: boolean
- description: |
- Verify the TLS certificate of the ping URL host. Defaults to
- true.
- example: false
- send_logs:
- type: boolean
- description: |
- Send borgmatic logs to Healthchecks as part the "finish",
- "fail", and "log" states. Defaults to true.
- example: false
- ping_body_limit:
- type: integer
- description: |
- Number of bytes of borgmatic logs to send to Healthchecks,
- ideally the same as PING_BODY_LIMIT configured on the
- Healthchecks server. Set to 0 to send all logs and disable
- this truncation. Defaults to 100000.
- example: 200000
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- - log
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for: "start",
- "finish", "fail", and/or "log". Defaults to pinging for all
- states.
- example:
- - finish
- create_slug:
- type: boolean
- description: |
- Create the check if it does not exist. Only works with
- the slug URL scheme (https://hc-ping.com/<ping-key>/<slug>
- as opposed to https://hc-ping.com/<uuid>).
- Defaults to false.
- example: true
- description: |
- Configuration for a monitoring integration with Healthchecks. Create
- an account at https://healthchecks.io (or self-host Healthchecks) if
- you'd like to use this service. See borgmatic monitoring
- documentation for details.
- uptime_kuma:
- type: object
- required: ['push_url']
- additionalProperties: false
- properties:
- push_url:
- type: string
- description: |
- Uptime Kuma push URL without query string (do not include the
- question mark or anything after it).
- example: https://example.uptime.kuma/api/push/abcd1234
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- uniqueItems: true
- description: |
- List of one or more monitoring states to push for: "start",
- "finish", and/or "fail". Defaults to pushing for all
- states.
- example:
- - start
- - finish
- - fail
- verify_tls:
- type: boolean
- description: |
- Verify the TLS certificate of the push URL host. Defaults to
- true.
- example: false
- description: |
- Configuration for a monitoring integration with Uptime Kuma using
- the Push monitor type.
- See more information here: https://uptime.kuma.pet
- cronitor:
- type: object
- required: ['ping_url']
- additionalProperties: false
- properties:
- ping_url:
- type: string
- description: |
- Cronitor ping URL to notify when a backup begins,
- ends, or errors.
- example: https://cronitor.link/d3x0c1
- description: |
- Configuration for a monitoring integration with Cronitor. Create an
- account at https://cronitor.io if you'd like to use this service.
- See borgmatic monitoring documentation for details.
- pagerduty:
- type: object
- required: ['integration_key']
- additionalProperties: false
- properties:
- integration_key:
- type: string
- description: |
- PagerDuty integration key used to notify PagerDuty when a
- backup errors. Supports the "{credential ...}" syntax.
- example: a177cad45bd374409f78906a810a3074
- send_logs:
- type: boolean
- description: |
- Send borgmatic logs to PagerDuty when a backup errors.
- Defaults to true.
- example: false
- description: |
- Configuration for a monitoring integration with PagerDuty. Create an
- account at https://www.pagerduty.com if you'd like to use this
- service. See borgmatic monitoring documentation for details.
- cronhub:
- type: object
- required: ['ping_url']
- additionalProperties: false
- properties:
- ping_url:
- type: string
- description: |
- Cronhub ping URL to notify when a backup begins,
- ends, or errors.
- example: https://cronhub.io/ping/1f5e3410-254c-5587
- description: |
- Configuration for a monitoring integration with Cronhub. Create an
- account at https://cronhub.io if you'd like to use this service. See
- borgmatic monitoring documentation for details.
- loki:
- type: object
- required: ['url', 'labels']
- additionalProperties: false
- properties:
- url:
- type: string
- description: |
- Grafana loki log URL to notify when a backup begins,
- ends, or fails.
- example: "http://localhost:3100/loki/api/v1/push"
- labels:
- type: object
- additionalProperties:
- type: string
- description: |
- Allows setting custom labels for the logging stream. At
- least one label is required. "__hostname" gets replaced by
- the machine hostname automatically. "__config" gets replaced
- by the name of the configuration file. "__config_path" gets
- replaced by the full path of the configuration file.
- example:
- app: "borgmatic"
- config: "__config"
- hostname: "__hostname"
- description: |
- Configuration for a monitoring integration with Grafana Loki. You
- can send the logs to a self-hosted instance or create an account at
- https://grafana.com/auth/sign-up/create-user. See borgmatic
- monitoring documentation for details.
- sentry:
- type: object
- required: ['data_source_name_url', 'monitor_slug']
- additionalProperties: false
- properties:
- data_source_name_url:
- type: string
- description: |
- Sentry Data Source Name (DSN) URL, associated with a
- particular Sentry project. Used to construct a cron URL,
- notified when a backup begins, ends, or errors.
- example: https://5f80ec@o294220.ingest.us.sentry.io/203069
- monitor_slug:
- type: string
- description: |
- Sentry monitor slug, associated with a particular Sentry
- project monitor. Used along with the data source name URL to
- construct a cron URL.
- example: mymonitor
- states:
- type: array
- items:
- type: string
- enum:
- - start
- - finish
- - fail
- uniqueItems: true
- description: |
- List of one or more monitoring states to ping for: "start",
- "finish", and/or "fail". Defaults to pinging for all states.
- example:
- - start
- - finish
- description: |
- Configuration for a monitoring integration with Sentry. You can use
- a self-hosted instance via https://develop.sentry.dev/self-hosted/
- or create a cloud-hosted account at https://sentry.io. See borgmatic
- monitoring documentation for details.
- zfs:
- type: ["object", "null"]
- additionalProperties: false
- properties:
- zfs_command:
- type: string
- description: |
- Command to use instead of "zfs".
- example: /usr/local/bin/zfs
- mount_command:
- type: string
- description: |
- Command to use instead of "mount".
- example: /usr/local/bin/mount
- umount_command:
- type: string
- description: |
- Command to use instead of "umount".
- example: /usr/local/bin/umount
- description: |
- Configuration for integration with the ZFS filesystem.
- btrfs:
- type: ["object", "null"]
- additionalProperties: false
- properties:
- btrfs_command:
- type: string
- description: |
- Command to use instead of "btrfs".
- example: /usr/local/bin/btrfs
- findmnt_command:
- type: string
- description: |
- Command to use instead of "findmnt".
- example: /usr/local/bin/findmnt
- description: |
- Configuration for integration with the Btrfs filesystem.
- lvm:
- type: ["object", "null"]
- additionalProperties: false
- properties:
- snapshot_size:
- type: string
- description: |
- Size to allocate for each snapshot taken, including the
- units to use for that size. Defaults to "10%ORIGIN" (10%
- of the size of logical volume being snapshotted). See the
- lvcreate "--size" and "--extents" documentation for more
- information:
- https://www.man7.org/linux/man-pages/man8/lvcreate.8.html
- example: 5GB
- lvcreate_command:
- type: string
- description: |
- Command to use instead of "lvcreate".
- example: /usr/local/bin/lvcreate
- lvremove_command:
- type: string
- description: |
- Command to use instead of "lvremove".
- example: /usr/local/bin/lvremove
- lvs_command:
- type: string
- description: |
- Command to use instead of "lvs".
- example: /usr/local/bin/lvs
- lsblk_command:
- type: string
- description: |
- Command to use instead of "lsblk".
- example: /usr/local/bin/lsblk
- mount_command:
- type: string
- description: |
- Command to use instead of "mount".
- example: /usr/local/bin/mount
- umount_command:
- type: string
- description: |
- Command to use instead of "umount".
- example: /usr/local/bin/umount
- description: |
- Configuration for integration with Linux LVM (Logical Volume
- Manager).
- container:
- type: object
- additionalProperties: false
- properties:
- secrets_directory:
- type: string
- description: |
- Secrets directory to use instead of "/run/secrets".
- example: /path/to/secrets
- description: |
- Configuration for integration with Docker or Podman secrets.
- keepassxc:
- type: object
- additionalProperties: false
- properties:
- keepassxc_cli_command:
- type: string
- description: |
- Command to use instead of "keepassxc-cli".
- example: /usr/local/bin/keepassxc-cli
- description: |
- Configuration for integration with the KeePassXC password manager.
- default_actions:
- type: boolean
- description: |
- Whether to apply default actions (e.g., backup) when no arguments
- are supplied to the borgmatic command. If set to true, borgmatic
- will trigger the default actions,which include :
- -Create backups based on your configured schedules and paths.
- - Prune old backups based on your retention policies.
- - Verify the integrity of your backups.
-
- If set to false, borgmatic will display the help message instead.
- example: true
|