4
4
"errors"
5
5
"fmt"
6
6
"os"
7
+ "strings"
7
8
8
9
"github.com/pterm/pterm"
9
10
"github.com/spf13/cobra"
@@ -14,18 +15,15 @@ import (
14
15
"github.com/kubeshop/testkube/pkg/ui"
15
16
)
16
17
18
+ const (
19
+ StableReleasePlaceholder = "<latest-stable-release>"
20
+ )
21
+
17
22
func NewInitCmd () * cobra.Command {
18
23
var noLogin bool // ignore ask for login
19
24
var dockerContainerName , dockerImage string
20
25
var options common.HelmOptions
21
26
22
- latestVersion , err := common .GetLatestVersion ()
23
- ui .ExitOnError ("Gettong latest version" , err )
24
-
25
- if latestVersion != "" {
26
- latestVersion = ":" + latestVersion
27
- }
28
-
29
27
cmd := & cobra.Command {
30
28
Use : "init" ,
31
29
Short : "Run Testkube Docker Agent and connect to Testkube Pro environment" ,
@@ -34,6 +32,12 @@ func NewInitCmd() *cobra.Command {
34
32
ui .Info ("WELCOME TO" )
35
33
ui .Logo ()
36
34
35
+ if strings .Contains (dockerImage , StableReleasePlaceholder ) {
36
+ latestVersion , err := common .GetLatestVersion ()
37
+ ui .ExitOnError ("Getting latest version" , err )
38
+ dockerImage = strings .ReplaceAll (dockerImage , StableReleasePlaceholder , latestVersion )
39
+ }
40
+
37
41
cfg , err := config .Load ()
38
42
if err != nil {
39
43
cliErr := common .NewCLIError (
@@ -135,7 +139,7 @@ func NewInitCmd() *cobra.Command {
135
139
136
140
cmd .Flags ().BoolVarP (& noLogin , "no-login" , "" , false , "Ignore login prompt, set existing token later by `testkube set context`" )
137
141
cmd .Flags ().StringVar (& dockerContainerName , "docker-container" , "testkube-agent" , "Docker container name for Testkube Docker Agent" )
138
- cmd .Flags ().StringVar (& dockerImage , "docker-image" , "kubeshop/testkube-agent" + latestVersion , "Docker image for Testkube Docker Agent" )
142
+ cmd .Flags ().StringVar (& dockerImage , "docker-image" , "kubeshop/testkube-agent:" + StableReleasePlaceholder , "Docker image for Testkube Docker Agent" )
139
143
140
144
return cmd
141
145
}
0 commit comments