diff --git a/cloud/linode/client/client.go b/cloud/linode/client/client.go index a02e43f9..abf5bee7 100644 --- a/cloud/linode/client/client.go +++ b/cloud/linode/client/client.go @@ -4,7 +4,9 @@ package client import ( "context" + "fmt" "net/http" + "os" "time" "github.com/linode/linodego" @@ -56,8 +58,11 @@ type Client interface { // linodego.Client implements Client var _ Client = (*linodego.Client)(nil) -// New creates a new linode client with a given token, userAgent, and API URL -func New(token, userAgent, apiURL string, timeout time.Duration) (*linodego.Client, error) { +// New creates a new linode client with a given token and default timeout +func New(token string, timeout time.Duration) (*linodego.Client, error) { + userAgent := fmt.Sprintf("linode-cloud-controller-manager %s", linodego.DefaultUserAgent) + apiURL := os.Getenv("LINODE_URL") + tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: token}) oauth2Client := &http.Client{ Transport: &oauth2.Transport{ @@ -72,6 +77,6 @@ func New(token, userAgent, apiURL string, timeout time.Duration) (*linodego.Clie } client.SetUserAgent(userAgent) - klog.V(3).Infof("Linode client created with default timeout of %v seconds", timeout) + klog.V(3).Infof("Linode client created with default timeout of %v", timeout) return client, nil } diff --git a/cloud/linode/cloud.go b/cloud/linode/cloud.go index a2e9a04c..f1138988 100644 --- a/cloud/linode/cloud.go +++ b/cloud/linode/cloud.go @@ -8,7 +8,6 @@ import ( "sync" "time" - "github.com/linode/linodego" "github.com/spf13/pflag" "golang.org/x/exp/slices" "k8s.io/client-go/informers" @@ -22,7 +21,6 @@ const ( ProviderName = "linode" accessTokenEnv = "LINODE_API_TOKEN" regionEnv = "LINODE_REGION" - urlEnv = "LINODE_URL" ciliumLBType = "cilium-bgp" nodeBalancerLBType = "nodebalancer" ) @@ -97,18 +95,15 @@ func newCloud() (cloudprovider.Interface, error) { return nil, fmt.Errorf("%s must be set in the environment (use a k8s secret)", regionEnv) } - url := os.Getenv(urlEnv) - ua := fmt.Sprintf("linode-cloud-controller-manager %s", linodego.DefaultUserAgent) - // set timeout used by linodeclient for API calls timeout := client.DefaultClientTimeout if raw, ok := os.LookupEnv("LINODE_REQUEST_TIMEOUT_SECONDS"); ok { - if t, _ := strconv.Atoi(raw); t > 0 { + if t, err := strconv.Atoi(raw); err == nil && t > 0 { timeout = time.Duration(t) * time.Second } } - linodeClient, err := client.New(apiToken, ua, url, timeout) + linodeClient, err := client.New(apiToken, timeout) if err != nil { return nil, fmt.Errorf("client was not created succesfully: %w", err) }