diff --git a/.gitignore b/.gitignore index 4979019..ec6b8a8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ dstrm *.json *.tar.gz s3.json -config.yaml +/*.yaml diff --git a/go.mod b/go.mod index ae077fd..8fba39b 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.7.1 - github.com/strmprivacy/api-definitions-go/v2 v2.1.0 // indirect + github.com/strmprivacy/api-definitions-go/v2 v2.1.0 golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect @@ -33,4 +33,5 @@ require ( google.golang.org/protobuf v1.27.1 gopkg.in/ini.v1 v1.62.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 + sigs.k8s.io/yaml v1.3.0 ) diff --git a/go.sum b/go.sum index 2b62790..b1dc228 100644 --- a/go.sum +++ b/go.sum @@ -686,3 +686,5 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/pkg/auth/user.go b/pkg/auth/user.go index 3418353..e307ee9 100644 --- a/pkg/auth/user.go +++ b/pkg/auth/user.go @@ -13,9 +13,9 @@ import ( "net" "net/http" "os" + "strings" "strmprivacy/strm/pkg/common" "strmprivacy/strm/pkg/entity" - "strings" ) var Auth = Authenticator{} diff --git a/pkg/common/constants.go b/pkg/common/constants.go index 884243b..d951dd7 100644 --- a/pkg/common/constants.go +++ b/pkg/common/constants.go @@ -8,9 +8,8 @@ var ConfigPath string // For example, --api-host is bound to STRM_API_HOST const EnvPrefix = "STRM" - -const ClientIdFlag = "client-id" -const ClientSecretFlag = "client-secret" +const ClientIdFlag = "client-id" +const ClientSecretFlag = "client-secret" const DefaultConfigFilename = "config" const DefaultConfigFileSuffix = ".yaml" diff --git a/pkg/context/context.go b/pkg/context/context.go index 955b1f6..60999bd 100644 --- a/pkg/context/context.go +++ b/pkg/context/context.go @@ -5,9 +5,9 @@ import ( "io/fs" "io/ioutil" "path" + "strings" "strmprivacy/strm/pkg/auth" "strmprivacy/strm/pkg/common" - "strings" ) type configuration struct { diff --git a/pkg/context/printers.go b/pkg/context/printers.go index 0717dc2..e31393d 100644 --- a/pkg/context/printers.go +++ b/pkg/context/printers.go @@ -6,9 +6,9 @@ import ( "github.com/jedib0t/go-pretty/v6/list" "github.com/spf13/cobra" "os" + "strings" "strmprivacy/strm/pkg/common" "strmprivacy/strm/pkg/util" - "strings" ) var printer util.Printer diff --git a/pkg/entity/entity.go b/pkg/entity/entity.go index 7c3dfda..2a68ec0 100644 --- a/pkg/entity/entity.go +++ b/pkg/entity/entity.go @@ -5,8 +5,8 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials" "google.golang.org/grpc/metadata" - "strmprivacy/strm/pkg/common" "strings" + "strmprivacy/strm/pkg/common" ) func SetupGrpc(host string, token *string) (*grpc.ClientConn, context.Context) { diff --git a/pkg/entity/schema/cmd.go b/pkg/entity/schema/cmd.go index 14775ac..166aff8 100644 --- a/pkg/entity/schema/cmd.go +++ b/pkg/entity/schema/cmd.go @@ -46,7 +46,7 @@ func CreateCmd() *cobra.Command { Args: cobra.ExactArgs(1), } flags := createCmd.Flags() - flags.String(definitionFlag, "", "filename of the definition") + flags.String(definitionFlag, "", "filename of the definition (either Simple Schema, Avro or Json)") _ = createCmd.MarkFlagRequired(definitionFlag) flags.String(schemaTypeFlag, "AVRO", "type of schema") flags.Bool(publicFlag, false, "should the schema become public") diff --git a/pkg/entity/schema/schema.go b/pkg/entity/schema/schema.go index a0810fb..c3e283c 100644 --- a/pkg/entity/schema/schema.go +++ b/pkg/entity/schema/schema.go @@ -6,6 +6,8 @@ import ( "io/ioutil" "strings" + "sigs.k8s.io/yaml" + "github.com/spf13/cobra" "github.com/spf13/pflag" "github.com/strmprivacy/api-definitions-go/v2/api/entities/v1" @@ -117,9 +119,15 @@ func create(cmd *cobra.Command, args *string) { IsPublic: isPublic, }, } + // try yaml + convertedToJson, err := yaml.YAMLToJSON(definition) + if err == nil { + definition = convertedToJson + } + // try json err = protojson.Unmarshal(definition, simple) if err == nil { - // it's a simple message + // it's a simple schema req.Schema.SimpleSchema = simple } else { req.Schema.Definition = string(definition) diff --git a/pkg/entity/usage/usage.go b/pkg/entity/usage/usage.go index 4cb2070..c9fead6 100644 --- a/pkg/entity/usage/usage.go +++ b/pkg/entity/usage/usage.go @@ -12,10 +12,10 @@ import ( "google.golang.org/grpc" "regexp" "strconv" + "strings" "strmprivacy/strm/pkg/auth" "strmprivacy/strm/pkg/common" "strmprivacy/strm/pkg/util" - "strings" ) const ( diff --git a/pkg/kafkaconsumer/consumer.go b/pkg/kafkaconsumer/consumer.go index 101d7d7..7778a7f 100644 --- a/pkg/kafkaconsumer/consumer.go +++ b/pkg/kafkaconsumer/consumer.go @@ -8,11 +8,11 @@ import ( "log" "os" "os/signal" + "strings" "strmprivacy/strm/pkg/auth" "strmprivacy/strm/pkg/common" "strmprivacy/strm/pkg/entity/kafka_exporter" "strmprivacy/strm/pkg/util" - "strings" "sync" "syscall" ) diff --git a/test/test_util.go b/test/test_util.go index cbb3116..f5b8e50 100644 --- a/test/test_util.go +++ b/test/test_util.go @@ -14,8 +14,8 @@ import ( "os" "os/exec" "regexp" - "strmprivacy/strm/pkg/util" "strings" + "strmprivacy/strm/pkg/util" "testing" )