From 5454755dbfffba0fd61c65f5d7fc412d877b40d4 Mon Sep 17 00:00:00 2001 From: MJ Palanker Date: Thu, 9 Jan 2025 12:31:45 -0800 Subject: [PATCH 1/5] pass along version to SDK --- cmd/cone/main.go | 3 ++- pkg/client/client.go | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cmd/cone/main.go b/cmd/cone/main.go index 765de3dc..9d09d497 100644 --- a/cmd/cone/main.go +++ b/cmd/cone/main.go @@ -21,7 +21,8 @@ func main() { // Notify the channel for specified signals signal.Notify(signalCh, os.Interrupt, syscall.SIGTERM) - ctx, cancel := context.WithCancel(context.Background()) + ctx := context.WithValue(context.Background(), client.VersionKey, version) + ctx, cancel := context.WithCancel(ctx) go func() { // Block until a signal is received diff --git a/pkg/client/client.go b/pkg/client/client.go index 5bbd491a..e7f7da19 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -2,6 +2,7 @@ package client import ( "context" + "fmt" "net/http" "net/url" "strconv" @@ -16,6 +17,10 @@ import ( const ConeClientID = "2RGdOS94VDferT9e80mdgntl36K" +type contextKey string + +const VersionKey contextKey = "version" + type client struct { httpClient *http.Client clientName string @@ -132,9 +137,18 @@ func New( } c.baseURL = &apiURL + var version = "dev" + switch v := ctx.Value(VersionKey).(type) { + case string: + if v != "" { + version = v + } + } + c.sdk = sdk.New( sdk.WithClient(uclient), sdk.WithServerURL(apiURL.String()), + sdk.WithExtraUserAgent(fmt.Sprintf("cone/%s", version)), ) return c, nil From ef652a2fdf61c059d855f18153aa095fb1f75e26 Mon Sep 17 00:00:00 2001 From: MJ Palanker Date: Thu, 9 Jan 2025 12:32:09 -0800 Subject: [PATCH 2/5] DEBUG: temp vendor change for SDK function in review --- .../conductorone/conductorone-sdk-go/extra_sdk_options.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go index daf6472b..325efd84 100644 --- a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go +++ b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go @@ -4,6 +4,7 @@ import ( "context" "crypto/tls" "errors" + "fmt" "net/http" "net/url" "strings" @@ -16,6 +17,12 @@ import ( const c1TenantDomain = ".conductor.one" const ClientIdGolangSDK = "2RCzHlak5q7CY14SdBc8HoZEJRf" +func WithExtraUserAgent(userAgent string) SDKOption { + return func(sdk *ConductoroneAPI) { + sdk.sdkConfiguration.UserAgent = fmt.Sprintf("%s %s", userAgent, sdk.sdkConfiguration.UserAgent) + } +} + func WithTenant(input string) (SDKOption, error) { resp, err := NormalizeTenant(input) if err != nil { From 799e9ce3f6d5fa9174fbd866b7f3e2b0b2499898 Mon Sep 17 00:00:00 2001 From: MJ Palanker Date: Thu, 9 Jan 2025 13:00:50 -0800 Subject: [PATCH 3/5] linter prefers an if here --- pkg/client/client.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index e7f7da19..488ab210 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -138,11 +138,9 @@ func New( c.baseURL = &apiURL var version = "dev" - switch v := ctx.Value(VersionKey).(type) { - case string: - if v != "" { - version = v - } + + if v := ctx.Value(VersionKey).(string); v != "" { + version = v } c.sdk = sdk.New( From 4f3add79861f1b07ffdd8312f72a8069bca3c07e Mon Sep 17 00:00:00 2001 From: MJ Palanker Date: Fri, 10 Jan 2025 13:59:20 -0800 Subject: [PATCH 4/5] Revert "DEBUG: temp vendor change for SDK function in review" This reverts commit ef652a2fdf61c059d855f18153aa095fb1f75e26. --- .../conductorone/conductorone-sdk-go/extra_sdk_options.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go index 325efd84..daf6472b 100644 --- a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go +++ b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go @@ -4,7 +4,6 @@ import ( "context" "crypto/tls" "errors" - "fmt" "net/http" "net/url" "strings" @@ -17,12 +16,6 @@ import ( const c1TenantDomain = ".conductor.one" const ClientIdGolangSDK = "2RCzHlak5q7CY14SdBc8HoZEJRf" -func WithExtraUserAgent(userAgent string) SDKOption { - return func(sdk *ConductoroneAPI) { - sdk.sdkConfiguration.UserAgent = fmt.Sprintf("%s %s", userAgent, sdk.sdkConfiguration.UserAgent) - } -} - func WithTenant(input string) (SDKOption, error) { resp, err := NormalizeTenant(input) if err != nil { From 3d56b0d84b9d637bc8e6eec702aa23cd888460c2 Mon Sep 17 00:00:00 2001 From: MJ Palanker Date: Fri, 10 Jan 2025 14:03:52 -0800 Subject: [PATCH 5/5] use new sdk for ExtraUserAgent --- go.mod | 2 +- go.sum | 4 ++-- .../conductorone/conductorone-sdk-go/extra_sdk_options.go | 7 +++++++ vendor/modules.txt | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 25808413..84cb7db4 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( require ( github.com/conductorone/baton-sdk v0.2.35 - github.com/conductorone/conductorone-sdk-go v1.22.0 + github.com/conductorone/conductorone-sdk-go v1.23.0 github.com/pterm/pterm v0.12.62 github.com/toqueteos/webbrowser v1.2.0 github.com/xhit/go-str2duration/v2 v2.1.0 diff --git a/go.sum b/go.sum index 80b07687..c4c6ff19 100644 --- a/go.sum +++ b/go.sum @@ -30,8 +30,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/conductorone/baton-sdk v0.2.35 h1:aSdNvlM5HMti8WdhotrXTHWs+b+BmSqMxtGwsSUFxjY= github.com/conductorone/baton-sdk v0.2.35/go.mod h1:hmd/Oz3DPIKD+9QmkusZaA18ZoiinnTDdrxh2skcdUc= -github.com/conductorone/conductorone-sdk-go v1.22.0 h1:sz9nz/85YZ0pJ/U3b63QEzE3WMSz6HuCjRTi/kb3mbU= -github.com/conductorone/conductorone-sdk-go v1.22.0/go.mod h1:vr3946WqFYEpOuIGy/TqXkarhhCzHSKsmXXsxCmeIj8= +github.com/conductorone/conductorone-sdk-go v1.23.0 h1:xRWsFNztcFEx4w+e1RRNbUyKaXzrIXk8htASQMAE39g= +github.com/conductorone/conductorone-sdk-go v1.23.0/go.mod h1:vr3946WqFYEpOuIGy/TqXkarhhCzHSKsmXXsxCmeIj8= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= diff --git a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go index daf6472b..887ffd98 100644 --- a/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go +++ b/vendor/github.com/conductorone/conductorone-sdk-go/extra_sdk_options.go @@ -4,6 +4,7 @@ import ( "context" "crypto/tls" "errors" + "fmt" "net/http" "net/url" "strings" @@ -33,6 +34,12 @@ func WithTenant(input string) (SDKOption, error) { return func(api *ConductoroneAPI) {}, nil } +func WithExtraUserAgent(userAgent string) SDKOption { + return func(sdk *ConductoroneAPI) { + sdk.sdkConfiguration.UserAgent = fmt.Sprintf("%s %s", userAgent, sdk.sdkConfiguration.UserAgent) + } +} + type CustomSDKOption func(*CustomOptions) func WithTenantCustom(input string) (CustomSDKOption, error) { diff --git a/vendor/modules.txt b/vendor/modules.txt index 57697d67..fe8eca3f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -28,7 +28,7 @@ github.com/cenkalti/backoff/v4 github.com/conductorone/baton-sdk/pb/c1/connector/v2 github.com/conductorone/baton-sdk/pkg/crypto/providers github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk -# github.com/conductorone/conductorone-sdk-go v1.22.0 +# github.com/conductorone/conductorone-sdk-go v1.23.0 ## explicit; go 1.21 github.com/conductorone/conductorone-sdk-go github.com/conductorone/conductorone-sdk-go/internal/hooks