check / check (push) Waiting to run
s3.part_size was loaded and defaulted but never reached the S3 client, whose uploader used a fixed 10MiB part. The client now takes the part size from the config, for storage_url and for the s3.* fields, and config load rejects a value below 5MiB or above 5GiB, an explicit 0 included. A blob too large for S3's limit of 10,000 parts at that size is uploaded in larger parts, since the uploader cannot learn the size of the reader it is given. The docs gave the default as 5MB, which the config file reads as 5,000,000 bytes, below the minimum; they now say 5MiB. Judgement call: the 5GiB maximum is enforced along with the 5MiB minimum the issue names. Model: opus-5-5
325 lines
12 KiB
YAML
325 lines
12 KiB
YAML
# vaultik configuration file example
|
|
# This file shows all available configuration options with their default values
|
|
# Copy this file and uncomment/modify the values you need
|
|
|
|
# Age recipient public keys for encryption
|
|
# Backups are encrypted to these public keys. snapshot create needs at least
|
|
# one; listing, verifying and restoring do not
|
|
# Generate with: age-keygen | grep "public key"
|
|
age_recipients:
|
|
- age1cj2k2addawy294f6k2gr2mf9gps9r3syplryxca3nvxj3daqm96qfp84tz
|
|
|
|
# Named snapshots - each snapshot can contain multiple paths
|
|
# Each snapshot gets its own ID and can have snapshot-specific excludes
|
|
snapshots:
|
|
testing:
|
|
paths:
|
|
- ~/dev/vaultik
|
|
apps:
|
|
paths:
|
|
- /Applications
|
|
exclude:
|
|
- "/App Store.app"
|
|
- "/Apps.app"
|
|
- "/Automator.app"
|
|
- "/Books.app"
|
|
- "/Calculator.app"
|
|
- "/Calendar.app"
|
|
- "/Chess.app"
|
|
- "/Clock.app"
|
|
- "/Contacts.app"
|
|
- "/Dictionary.app"
|
|
- "/FaceTime.app"
|
|
- "/FindMy.app"
|
|
- "/Font Book.app"
|
|
- "/Freeform.app"
|
|
- "/Games.app"
|
|
- "/GarageBand.app"
|
|
- "/Home.app"
|
|
- "/Image Capture.app"
|
|
- "/Image Playground.app"
|
|
- "/Journal.app"
|
|
- "/Keynote.app"
|
|
- "/Mail.app"
|
|
- "/Maps.app"
|
|
- "/Messages.app"
|
|
- "/Mission Control.app"
|
|
- "/Music.app"
|
|
- "/News.app"
|
|
- "/Notes.app"
|
|
- "/Numbers.app"
|
|
- "/Pages.app"
|
|
- "/Passwords.app"
|
|
- "/Phone.app"
|
|
- "/Photo Booth.app"
|
|
- "/Photos.app"
|
|
- "/Podcasts.app"
|
|
- "/Preview.app"
|
|
- "/QuickTime Player.app"
|
|
- "/Reminders.app"
|
|
- "/Safari.app"
|
|
- "/Shortcuts.app"
|
|
- "/Siri.app"
|
|
- "/Stickies.app"
|
|
- "/Stocks.app"
|
|
- "/System Settings.app"
|
|
- "/TV.app"
|
|
- "/TextEdit.app"
|
|
- "/Time Machine.app"
|
|
- "/Tips.app"
|
|
- "/Utilities/Activity Monitor.app"
|
|
- "/Utilities/AirPort Utility.app"
|
|
- "/Utilities/Audio MIDI Setup.app"
|
|
- "/Utilities/Bluetooth File Exchange.app"
|
|
- "/Utilities/Boot Camp Assistant.app"
|
|
- "/Utilities/ColorSync Utility.app"
|
|
- "/Utilities/Console.app"
|
|
- "/Utilities/Digital Color Meter.app"
|
|
- "/Utilities/Disk Utility.app"
|
|
- "/Utilities/Grapher.app"
|
|
- "/Utilities/Magnifier.app"
|
|
- "/Utilities/Migration Assistant.app"
|
|
- "/Utilities/Print Center.app"
|
|
- "/Utilities/Screen Sharing.app"
|
|
- "/Utilities/Screenshot.app"
|
|
- "/Utilities/Script Editor.app"
|
|
- "/Utilities/System Information.app"
|
|
- "/Utilities/Terminal.app"
|
|
- "/Utilities/VoiceOver Utility.app"
|
|
- "/VoiceMemos.app"
|
|
- "/Weather.app"
|
|
- "/iMovie.app"
|
|
- "/iPhone Mirroring.app"
|
|
home:
|
|
paths:
|
|
- "~"
|
|
exclude:
|
|
- "/.Trash"
|
|
- "/tmp"
|
|
- "/Library/Caches"
|
|
- "/Library/Accounts"
|
|
- "/Library/AppleMediaServices"
|
|
- "/Library/Application Support/AddressBook"
|
|
- "/Library/Application Support/CallHistoryDB"
|
|
- "/Library/Application Support/CallHistoryTransactions"
|
|
- "/Library/Application Support/DifferentialPrivacy"
|
|
- "/Library/Application Support/FaceTime"
|
|
- "/Library/Application Support/FileProvider"
|
|
- "/Library/Application Support/Knowledge"
|
|
- "/Library/Application Support/com.apple.TCC"
|
|
- "/Library/Application Support/com.apple.avfoundation/Frecents"
|
|
- "/Library/Application Support/com.apple.sharedfilelist"
|
|
- "/Library/Assistant/SiriVocabulary"
|
|
- "/Library/Autosave Information"
|
|
- "/Library/Biome"
|
|
- "/Library/ContainerManager"
|
|
- "/Library/Containers/com.apple.Home"
|
|
- "/Library/Containers/com.apple.Maps/Data/Maps"
|
|
- "/Library/Containers/com.apple.MobileSMS"
|
|
- "/Library/Containers/com.apple.Notes"
|
|
- "/Library/Containers/com.apple.Safari"
|
|
- "/Library/Containers/com.apple.Safari.WebApp"
|
|
- "/Library/Containers/com.apple.VoiceMemos"
|
|
- "/Library/Containers/com.apple.archiveutility"
|
|
- "/Library/Containers/com.apple.corerecents.recentsd/Data/Library/Recents"
|
|
- "/Library/Containers/com.apple.mail"
|
|
- "/Library/Containers/com.apple.news"
|
|
- "/Library/Containers/com.apple.stocks"
|
|
- "/Library/Cookies"
|
|
- "/Library/CoreFollowUp"
|
|
- "/Library/Daemon Containers"
|
|
- "/Library/DoNotDisturb"
|
|
- "/Library/DuetExpertCenter"
|
|
- "/Library/Group Containers/com.apple.Home.group"
|
|
- "/Library/Group Containers/com.apple.MailPersonaStorage"
|
|
- "/Library/Group Containers/com.apple.PreviewLegacySignaturesConversion"
|
|
- "/Library/Group Containers/com.apple.bird"
|
|
- "/Library/Group Containers/com.apple.stickersd.group"
|
|
- "/Library/Group Containers/com.apple.systempreferences.cache"
|
|
- "/Library/Group Containers/group.com.apple.AppleSpell"
|
|
- "/Library/Group Containers/group.com.apple.ArchiveUtility.PKSignedContainer"
|
|
- "/Library/Group Containers/group.com.apple.DeviceActivity"
|
|
- "/Library/Group Containers/group.com.apple.Journal"
|
|
- "/Library/Group Containers/group.com.apple.ManagedSettings"
|
|
- "/Library/Group Containers/group.com.apple.PegasusConfiguration"
|
|
- "/Library/Group Containers/group.com.apple.Safari.SandboxBroker"
|
|
- "/Library/Group Containers/group.com.apple.SiriTTS"
|
|
- "/Library/Group Containers/group.com.apple.UserNotifications"
|
|
- "/Library/Group Containers/group.com.apple.VoiceMemos.shared"
|
|
- "/Library/Group Containers/group.com.apple.accessibility.voicebanking"
|
|
- "/Library/Group Containers/group.com.apple.amsondevicestoraged"
|
|
- "/Library/Group Containers/group.com.apple.appstoreagent"
|
|
- "/Library/Group Containers/group.com.apple.calendar"
|
|
- "/Library/Group Containers/group.com.apple.chronod"
|
|
- "/Library/Group Containers/group.com.apple.contacts"
|
|
- "/Library/Group Containers/group.com.apple.controlcenter"
|
|
- "/Library/Group Containers/group.com.apple.corerepair"
|
|
- "/Library/Group Containers/group.com.apple.coreservices.useractivityd"
|
|
- "/Library/Group Containers/group.com.apple.energykit"
|
|
- "/Library/Group Containers/group.com.apple.feedback"
|
|
- "/Library/Group Containers/group.com.apple.feedbacklogger"
|
|
- "/Library/Group Containers/group.com.apple.findmy.findmylocateagent"
|
|
- "/Library/Group Containers/group.com.apple.iCloudDrive"
|
|
- "/Library/Group Containers/group.com.apple.icloud.fmfcore"
|
|
- "/Library/Group Containers/group.com.apple.icloud.fmipcore"
|
|
- "/Library/Group Containers/group.com.apple.icloud.searchpartyuseragent"
|
|
- "/Library/Group Containers/group.com.apple.liveactivitiesd"
|
|
- "/Library/Group Containers/group.com.apple.loginwindow.persistent-apps"
|
|
- "/Library/Group Containers/group.com.apple.mail"
|
|
- "/Library/Group Containers/group.com.apple.mlhost"
|
|
- "/Library/Group Containers/group.com.apple.moments"
|
|
- "/Library/Group Containers/group.com.apple.news"
|
|
- "/Library/Group Containers/group.com.apple.newsd"
|
|
- "/Library/Group Containers/group.com.apple.notes"
|
|
- "/Library/Group Containers/group.com.apple.notes.import"
|
|
- "/Library/Group Containers/group.com.apple.photolibraryd.private"
|
|
- "/Library/Group Containers/group.com.apple.portrait.BackgroundReplacement"
|
|
- "/Library/Group Containers/group.com.apple.printtool"
|
|
- "/Library/Group Containers/group.com.apple.private.translation"
|
|
- "/Library/Group Containers/group.com.apple.reminders"
|
|
- "/Library/Group Containers/group.com.apple.replicatord"
|
|
- "/Library/Group Containers/group.com.apple.scopedbookmarkagent"
|
|
- "/Library/Group Containers/group.com.apple.secure-control-center-preferences"
|
|
- "/Library/Group Containers/group.com.apple.sharingd"
|
|
- "/Library/Group Containers/group.com.apple.shortcuts"
|
|
- "/Library/Group Containers/group.com.apple.siri.inference"
|
|
- "/Library/Group Containers/group.com.apple.siri.referenceResolution"
|
|
- "/Library/Group Containers/group.com.apple.siri.remembers"
|
|
- "/Library/Group Containers/group.com.apple.siri.userfeedbacklearning"
|
|
- "/Library/Group Containers/group.com.apple.spotlight"
|
|
- "/Library/Group Containers/group.com.apple.stocks"
|
|
- "/Library/Group Containers/group.com.apple.stocks-news"
|
|
- "/Library/Group Containers/group.com.apple.studentd"
|
|
- "/Library/Group Containers/group.com.apple.swtransparency"
|
|
- "/Library/Group Containers/group.com.apple.telephonyutilities.callservicesd"
|
|
- "/Library/Group Containers/group.com.apple.tips"
|
|
- "/Library/Group Containers/group.com.apple.tipsnext"
|
|
- "/Library/Group Containers/group.com.apple.transparency"
|
|
- "/Library/Group Containers/group.com.apple.usernoted"
|
|
- "/Library/Group Containers/group.com.apple.weather"
|
|
- "/Library/HomeKit"
|
|
- "/Library/IdentityServices"
|
|
- "/Library/IntelligencePlatform"
|
|
- "/Library/Mail"
|
|
- "/Library/Messages"
|
|
- "/Library/Metadata/CoreSpotlight"
|
|
- "/Library/Metadata/com.apple.IntelligentSuggestions"
|
|
- "/Library/PersonalizationPortrait"
|
|
- "/Library/Safari"
|
|
- "/Library/Sharing"
|
|
- "/Library/Shortcuts"
|
|
- "/Library/StatusKit"
|
|
- "/Library/Suggestions"
|
|
- "/Library/Trial"
|
|
- "/Library/Weather"
|
|
- "/Library/com.apple.aiml.instrumentation"
|
|
- "/Movies/TV"
|
|
system:
|
|
paths:
|
|
- /
|
|
exclude:
|
|
# Virtual/transient filesystems
|
|
- /proc
|
|
- /sys
|
|
- /dev
|
|
- /run
|
|
- /tmp
|
|
- /var/tmp
|
|
- /var/run
|
|
- /var/lock
|
|
- /var/cache
|
|
- /media
|
|
- /mnt
|
|
# Swap
|
|
- /swapfile
|
|
- /swap.img
|
|
# Package manager caches
|
|
- /var/cache/apt
|
|
- /var/cache/yum
|
|
- /var/cache/dnf
|
|
- /var/cache/pacman
|
|
# Trash
|
|
- "*/.local/share/Trash"
|
|
dev:
|
|
paths:
|
|
- /Users/user/dev
|
|
exclude:
|
|
- "**/node_modules"
|
|
- "**/target"
|
|
- "**/build"
|
|
- "**/__pycache__"
|
|
- "**/*.pyc"
|
|
- "**/.venv"
|
|
- "**/vendor"
|
|
|
|
# Global patterns to exclude from all backups
|
|
exclude:
|
|
- "*.tmp"
|
|
|
|
# Storage URL - use either this OR the s3 section below
|
|
# Supports: s3://bucket/prefix, file:///path, rclone://remote/path
|
|
storage_url: "rclone://myremote/path/to/backups"
|
|
|
|
# S3-compatible storage configuration
|
|
#s3:
|
|
# # S3-compatible endpoint URL
|
|
# # Examples: https://s3.amazonaws.com, https://storage.googleapis.com
|
|
# endpoint: https://s3.example.com
|
|
#
|
|
# # Bucket name where backups will be stored
|
|
# bucket: mybucket
|
|
#
|
|
# # Prefix (folder) within the bucket for this host's backups
|
|
# # Useful for organizing backups from multiple hosts
|
|
# # Default: empty (root of bucket)
|
|
# #prefix: "hosts/myserver/"
|
|
#
|
|
# # S3 access credentials
|
|
# access_key_id: YOUR_ACCESS_KEY
|
|
# secret_access_key: YOUR_SECRET_KEY
|
|
#
|
|
# # S3 region
|
|
# # Default: us-east-1
|
|
# #region: us-east-1
|
|
#
|
|
# # Use SSL/TLS for S3 connections
|
|
# # Default: true
|
|
# #use_ssl: true
|
|
#
|
|
# # Part size for multipart uploads
|
|
# # Minimum 5MiB, maximum 5GiB; affects memory usage during upload
|
|
# # A blob too large for 10,000 parts of this size gets larger parts
|
|
# # Supports: 10MB, 16MiB, 100MiB, etc. (5MB is below the minimum)
|
|
# # Default: 5MiB
|
|
# #part_size: 5MiB
|
|
|
|
# Path to local SQLite index database
|
|
# This database tracks file state for incremental backups
|
|
# Default: /var/lib/vaultik/index.sqlite
|
|
#index_path: /var/lib/vaultik/index.sqlite
|
|
|
|
# Average chunk size for content-defined chunking
|
|
# Smaller chunks = better deduplication but more metadata
|
|
# Supports: 10MB, 5M, 1GB, 500KB, 64MiB, etc.
|
|
# Default: 10MB
|
|
#chunk_size: 10MB
|
|
|
|
# Maximum blob size
|
|
# Multiple chunks are packed into blobs up to this size
|
|
# Must be at least four times chunk_size (the largest chunk the chunker can
|
|
# emit); a smaller limit would let a single-chunk blob exceed it.
|
|
# Chunking uses no secret (the FastCDC parameters are fixed and public). At a
|
|
# large limit a blob holds hundreds of chunks, so individual chunk lengths are
|
|
# not visible in its size; lowering the limit toward chunk_size exposes them.
|
|
# Supports: 1GB, 10G, 500MB, 1GiB, etc.
|
|
# Default: 10GB
|
|
#blob_size_limit: 10GB
|
|
|
|
# Compression level (1-19)
|
|
# Higher = better compression but slower
|
|
# Default: 3
|
|
compression_level: 5
|
|
# Hostname to use in backup metadata
|
|
# Default: system hostname
|
|
#hostname: myserver
|