From d75e17a48934e4896963fb0fee78dbd53f4e780b Mon Sep 17 00:00:00 2001 From: Slack Coder Date: Mon, 21 Apr 2025 16:45:39 -0500 Subject: Implement staging and verification Ensure data integrity by supporting data staging and verification. --- .../service/testdata/integration_test_config.toml | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 internal/service/testdata/integration_test_config.toml (limited to 'internal/service/testdata') diff --git a/internal/service/testdata/integration_test_config.toml b/internal/service/testdata/integration_test_config.toml new file mode 100644 index 0000000..87a93e5 --- /dev/null +++ b/internal/service/testdata/integration_test_config.toml @@ -0,0 +1,29 @@ +[[mirrors]] +method = "git" +from = "https://git.server.ky/slackcoder/mirror" +to = "/tmp/local-mirror/slackcoder/mirror" +description = "Mirror project" +staging-method = "temporary" +verify = "git verify-commit HEAD" + +[[mirrors]] +method = "rsync" +from = "rsync://ftp.gnu.org/gnu/taler" +to = "/tmp/local-mirror/gnu/taler" +staging-method = "persistent" +verify = "find . -print0 -mindepth 1 -not -name '*.sig' | xargs -0L1 -d '{}' gpg2 --verify-files '{}'.sig" + +[[mirrors]] +method = "github-assets" +from = "https://github.com/yt-dlp/yt-dlp" +to = "/tmp/local-mirror/yt-dlp" +staging-method = "persistent" +verify = """ +mapfile -d '' releases < <( find . -maxdepth 1 -mindepth 1 -type d -print0 ) +for release in "${releases[@]}"; do + (cd "$release"; + gpg2 --quiet --verify-files SHA2-256SUMS.sig && + sha256sum --quiet --check SHA2-256SUMS + ) || exit 1 +done +""" -- cgit v1.2.3