66 "net/url"
77 "strings"
88
9+ "github.com/blang/semver"
910 proflags "github.com/loft-sh/devpod/cmd/pro/flags"
1011 providercmd "github.com/loft-sh/devpod/cmd/provider"
1112 "github.com/loft-sh/devpod/pkg/config"
@@ -34,10 +35,9 @@ type LoginCmd struct {
3435
3536 Options []string
3637
37- Login bool
38- Use bool
39- ForceBrowser bool
40- ProxyProvider bool
38+ Login bool
39+ Use bool
40+ ForceBrowser bool
4141}
4242
4343// NewLoginCmd creates a new command
@@ -64,7 +64,6 @@ func NewLoginCmd(flags *proflags.GlobalFlags) *cobra.Command {
6464 loginCmd .Flags ().StringVar (& cmd .Version , "version" , "" , "The version to use for the DevPod provider" )
6565 loginCmd .Flags ().StringArrayVarP (& cmd .Options , "option" , "o" , []string {}, "Provider option in the form KEY=VALUE" )
6666 loginCmd .Flags ().BoolVar (& cmd .ForceBrowser , "force-browser" , false , "Force login through browser" )
67- loginCmd .Flags ().BoolVar (& cmd .ProxyProvider , "proxy-provider" , false , "Install proxy provider instead of built-in daemon provider" )
6867
6968 loginCmd .Flags ().StringVar (& cmd .ProviderSource , "provider-source" , "" , "The source of the provider" )
7069 _ = loginCmd .Flags ().MarkHidden ("provider-source" )
@@ -143,9 +142,18 @@ func (cmd *LoginCmd) Run(ctx context.Context, fullURL string, log log.Logger) er
143142 CreationTimestamp : types .Now (),
144143 }
145144
146- // proxy providers are deprecated and shouldn't be used
147- // unless explicitly requiring one
148- if cmd .ProxyProvider {
145+ remoteVersion , err := platform .GetDevPodVersion (fullURL )
146+ if err != nil {
147+ return err
148+ }
149+ rv , err := semver .Parse (strings .TrimPrefix (remoteVersion , "v" ))
150+ if err != nil {
151+ return fmt .Errorf ("invalid version %s: %w" , remoteVersion , err )
152+ }
153+ if rv .LT (semver.Version {Major : 0 , Minor : 7 , Patch : 0 }) {
154+ log .Debug ("remote version < 0.7.0, installing proxy provider" )
155+ // proxy providers are deprecated and shouldn't be used
156+ // unless explicitly the server version is below 0.7.0
149157 err = cmd .addLoftProvider (devPodConfig , fullURL , log )
150158 if err != nil {
151159 return err
0 commit comments