From 27947c67462ad14519df4800e7817d2cb9f84a01 Mon Sep 17 00:00:00 2001
From: Juan Font Alonso <juanfontalonso@gmail.com>
Date: Wed, 13 Oct 2021 00:18:55 +0200
Subject: [PATCH] This commit disables the version checker when JSON output
 (#153)

---
 cmd/headscale/cli/utils.go | 9 +++++++++
 cmd/headscale/headscale.go | 3 ++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/cmd/headscale/cli/utils.go b/cmd/headscale/cli/utils.go
index f879f91..95555e9 100644
--- a/cmd/headscale/cli/utils.go
+++ b/cmd/headscale/cli/utils.go
@@ -262,3 +262,12 @@ func JsonOutput(result interface{}, errResult error, outputFormat string) {
 	}
 	fmt.Println(string(j))
 }
+
+func HasJsonOutputFlag() bool {
+	for _, arg := range os.Args {
+		if arg == "json" || arg == "json-line" {
+			return true
+		}
+	}
+	return false
+}
diff --git a/cmd/headscale/headscale.go b/cmd/headscale/headscale.go
index f815001..6b1a843 100644
--- a/cmd/headscale/headscale.go
+++ b/cmd/headscale/headscale.go
@@ -62,7 +62,8 @@ func main() {
 		zerolog.SetGlobalLevel(zerolog.DebugLevel)
 	}
 
-	if !viper.GetBool("disable_check_updates") {
+	jsonOutput := cli.HasJsonOutputFlag()
+	if !viper.GetBool("disable_check_updates") && !jsonOutput {
 		if (runtime.GOOS == "linux" || runtime.GOOS == "darwin") && cli.Version != "dev" {
 			githubTag := &latest.GithubTag{
 				Owner:      "juanfont",