Skip to content

Commit c77ff2d

Browse files
authored
Merge pull request #645 from jetstack/user-agent-improvemnent
feat: Use centralized function for setting user agent across codebase
2 parents 677f725 + 04ad03f commit c77ff2d

File tree

5 files changed

+24
-7
lines changed

5 files changed

+24
-7
lines changed

pkg/client/client_api_token.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func (c *APITokenClient) Post(ctx context.Context, path string, body io.Reader)
9191

9292
req.Header.Set("Content-Type", "application/json")
9393
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", c.apiToken))
94-
req.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
94+
version.SetUserAgent(req)
9595

9696
return c.client.Do(req)
9797
}

pkg/client/client_oauth.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ func (c *OAuthClient) Post(ctx context.Context, path string, body io.Reader) (*h
152152
}
153153

154154
req.Header.Set("Content-Type", "application/json")
155-
req.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
155+
156+
version.SetUserAgent(req)
156157

157158
if len(token.bearer) > 0 {
158159
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token.bearer))
@@ -190,7 +191,7 @@ func (c *OAuthClient) renewAccessToken(ctx context.Context) error {
190191
return errors.WithStack(err)
191192
}
192193
req.Header.Add("content-type", "application/x-www-form-urlencoded")
193-
req.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
194+
version.SetUserAgent(req)
194195

195196
res, err := http.DefaultClient.Do(req)
196197
if err != nil {

pkg/client/client_venafi_cloud.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ func (c *VenafiCloudClient) Post(ctx context.Context, path string, body io.Reade
273273

274274
req.Header.Set("Accept", "application/json")
275275
req.Header.Set("Content-Type", "application/json")
276-
req.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
276+
version.SetUserAgent(req)
277277

278278
if len(token.accessToken) > 0 {
279279
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token.accessToken))
@@ -316,7 +316,7 @@ func (c *VenafiCloudClient) updateAccessToken(ctx context.Context) error {
316316

317317
request.Header.Add("Content-Type", "application/x-www-form-urlencoded")
318318
request.Header.Add("Content-Length", strconv.Itoa(len(encoded)))
319-
request.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
319+
version.SetUserAgent(request)
320320

321321
now := time.Now()
322322
accessToken := accessTokenInformation{}

pkg/client/client_venconn.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func NewVenConnClient(restcfg *rest.Config, agentMetadata *api.AgentMetadata, in
8787
_ = corev1.AddToScheme(scheme)
8888

8989
handler, err := venafi_client.NewConnectionHandler(
90-
"venafi-kubernetes-agent/"+version.PreflightVersion,
90+
version.UserAgent(),
9191
"venafi-kubernetes-agent.jetstack.io",
9292
"VenafiKubernetesAgent",
9393
restcfg,
@@ -168,8 +168,8 @@ func (c *VenConnClient) PostDataReadingsWithOptions(ctx context.Context, reading
168168
}
169169

170170
req.Header.Set("Content-Type", "application/json")
171-
req.Header.Set("User-Agent", fmt.Sprintf("venafi-kubernetes-agent/%s", version.PreflightVersion))
172171
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", details.VCP.AccessToken))
172+
version.SetUserAgent(req)
173173

174174
q := req.URL.Query()
175175
q.Set("name", opts.ClusterName)

pkg/version/version.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package version
22

3+
import (
4+
"fmt"
5+
"net/http"
6+
)
7+
38
// This variables are injected at build time.
49

510
// PreflightVersion hosts the version of the app.
@@ -13,3 +18,14 @@ var BuildDate string
1318

1419
// GoVersion is the go version that was used to compile this
1520
var GoVersion string
21+
22+
// UserAgent return a standard user agent for use with all HTTP requests. This is implemented in one place so
23+
// it's uniform across the Kubernetes Agent.
24+
func UserAgent() string {
25+
return fmt.Sprintf("venafi-kubernetes-agent/%s", PreflightVersion)
26+
}
27+
28+
// SetUserAgent augments an http.Request with a standard user agent.
29+
func SetUserAgent(req *http.Request) {
30+
req.Header.Set("User-Agent", UserAgent())
31+
}

0 commit comments

Comments
 (0)