Resticprofile Versions Save

Configuration profiles manager and scheduler for restic backup

v0.26.0

2 months ago

πŸ¦† Second time lucky February release πŸš€

πŸ†• A lot of pre-built binaries have been added on this release. This is to align with the list of pre-built binaries provided by restic

Otherwise this is mostly a maintenance release with a few fixes:

  • fixes multiple backup profiles exporting prometheus files to node_exporter
  • fix missing fields in the show command
  • weekly docker image build (rebuilt under the same version tag, and as latest)
  • restrict the copy command to a list of snapshots in the configuration

Changelog

  • 2ab1f3a Add pre-built binary targets to release pipeline (#324)
  • 233e4b8 Add prometheus label to build info (#319)
  • b1b03db Change priority warning message (#310)
  • 9eba431 Fix missing fields in show command (#315)
  • a9273f8 Merge pull request #312 from creativeprojects/nightly
  • 15004f9 Restrict copy command to a list of snapshots (#291)
  • 1c076dc add separate goreleaser config for rebuilding the docker image only (#309)
  • bbb3760 add snapshot build to docker hub
  • 8aebd28 publish docker images and manifest manually (#313)

v0.25.0

3 months ago

πŸ’– February release πŸ’

⚠️ Potential breaking change

The prometheus library used to send metrics to the proxy using protobuf. By default it's now using the more widely used text format.

If you have any issue sending metrics to your proxy, you can revert to the previous behaviour by adding this option to your profile (it's not a global option)

my_profile:
  prometheus-push-format: protobuf

More information about the different formats: https://prometheus.io/docs/instrumenting/exposition_formats/#exposition-formats

New in this version

  • fix for CVE-2023-48795
  • new option prometheus-push-format with values text or protobuf (#281)
  • new option to set log output in global section (#277)
  • more control over the default systemd service files (#267)
  • and bug fixes!

Thanks to all our contributors for the good work!

Changelog

  • 765c2af Add prometheus-push-format to allow selecting text format (#281)
  • ae9554a Pass context to own commands and profile runner (#280)
  • fccc05b Remove rclone binary in make clean target (#283)
  • 0871d28 Trying new configuration for CodeQL (#306)
  • 1317f60 Upgrade packages (#307)
  • 63f8faf chore: prep next release & allow deployment to fail on PR
  • 3d72803 chore: various fixes (#285)
  • 952380f doc: add information about windows path in variables
  • f346571 doc: add various missing information (#278)
  • 1b3292c logging: allow to setup default log output in global (#277)
  • 99484bf macOS: create LaunchAgents folder if it doesn't exist
  • 37dcf84 profile: support source with "-" (dash) prefix (#276)
  • a1b7840 systemd drop-ins support, option to wait for network-online.target (#267)

v0.24.0

6 months ago

πŸŽƒ October release πŸ‘»

  • upgrade dependencies to fix CVE-2023-3978, CVE-2023-39325 and CVE-2023-44487
  • fix the broken documentation (some tabs were not accessible)
  • can now stop the wait for a lock (restic or resticprofile lock). Before the fix the CTRL-C or other signal was ignored until the lock was acquired or timed out.
  • resticprofile is now available on scoop! thanks @hgraeber
  • detect if the host is running on battery and cancel an action depending on how much battery is left - see schedule section
  • bug fixes (see changelog)

Changelog

  • ac99302 Allow to interrupt the wait for a lock (#249)
  • b08ac73 Detect if running on battery (#235)
  • 1e6d07a Docs for installation from scoop (#268)
  • 0d73c2b Fix doc shortcodes (#271)
  • f5e751c Template: Reduce log level for Getwd() failures (#251)
  • e20973e systemd: prevent paging in systemd schedules (#270)
  • bcfaaa7 upgrade packages - CVE-2023-3978 - CVE-2023-39325 - CVE-2023-44487

v0.23.0

9 months ago

🌞 New summer edition 🌻

This release mostly fixes a few regression from version 0.21.0 and adds a handful of new features:

  • Allow to set base-dir and source-dir in a profile so you can start resticprofile from any current folder
  • Allow to set keep-tag, tag & group-by as empty string
  • Support for restic v0.16 new flags

Thanks to all the contributors for the great work πŸ‘πŸ»

Changelog

  • b0767ad Added {{ "data" | base64 }} & {{ "data" | hex }} (#213)
  • b00c8a0 Allow to set a base-dir inside the profile (#183) (#192)
  • 4b2ea31 Fix 194: Allow to set "keep-tag", β€œtag” & β€œgroup-by” as empty string (#220)
  • 10057d4 Fix 218: Args filter must not remove paths (#222)
  • 0c8c985 Fix 223, 230: Escape args and absolute restic path for pwsh (#224)
  • 2bf0d28 Fix 242: iexclude-file not converted to abs path (#243)
  • 6cbfdb3 Fix links for versioned JSON schema files (#244)
  • fc66fab Fix schedule tests (#236)
  • 304e418 Fix: Do not add --tag for tag: true (#221)
  • 82fccdb Restic: Add restic v16 release (#238)
  • 3f4e0bf Restic: Fixed unit tests for restic v16 (#239)
  • ba9297a Retention: Align host filter with "backup" (#227)
  • 347501d Schedule: Capture os.Environ on schedule creation (#212)
  • 9c05157 Support lock-wait with --lock-retry in restic 0.16 (#240)
  • 6cc332d Support build when GOPATH is unset / fix mockery build warning (#234)
  • 3476fbc Variables: Allow to escape "$" with "$$" (#216)

v0.22.0

1 year ago

⚠️ Breaking change

The default value of the job tag on prometheus gateway push has changed from command to profile.command. But don't worry: you can easily revert back to the original value by adding this option in your configuration:

prometheus-push-job: "${COMMAND}"

Fixes:

  • Complicated scheduling on Windows was sometimes setting up a random delay before starting a job

Changelog

  • c00fc9a New option to specify Prometheus Pushgateway job name (#193)
  • 0c7405f Templates: Add map/splitR/contains/matches (#197)
  • 7545bbf Upgrade task scheduler library (#206)

v0.21.1

1 year ago

Bug fixes!

This small release fixes two regression bugs introduced in version 0.21.0

  • the ~ was no longer replaced by the user's home directory for some flag (repository and others...)
  • environment variables were no longer replaced by their value for some flag (repository and others...)

Thanks @jkellerer for the quick fixes πŸ˜‰ πŸ‘πŸ»

New features from v0.21.0

This release adds a verification of all the flags permitted by restic. Only the flags compatible with your version of restic will be generated (prior to this version, any flag like unknown-flag would end up on the restic command line as --unknown-flag.

Also this version generates a JSON schema: this is the configuration schema which can auto-complete options, and verify that your configuration is correct. It works with any compatible editor for the JSON, TOML and YAML configuration file format. Thanks @jkellerer for the awesome work on this πŸŽ‰ . More information here.

Other nice feature is the introduction of the help command which works for both all the resticprofile and restic commands and flags. Try it out!

Changelog

  • 487db0b Fix #187: homedir/env-vars in repo and other flags (#188)
  • b78d1a0 Fix #189: completion of own commands (#190)
  • b6a98ef Updated clog to 0.13 (#191)

v0.21.0

1 year ago

This is a great milestone for resticprofile πŸ₯³

This release adds a verification of all the flags permitted by restic. Only the flags compatible with your version of restic will be generated (prior to this version, any flag like unknown-flag would end up on the restic command line as --unknown-flag.

Also this version generates a JSON schema: this is the configuration schema which can auto-complete options, and verify that your configuration is correct. It works with any compatible editor for the JSON, TOML and YAML configuration file format. Thanks @jkellerer for the awesome work on this πŸŽ‰ . More information here.

Other nice feature is the introduction of the help command which works for both all the resticprofile and restic commands and flags. Try it out!

And as usual, a lot of bug fixes πŸ˜‰

Changelog

  • 683bf78 Add variables .OS and .Arch to all templates (#181)
  • 74b0c46 Allow config encoding in UTF16 and ISO88591
  • d6a51ad Enhanced: Catch any --help & --dry-run (http only) (#178)
  • 3f5cdc6 Feature: JSON schema (#103) & generated reference
  • 1aad0fb Fix #164: Failure on uppercase mixin names
  • e65f9bc Implement tempDir and log without locking (#168) (#174)
  • f2a9c04 Make URL and header confidential in HTTP-hook (#175)
  • e069b77 Restic: Add restic v15 release (#180)
  • d2e789c add build tag to disable self-update (#184)
  • 8231087 add suppport for user_logged_on (#160)
  • f782ef5 build with go 1.20
  • bd3813a upgrade packages CVE-2022-41721

v0.20.0

1 year ago

Not too many new features in this release, but I wanted to build a new docker image with the new restic 0.15.0

Improvements

  • Adds shell command hooks to the following additional commands: dump, find, ls, mount, restore, snapshots, stats and tag.
  • Docker image now contains ssh (to allow sftp repository), curl, tzdata and ca-certificates

Changelog

  • 51634c8 Merge pull request #154 from jkellerer/ft-151
  • 00ab266 New docker image (#161)
  • fce7165 Run-hooks for all non-conflicting commands (#151)
  • 7439620 add QEMU for github agent to build an arm64 image
  • 7c2f806 dry-run should not send web hooks #157

v0.19.0

1 year ago

New version 0.19.0 of resticprofile!

With:

  • New help system showing all flags from resticprofile and restic. Just type resticprofile help backup and see (thanks @jkellerer)
  • copy command now has run-before, run-after, run-after-fail and run-finally targets. Also more targets are now available for backup and for a profile. See the documentation.
  • groups of profiles can keep running after a profile failed (this is a global settings)
  • Prevent your system from idle sleeping (Windows, macOS, and unix type OS using systemd)
  • May contain nuts

Changelog

  • c360880 Add --help to own commands (e.g. generate --help) (#139)
  • 1edf995 Add last backup time to prometheus metrics (#132)
  • 8a70e7b Config: Add run before/after/fail to more restic commands than backup (#138)
  • 419e66c Continue profile in group on error (#149)
  • a880b44 Fixes zsh completion script (use of outdated CLI) (#150)
  • 49c4920 Prevent system from idle sleeping (#140)
  • d4c1032 add devcontainer config
  • 0c43c2c chore: upgrade packages

v0.18.0

1 year ago

Following the release of the long awaited restic 0.14.0, here’s a new resticprofile!

A few big features were introduced in this version:

  • HTTP hooks using a similar syntax to command hooks but sending HTTP messages to monitoring platforms
  • Better support of the new-ish copy command
  • Addition of mixins on configuration file v2 (in preview)
  • Ability to choose your preferred shell on Windows (cmd, powershell or bash)
  • Send resticprofile logs to a syslog server
  • Add armv8 (arm64) CPU target to docker images
  • Upgrade to restic 0.14.0 in docker image
  • Add rclone to docker image
  • Also search for a configuration file in the resticprofile program folder on Windows (to be used in portable mode)

Changelog

  • 7ba20ad Add http hooks (#114)
  • fb62876 Add support for syslog (#127)
  • a5c1147 Allow to choose shell in global config (#112)
  • d492d7d ConfigV2: Mixins (#115)
  • ca9a418 ConfigV2: Replace list params - fix #108 (#113)
  • 2ed3045 Initialise copy repository using --copy-chunker-params (#117)
  • 43ce0be Mixins: List merging & inheritance update (#121)
  • 1b8774c add binary dir in path and .BinaryDir template var (#134)
  • eb70a8a add goreleaser config to also build arm64 images
  • 35d07ee add rclone to docker image #131
  • 0381942 upgrade packages (CVE-2022-28948)