Browse Source

cmd/sync-containers: add a dry-run option.

Updates tailscale/corp#8461

Signed-off-by: David Anderson <[email protected]>
David Anderson 3 years ago
parent
commit
a1ded4c166
1 changed files with 11 additions and 6 deletions
  1. 11 6
      cmd/sync-containers/main.go

+ 11 - 6
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)
 		}
 	}