@@ -31,6 +31,31 @@ func main() {
3131 }
3232}
3333
34+ var configureFlags = []cli.Flag {
35+ & cli.StringFlag {
36+ Name : "server" ,
37+ Usage : "custom server" ,
38+ Hidden : true ,
39+ },
40+ & cli.BoolFlag {
41+ Name : "insecure" ,
42+ Usage : "do not verify certificate" ,
43+ Hidden : true ,
44+ },
45+ & cli.StringFlag {
46+ Name : "region" ,
47+ Usage : "the region to use (eu or us)" ,
48+ },
49+ & cli.BoolFlag {
50+ Name : "override" ,
51+ Usage : "if config already exists, it will be overridden" ,
52+ // deprecated, backward compatibility
53+ Hidden : true ,
54+ },
55+ }
56+
57+ var tokenDocs = fmt .Sprintf ("token from %s" , internal .WebsiteAddress )
58+
3459var app = & cli.App {
3560 Name : "tdl" ,
3661 Usage : "https://threedots.tech/ CLI." ,
@@ -84,30 +109,9 @@ var app = &cli.App{
84109 Subcommands : []* cli.Command {
85110 {
86111 Name : "configure" ,
87- Usage : "connect your environment with platform account" ,
88- ArgsUsage : fmt .Sprintf ("<token from %s>" , internal .WebsiteAddress ),
89- Flags : []cli.Flag {
90- & cli.StringFlag {
91- Name : "server" ,
92- Usage : "custom server" ,
93- Hidden : true ,
94- },
95- & cli.BoolFlag {
96- Name : "insecure" ,
97- Usage : "do not verify certificate" ,
98- Hidden : true ,
99- },
100- & cli.StringFlag {
101- Name : "region" ,
102- Usage : "the region to use (eu or us)" ,
103- },
104- & cli.BoolFlag {
105- Name : "override" ,
106- Usage : "if config already exists, it will be overridden" ,
107- // deprecated, backward compatibility
108- Hidden : true ,
109- },
110- },
112+ Usage : "connect your environment with https://academy.threedots.tech/ account" ,
113+ ArgsUsage : fmt .Sprintf ("<%s>" , tokenDocs ),
114+ Flags : configureFlags ,
111115 Action : func (c * cli.Context ) error {
112116 token := c .Args ().First ()
113117
@@ -130,6 +134,10 @@ var app = &cli.App{
130134 "<trainingID from %s> [directory, if empty defaults to trainingID]" ,
131135 internal .WebsiteAddress ,
132136 ),
137+ Flags : append (configureFlags , & cli.StringFlag {
138+ Name : "token" ,
139+ Usage : tokenDocs ,
140+ }),
133141 Usage : "initialise training files in your current directory" ,
134142 Action : func (c * cli.Context ) error {
135143 trainingID := c .Args ().First ()
@@ -143,7 +151,22 @@ var app = &cli.App{
143151 dir = trainingID
144152 }
145153
146- return newHandlers (c ).Init (c .Context , trainingID , dir )
154+ handlers := newHandlers (c )
155+
156+ if c .String ("token" ) != "" {
157+ err := handlers .ConfigureGlobally (
158+ c .Context ,
159+ c .String ("token" ),
160+ c .String ("server" ),
161+ c .String ("region" ),
162+ c .Bool ("insecure" ),
163+ )
164+ if err != nil {
165+ return fmt .Errorf ("could not configure training: %w" , err )
166+ }
167+ }
168+
169+ return handlers .Init (c .Context , trainingID , dir )
147170 },
148171 },
149172 {
0 commit comments