88 "slices"
99 "strings"
1010
11+ "github.com/coder/envbuilder/options"
12+
1113 "github.com/coder/coder/v2/codersdk"
1214 "github.com/coder/envbuilder"
1315 "github.com/coder/envbuilder/internal/log"
@@ -23,47 +25,47 @@ func main() {
2325 cmd := envbuilderCmd ()
2426 err := cmd .Invoke ().WithOS ().Run ()
2527 if err != nil {
26- fmt .Fprintf (os .Stderr , "error: %v" , err )
28+ _ , _ = fmt .Fprintf (os .Stderr , "error: %v" , err )
2729 os .Exit (1 )
2830 }
2931}
3032
3133func envbuilderCmd () serpent.Command {
32- var options envbuilder .Options
34+ var o options .Options
3335 cmd := serpent.Command {
3436 Use : "envbuilder" ,
35- Options : options .CLI (),
37+ Options : o .CLI (),
3638 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 == "" {
4042 return errors .New ("CODER_AGENT_URL must be set if CODER_AGENT_TOKEN is set" )
4143 }
42- u , err := url .Parse (options .CoderAgentURL )
44+ u , err := url .Parse (o .CoderAgentURL )
4345 if err != nil {
4446 return fmt .Errorf ("unable to parse CODER_AGENT_URL as URL: %w" , err )
4547 }
46- coderLog , closeLogs , err := log .Coder (inv .Context (), u , options .CoderAgentToken )
48+ coderLog , closeLogs , err := log .Coder (inv .Context (), u , o .CoderAgentToken )
4749 if err == nil {
48- options .Logger = log .Wrap (options .Logger , coderLog )
50+ o .Logger = log .Wrap (o .Logger , coderLog )
4951 defer closeLogs ()
5052 // This adds the envbuilder subsystem.
5153 // If telemetry is enabled in a Coder deployment,
5254 // this will be reported and help us understand
5355 // 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 , "," ))
5759 }
5860 } else {
5961 // 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 ())
6163 }
6264 }
6365
64- err := envbuilder .Run (inv .Context (), options )
66+ err := envbuilder .Run (inv .Context (), o )
6567 if err != nil {
66- options .Logger (log .LevelError , "error: %s" , err )
68+ o .Logger (log .LevelError , "error: %s" , err )
6769 }
6870 return err
6971 },
0 commit comments