more shared scaffolding between 'zrok' and 'zrokloop' (#40)

This commit is contained in:
Michael Quigley 2022-09-30 15:20:15 -04:00
parent 175f8e8167
commit 779eb8fb24
No known key found for this signature in database
GPG Key ID: 9B60314A9DD20A62
3 changed files with 20 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package main
import ( import (
"github.com/michaelquigley/pfxlog" "github.com/michaelquigley/pfxlog"
"github.com/openziti-test-kitchen/zrok/zrokdir"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"os" "os"
@ -13,11 +14,7 @@ func init() {
pfxlog.GlobalInit(logrus.InfoLevel, pfxlog.DefaultOptions().SetTrimPrefix("github.com/openziti-test-kitchen/")) pfxlog.GlobalInit(logrus.InfoLevel, pfxlog.DefaultOptions().SetTrimPrefix("github.com/openziti-test-kitchen/"))
rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Enable verbose logging") rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Enable verbose logging")
rootCmd.PersistentFlags().BoolVarP(&panicInstead, "panic", "p", false, "Panic instead of showing pretty errors") rootCmd.PersistentFlags().BoolVarP(&panicInstead, "panic", "p", false, "Panic instead of showing pretty errors")
apiEndpointDefault := os.Getenv("ZROK_API_ENDPOINT") zrokdir.AddZrokApiEndpointFlag(&apiEndpoint, rootCmd.PersistentFlags())
if apiEndpointDefault == "" {
apiEndpointDefault = "https://api.zrok.io"
}
rootCmd.PersistentFlags().StringVarP(&apiEndpoint, "endpoint", "e", apiEndpointDefault, "zrok API endpoint address")
rootCmd.AddCommand(httpCmd) rootCmd.AddCommand(httpCmd)
} }

View File

@ -1,6 +1,8 @@
package main package main
import ( import (
"github.com/michaelquigley/pfxlog"
"github.com/openziti-test-kitchen/zrok/zrokdir"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"os" "os"
@ -8,6 +10,12 @@ import (
"strings" "strings"
) )
func init() {
pfxlog.GlobalInit(logrus.InfoLevel, pfxlog.DefaultOptions().SetTrimPrefix("github.com/openziti-test-kitchen/"))
rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Enable verbose logging")
zrokdir.AddZrokApiEndpointFlag(&apiEndpoint, rootCmd.PersistentFlags())
}
var rootCmd = &cobra.Command{ var rootCmd = &cobra.Command{
Use: strings.TrimSuffix(filepath.Base(os.Args[0]), filepath.Ext(os.Args[0])), Use: strings.TrimSuffix(filepath.Base(os.Args[0]), filepath.Ext(os.Args[0])),
Short: "zrok loopback harness", Short: "zrok loopback harness",

View File

@ -6,9 +6,19 @@ import (
"github.com/go-openapi/strfmt" "github.com/go-openapi/strfmt"
"github.com/openziti-test-kitchen/zrok/rest_client_zrok" "github.com/openziti-test-kitchen/zrok/rest_client_zrok"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/pflag"
"net/url" "net/url"
"os"
) )
func AddZrokApiEndpointFlag(v *string, flags *pflag.FlagSet) {
defaultEndpoint := os.Getenv("ZROK_API_ENDPOINT")
if defaultEndpoint == "" {
defaultEndpoint = "https://api.zrok.io"
}
flags.StringVarP(v, "endpoint", "e", defaultEndpoint, "zrok API endpoint address")
}
func ZrokClient(endpoint string) (*rest_client_zrok.Zrok, error) { func ZrokClient(endpoint string) (*rest_client_zrok.Zrok, error) {
apiUrl, err := url.Parse(endpoint) apiUrl, err := url.Parse(endpoint)
if err != nil { if err != nil {