Merge pull request #734 from docker/add-version-in-user-agent

Add version to UserAgent on  ACI
This commit is contained in:
Nicolas De loof 2020-10-12 11:11:55 +02:00 committed by GitHub
commit a067882b6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 44 additions and 16 deletions

View File

@ -27,10 +27,9 @@ import (
"github.com/pkg/errors"
"github.com/docker/compose-cli/errdefs"
"github.com/docker/compose-cli/internal"
)
const userAgent = "docker-cli"
// NewContainerGroupsClient get client toi manipulate containerGrouos
func NewContainerGroupsClient(subscriptionID string) (containerinstance.ContainerGroupsClient, error) {
containerGroupsClient := containerinstance.NewContainerGroupsClient(subscriptionID)
@ -45,7 +44,7 @@ func NewContainerGroupsClient(subscriptionID string) (containerinstance.Containe
}
func setupClient(aciClient *autorest.Client) error {
aciClient.UserAgent = userAgent
aciClient.UserAgent = internal.UserAgentName + "/" + internal.Version
auth, err := NewAuthorizerFromLogin()
if err != nil {
return err

View File

@ -15,6 +15,8 @@
GOOS?=$(shell go env GOOS)
GOARCH?=$(shell go env GOARCH)
PKG_NAME := github.com/docker/compose-cli
PROTOS=$(shell find protos -name \*.proto)
EXTENSION:=
@ -26,7 +28,7 @@ STATIC_FLAGS=CGO_ENABLED=0
GIT_TAG?=$(shell git describe --tags --match "v[0-9]*")
LDFLAGS="-s -w -X main.version=${GIT_TAG}"
LDFLAGS="-s -w -X $(PKG_NAME)/internal.Version=${GIT_TAG}"
GO_BUILD=$(STATIC_FLAGS) go build -trimpath -ldflags=$(LDFLAGS)
BINARY?=bin/docker

View File

@ -26,18 +26,19 @@ import (
"github.com/docker/compose-cli/cli/cmd/mobyflags"
"github.com/docker/compose-cli/cli/mobycli"
"github.com/docker/compose-cli/formatter"
"github.com/docker/compose-cli/internal"
)
const formatOpt = "format"
// VersionCommand command to display version
func VersionCommand(version string) *cobra.Command {
func VersionCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "version",
Short: "Show the Docker version information",
Args: cobra.MaximumNArgs(0),
Run: func(cmd *cobra.Command, _ []string) {
runVersion(cmd, version)
runVersion(cmd)
},
}
// define flags for backward compatibility with com.docker.cli
@ -49,10 +50,10 @@ func VersionCommand(version string) *cobra.Command {
return cmd
}
func runVersion(cmd *cobra.Command, version string) {
func runVersion(cmd *cobra.Command) {
var versionString string
format := strings.ToLower(strings.ReplaceAll(cmd.Flag(formatOpt).Value.String(), " ", ""))
displayedVersion := strings.TrimPrefix(version, "v")
displayedVersion := strings.TrimPrefix(internal.Version, "v")
// Replace is preferred in this case to keep the order.
switch format {
case formatter.PRETTY, "":

View File

@ -37,7 +37,7 @@ import (
"github.com/docker/compose-cli/cli/cmd/login"
"github.com/docker/compose-cli/cli/cmd/logout"
"github.com/docker/compose-cli/cli/cmd/run"
volume "github.com/docker/compose-cli/cli/cmd/volume"
"github.com/docker/compose-cli/cli/cmd/volume"
"github.com/docker/compose-cli/cli/mobycli"
cliopts "github.com/docker/compose-cli/cli/options"
"github.com/docker/compose-cli/config"
@ -54,10 +54,6 @@ import (
_ "github.com/docker/compose-cli/local"
)
var (
version = "dev"
)
var (
contextAgnosticCommands = map[string]struct{}{
"compose": {},
@ -122,7 +118,7 @@ func main() {
cmd.InspectCommand(),
login.Command(),
logout.Command(),
cmd.VersionCommand(version),
cmd.VersionCommand(),
cmd.StopCommand(),
cmd.KillCommand(),
cmd.SecretCommand(),

View File

@ -28,6 +28,7 @@ import (
"github.com/docker/compose-cli/api/compose"
"github.com/docker/compose-cli/api/secrets"
"github.com/docker/compose-cli/internal"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/request"
@ -69,7 +70,7 @@ type sdk struct {
func newSDK(sess *session.Session) sdk {
sess.Handlers.Build.PushBack(func(r *request.Request) {
request.AddToUserAgent(r, "Docker CLI")
request.AddToUserAgent(r, internal.ECSUserAgentName+"/"+internal.Version)
})
return sdk{
ECS: ecs.New(sess),

29
internal/variables.go Normal file
View File

@ -0,0 +1,29 @@
/*
Copyright 2020 Docker Compose CLI authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package internal
const (
// UserAgentName is the default user agent used by the cli
UserAgentName = "docker-cli"
// ECSUserAgentName is the ECS specific user agent used by the cli
ECSUserAgentName = "Docker CLI"
)
var (
// Version is the version of the CLI injected in compilation time
Version = "dev"
)