c/s/e/cli: add equinix api cli tooling

This is a fairly simple and hacked together cli but it does its job for basic maintenance tasks

Change-Id: I043c12b930546f9405b9f8190326724122f1c0aa
Reviewed-on: https://review.monogon.dev/c/monogon/+/1704
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/cloud/shepherd/equinix/cli/main.go b/cloud/shepherd/equinix/cli/main.go
new file mode 100644
index 0000000..aa6f411
--- /dev/null
+++ b/cloud/shepherd/equinix/cli/main.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+	"flag"
+
+	"github.com/spf13/cobra"
+
+	"k8s.io/klog"
+
+	"source.monogon.dev/cloud/shepherd/equinix/wrapngo"
+)
+
+// rootCmd represents the base command when called without any subcommands
+var rootCmd = &cobra.Command{
+	PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
+		if c.APIKey == "" || c.User == "" {
+			klog.Exitf("-equinix_api_username and -equinix_api_key must be set")
+		}
+		return nil
+	},
+}
+
+var c wrapngo.Opts
+
+func init() {
+	c.RegisterFlags()
+	rootCmd.PersistentFlags().AddGoFlagSet(flag.CommandLine)
+}
+
+func main() {
+	cobra.CheckErr(rootCmd.Execute())
+}