60
60
const (
61
61
varURL = "url"
62
62
varToken = "token"
63
- varAgentToken = "agent-token"
64
- varAgentTokenFile = "agent-token-file"
65
- varAgentURL = "agent-url"
66
- varAgentAuth = "auth"
67
63
varHeader = "header"
68
64
varHeaderCommand = "header-command"
69
65
varNoOpen = "no-open"
@@ -201,7 +197,7 @@ func (r *RootCmd) RunWithSubcommands(subcommands []*serpent.Command) {
201
197
func (r * RootCmd ) Command (subcommands []* serpent.Command ) (* serpent.Command , error ) {
202
198
fmtLong := `Coder %s — A tool for provisioning self-hosted development environments with Terraform.
203
199
`
204
- hiddenAgentAuth := NewAgentAuth ()
200
+ hiddenAgentAuth := & AgentAuth {}
205
201
cmd := & serpent.Command {
206
202
Use : "coder [global-flags] <subcommand>" ,
207
203
Long : fmt .Sprintf (fmtLong , buildinfo .Version ()) + FormatExamples (
@@ -652,42 +648,36 @@ type AgentAuth struct {
652
648
// Agent Client config
653
649
agentToken string
654
650
agentTokenFile string
655
- agentURL * url.URL
651
+ agentURL url.URL
656
652
agentAuth string
657
653
}
658
654
659
- func NewAgentAuth () * AgentAuth {
660
- return & AgentAuth {
661
- agentURL : new (url.URL ),
662
- }
663
- }
664
-
665
655
func (a * AgentAuth ) AttachOptions (cmd * serpent.Command , hidden bool ) {
666
656
cmd .Options = append (cmd .Options , serpent.Option {
667
657
Name : "Agent Token" ,
668
658
Description : "An agent authentication token." ,
669
- Flag : varAgentToken ,
659
+ Flag : "agent-token" ,
670
660
Env : envAgentToken ,
671
661
Value : serpent .StringOf (& a .agentToken ),
672
662
Hidden : hidden ,
673
663
}, serpent.Option {
674
664
Name : "Agent Token File" ,
675
665
Description : "A file containing an agent authentication token." ,
676
- Flag : varAgentTokenFile ,
666
+ Flag : "agent-token-file" ,
677
667
Env : envAgentTokenFile ,
678
668
Value : serpent .StringOf (& a .agentTokenFile ),
679
669
Hidden : hidden ,
680
670
}, serpent.Option {
681
671
Name : "Agent URL" ,
682
672
Description : "URL for an agent to access your deployment." ,
683
- Flag : varAgentURL ,
673
+ Flag : "agent-url" ,
684
674
Env : envAgentURL ,
685
- Value : serpent .URLOf (a .agentURL ),
675
+ Value : serpent .URLOf (& a .agentURL ),
686
676
Hidden : hidden ,
687
677
}, serpent.Option {
688
678
Name : "Agent Auth" ,
689
679
Description : "Specify the authentication type to use for the agent." ,
690
- Flag : varAgentAuth ,
680
+ Flag : "auth" ,
691
681
Env : envAgentAuth ,
692
682
Default : "token" ,
693
683
Value : serpent .StringOf (& a .agentAuth ),
@@ -699,7 +689,7 @@ func (a *AgentAuth) AttachOptions(cmd *serpent.Command, hidden bool) {
699
689
// just like InitClient, but uses the agent token and URL instead.
700
690
func (a * AgentAuth ) CreateClient (ctx context.Context ) (* agentsdk.Client , error ) {
701
691
agentURL := a .agentURL
702
- if agentURL == nil || agentURL .String () == "" {
692
+ if agentURL .String () == "" {
703
693
return nil , xerrors .Errorf ("%s must be set" , envAgentURL )
704
694
}
705
695
@@ -719,7 +709,7 @@ func (a *AgentAuth) CreateClient(ctx context.Context) (*agentsdk.Client, error)
719
709
if token == "" {
720
710
return nil , xerrors .Errorf ("CODER_AGENT_TOKEN or CODER_AGENT_TOKEN_FILE must be set for token auth" )
721
711
}
722
- return agentsdk .New (a .agentURL , agentsdk .WithFixedToken (token )), nil
712
+ return agentsdk .New (& a .agentURL , agentsdk .WithFixedToken (token )), nil
723
713
case "google-instance-identity" :
724
714
725
715
// This is *only* done for testing to mock client authentication.
@@ -729,9 +719,9 @@ func (a *AgentAuth) CreateClient(ctx context.Context) (*agentsdk.Client, error)
729
719
if gcpClientRaw != nil {
730
720
gcpClient , _ = gcpClientRaw .(* metadata.Client )
731
721
}
732
- return agentsdk .New (a .agentURL , agentsdk .WithGoogleInstanceIdentity ("" , gcpClient )), nil
722
+ return agentsdk .New (& a .agentURL , agentsdk .WithGoogleInstanceIdentity ("" , gcpClient )), nil
733
723
case "aws-instance-identity" :
734
- client := agentsdk .New (a .agentURL , agentsdk .WithAWSInstanceIdentity ())
724
+ client := agentsdk .New (& a .agentURL , agentsdk .WithAWSInstanceIdentity ())
735
725
// This is *only* done for testing to mock client authentication.
736
726
// This will never be set in a production scenario.
737
727
var awsClient * http.Client
@@ -744,7 +734,7 @@ func (a *AgentAuth) CreateClient(ctx context.Context) (*agentsdk.Client, error)
744
734
}
745
735
return client , nil
746
736
case "azure-instance-identity" :
747
- client := agentsdk .New (a .agentURL , agentsdk .WithAzureInstanceIdentity ())
737
+ client := agentsdk .New (& a .agentURL , agentsdk .WithAzureInstanceIdentity ())
748
738
// This is *only* done for testing to mock client authentication.
749
739
// This will never be set in a production scenario.
750
740
var azureClient * http.Client
0 commit comments