8
8
"slices"
9
9
"strings"
10
10
11
+ "github.com/coder/envbuilder/options"
12
+
11
13
"github.com/coder/coder/v2/codersdk"
12
14
"github.com/coder/envbuilder"
13
15
"github.com/coder/envbuilder/internal/log"
@@ -23,47 +25,47 @@ func main() {
23
25
cmd := envbuilderCmd ()
24
26
err := cmd .Invoke ().WithOS ().Run ()
25
27
if err != nil {
26
- fmt .Fprintf (os .Stderr , "error: %v" , err )
28
+ _ , _ = fmt .Fprintf (os .Stderr , "error: %v" , err )
27
29
os .Exit (1 )
28
30
}
29
31
}
30
32
31
33
func envbuilderCmd () serpent.Command {
32
- var options envbuilder .Options
34
+ var o options .Options
33
35
cmd := serpent.Command {
34
36
Use : "envbuilder" ,
35
- Options : options .CLI (),
37
+ Options : o .CLI (),
36
38
Handler : func (inv * serpent.Invocation ) error {
37
- options .Logger = log .New (os .Stderr , options .Verbose )
38
- if options .CoderAgentURL != "" {
39
- if options .CoderAgentToken == "" {
39
+ o .Logger = log .New (os .Stderr , o .Verbose )
40
+ if o .CoderAgentURL != "" {
41
+ if o .CoderAgentToken == "" {
40
42
return errors .New ("CODER_AGENT_URL must be set if CODER_AGENT_TOKEN is set" )
41
43
}
42
- u , err := url .Parse (options .CoderAgentURL )
44
+ u , err := url .Parse (o .CoderAgentURL )
43
45
if err != nil {
44
46
return fmt .Errorf ("unable to parse CODER_AGENT_URL as URL: %w" , err )
45
47
}
46
- coderLog , closeLogs , err := log .Coder (inv .Context (), u , options .CoderAgentToken )
48
+ coderLog , closeLogs , err := log .Coder (inv .Context (), u , o .CoderAgentToken )
47
49
if err == nil {
48
- options .Logger = log .Wrap (options .Logger , coderLog )
50
+ o .Logger = log .Wrap (o .Logger , coderLog )
49
51
defer closeLogs ()
50
52
// This adds the envbuilder subsystem.
51
53
// If telemetry is enabled in a Coder deployment,
52
54
// this will be reported and help us understand
53
55
// envbuilder usage.
54
- if ! slices .Contains (options .CoderAgentSubsystem , string (codersdk .AgentSubsystemEnvbuilder )) {
55
- options .CoderAgentSubsystem = append (options .CoderAgentSubsystem , string (codersdk .AgentSubsystemEnvbuilder ))
56
- _ = os .Setenv ("CODER_AGENT_SUBSYSTEM" , strings .Join (options .CoderAgentSubsystem , "," ))
56
+ if ! slices .Contains (o .CoderAgentSubsystem , string (codersdk .AgentSubsystemEnvbuilder )) {
57
+ o .CoderAgentSubsystem = append (o .CoderAgentSubsystem , string (codersdk .AgentSubsystemEnvbuilder ))
58
+ _ = os .Setenv ("CODER_AGENT_SUBSYSTEM" , strings .Join (o .CoderAgentSubsystem , "," ))
57
59
}
58
60
} else {
59
61
// Failure to log to Coder should cause a fatal error.
60
- options .Logger (log .LevelError , "unable to send logs to Coder: %s" , err .Error ())
62
+ o .Logger (log .LevelError , "unable to send logs to Coder: %s" , err .Error ())
61
63
}
62
64
}
63
65
64
- err := envbuilder .Run (inv .Context (), options )
66
+ err := envbuilder .Run (inv .Context (), o )
65
67
if err != nil {
66
- options .Logger (log .LevelError , "error: %s" , err )
68
+ o .Logger (log .LevelError , "error: %s" , err )
67
69
}
68
70
return err
69
71
},
0 commit comments