From patchwork Tue Jun 18 22:06:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sent X-Patchwork-Id: 2635 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E996C27BBE9; Tue, 18 Jun 2024 23:08:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4B8D127BBE2 for ; Tue, 18 Jun 2024 23:08:27 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sJgzi-0003uJ-9z; Tue, 18 Jun 2024 18:08:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJgzg-0003tX-6I for guix-patches@gnu.org; Tue, 18 Jun 2024 18:08:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sJgzf-0002bo-UO for guix-patches@gnu.org; Tue, 18 Jun 2024 18:07:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sJgzi-0002xt-F5 for guix-patches@gnu.org; Tue, 18 Jun 2024 18:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#71639] [PATCH WIP 0/5] Improve on restic-backup-service Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Jun 2024 22:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71639 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 71639@debbugs.gnu.org Cc: ludo@gnu.org, Richard Sent , goodoldpaul@autistici.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.171874846311362 (code B ref -1); Tue, 18 Jun 2024 22:08:02 +0000 Received: (at submit) by debbugs.gnu.org; 18 Jun 2024 22:07:43 +0000 Received: from localhost ([127.0.0.1]:53570 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sJgzP-0002xB-0t for submit@debbugs.gnu.org; Tue, 18 Jun 2024 18:07:43 -0400 Received: from lists.gnu.org ([209.51.188.17]:35620) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sJgzN-0002x3-C8 for submit@debbugs.gnu.org; Tue, 18 Jun 2024 18:07:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJgzK-0003Mu-7m for guix-patches@gnu.org; Tue, 18 Jun 2024 18:07:38 -0400 Received: from mail-108-mta195.mxroute.com ([136.175.108.195]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sJgzI-0002Yd-7S for guix-patches@gnu.org; Tue, 18 Jun 2024 18:07:37 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta195.mxroute.com (ZoneMTA) with ESMTPSA id 1902d640dc100017a3.002 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Tue, 18 Jun 2024 22:07:30 +0000 X-Zone-Loop: 6711eaba758ab41ff3c9968e498f796cb14218e7d8cf X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=iwDCiCs+dK8y88FPWQJfX7kqlGbI2i7OWnVnHH8ZO28=; b=Lb7IbzNz/ewgTEyyNib9Gmpd4V Ivcs8bRzdLdar+I0Kiyda1zAaA95KjfphYPxteiS41dSRow7NysP2yD22aFXEZCBGI+4LsYhZfknH QBm5IIufCkLjATsEyAcgghEAiY0QWA1c2zIC1CpKvixm8H0orSm9kl12/DeH9tixy01o1Z53U52XH IyuVJNcFMIJIkLAcYtFtC1k2RmQ8uV5hr/GKQVmYTLJFTXYmmaDxrKrOcZvC3uNkr/tFGSwM0Qj4W 4JVL86koFgeYOtq0A/YRfOnj/SQx+ObP1aEvX/cZ2FSMRg1g+tGQj9+XPD6HGXUGj88813In2TqAU bVseFRAw==; From: Richard Sent Date: Tue, 18 Jun 2024 18:06:39 -0400 Message-ID: MIME-Version: 1.0 X-Authenticated-Id: richard@freakingpenguin.com Received-SPF: pass client-ip=136.175.108.195; envelope-from=richard@freakingpenguin.com; helo=mail-108-mta195.mxroute.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Hi all! This is the previously promised [1] patch series relating to restic-backup-service. The highlights: 1. init? was added that bootstraps a new backup. 2. RESTIC_PASSWORD_COMMAND support. 3. Add extra-packages field for jobs. 4. Move restic from restic-backup-job to restic-backup-configuration. 5. Add a basic system-level test suite. Regarding 4, the previous way felt a bit orthogonal to how services of a similar nature work. (For example, you don't specify an mcron package for every job.) I can't think of a use case for mixing-and-matching restic packages with different jobs. If there is a reason, I think a good compromise would be a "restic-override" job field. I'm marking this as WIP because there are a couple more things I want to investigate, but it feels complete enough to submit for feedback. My main point of interest is what can be done to improve support for Restic's other backends, see [2]. I imagine 0.9.6 only supports a subset of those, but still. In my dream world we could combine this patch with an upgrade to the restic package itself (which, among other things, supports compression). I asked the developers about (re)including a vendor directory in their tarball but haven't heard back [3]. Perhaps this service can spark some action on an old Guix tracking issue [4]. [1]: https://issues.guix.gnu.org/69513#7 [2]: https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html [3]: https://github.com/restic/restic/issues/3945#issuecomment-2141090355 [4]: https://issues.guix.gnu.org/63019 Richard Sent (5): services: backup: Support bootstrapping an initial restic backup services: backup: Add password-command support to restic-service services: backup: Add extra-packages field to restic-backup-job services: backup: Move restic package to restic-configuration tests: Add restic system test. doc/guix.texi | 21 ++++++- gnu/services/backup.scm | 131 +++++++++++++++++++++++++++++----------- gnu/tests/restic.scm | 124 +++++++++++++++++++++++++++++++++++++ 3 files changed, 238 insertions(+), 38 deletions(-) create mode 100644 gnu/tests/restic.scm base-commit: a575d0f5d5322bac977423b6bd2742c8dc5a14a6