From a1ded4c166a56358c729e12e1dd39e2c6e789bf2 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Mon, 19 Dec 2022 18:19:54 -0800 Subject: [PATCH] cmd/sync-containers: add a dry-run option. Updates tailscale/corp#8461 Signed-off-by: David Anderson --- cmd/sync-containers/main.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/sync-containers/main.go b/cmd/sync-containers/main.go index 21210a926..8235e2040 100644 --- a/cmd/sync-containers/main.go +++ b/cmd/sync-containers/main.go @@ -31,9 +31,10 @@ import ( ) var ( - src = flag.String("src", "", "Source image") - dst = flag.String("dst", "", "Destination image") - max = flag.Int("max", 0, "Maximum number of tags to sync (0 for all tags)") + src = flag.String("src", "", "Source image") + dst = flag.String("dst", "", "Destination image") + max = flag.Int("max", 0, "Maximum number of tags to sync (0 for all tags)") + dryRun = flag.Bool("dry-run", true, "Don't actually sync anything") ) func main() { @@ -69,9 +70,13 @@ func main() { } } for _, tag := range add { - log.Printf("Syncing tag %q", tag) - if err := copyTag(*src, *dst, tag, opts...); err != nil { - log.Printf("Syncing tag %q: progress error: %v", tag, err) + if !*dryRun { + log.Printf("Syncing tag %q", tag) + if err := copyTag(*src, *dst, tag, opts...); err != nil { + log.Printf("Syncing tag %q: progress error: %v", tag, err) + } + } else { + log.Printf("Dry run: would sync tag %q", tag) } }