m/c/metroctl: add skeleton and dependencies

This adds the skeleton for the Metropolis control command line,
metroctl. It currently consists of a single root command doing nothing
and the dependency updates for viper, the library providing command
line parsing and completion support.
Actual functionality will be in subsequent CLs.

Change-Id: I73d0e2956d9550902a80295928e94cb32bb12cfc
Reviewed-on: https://review.monogon.dev/c/monogon/+/337
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/cli/metroctl/main.go b/metropolis/cli/metroctl/main.go
new file mode 100644
index 0000000..29d44e8
--- /dev/null
+++ b/metropolis/cli/metroctl/main.go
@@ -0,0 +1,15 @@
+package main
+
+import (
+	"github.com/spf13/cobra"
+)
+
+// rootCmd represents the base command when called without any subcommands
+var rootCmd = &cobra.Command{
+	Use:   "metroctl",
+	Short: "metroctl controls Metropolis nodes and clusters.",
+}
+
+func main() {
+	cobra.CheckErr(rootCmd.Execute())
+}