mirror of https://github.com/coder/coder.git
refactor(cli)!: remove reset-password from slim binary (#9520)
This is an alternative approach to #9519 and removes 2 MB instead of 1 MB (1.2 MB accounted for by embedded migration SQL files). Combined with #9481, #9506, #9508, #9517, a total of 5 MB is removed. Ref: #9380
This commit is contained in:
parent
ad23d33f28
commit
d2115941b7
|
@ -1,3 +1,5 @@
|
|||
//go:build !slim
|
||||
|
||||
package cli
|
||||
|
||||
import (
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
//go:build slim
|
||||
|
||||
package cli
|
||||
|
||||
import (
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
)
|
||||
|
||||
func (*RootCmd) resetPassword() *clibase.Cmd {
|
||||
root := &clibase.Cmd{
|
||||
Use: "reset-password <username>",
|
||||
Short: "Directly connect to the database to reset a user's password",
|
||||
// We accept RawArgs so all commands and flags are accepted.
|
||||
RawArgs: true,
|
||||
Hidden: true,
|
||||
Handler: func(inv *clibase.Invocation) error {
|
||||
SlimUnsupported(inv.Stderr, "reset-password")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
return root
|
||||
}
|
11
cli/root.go
11
cli/root.go
|
@ -1019,3 +1019,14 @@ func (p *prettyErrorFormatter) printf(style lipgloss.Style, format string, a ...
|
|||
),
|
||||
)
|
||||
}
|
||||
|
||||
//nolint:unused
|
||||
func SlimUnsupported(w io.Writer, cmd string) {
|
||||
_, _ = fmt.Fprintf(w, "You are using a 'slim' build of Coder, which does not support the %s subcommand.\n", cliui.DefaultStyles.Code.Render(cmd))
|
||||
_, _ = fmt.Fprintln(w, "")
|
||||
_, _ = fmt.Fprintln(w, "Please use a build of Coder from GitHub releases:")
|
||||
_, _ = fmt.Fprintln(w, " https://github.com/coder/coder/releases")
|
||||
|
||||
//nolint:revive
|
||||
os.Exit(1)
|
||||
}
|
||||
|
|
|
@ -3,12 +3,7 @@
|
|||
package cli
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
"github.com/coder/coder/v2/cli/cliui"
|
||||
)
|
||||
|
||||
func (r *RootCmd) Server(_ func()) *clibase.Cmd {
|
||||
|
@ -19,18 +14,10 @@ func (r *RootCmd) Server(_ func()) *clibase.Cmd {
|
|||
RawArgs: true,
|
||||
Hidden: true,
|
||||
Handler: func(inv *clibase.Invocation) error {
|
||||
serverUnsupported(inv.Stderr)
|
||||
SlimUnsupported(inv.Stderr, "server")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
return root
|
||||
}
|
||||
|
||||
func serverUnsupported(w io.Writer) {
|
||||
_, _ = fmt.Fprintf(w, "You are using a 'slim' build of Coder, which does not support the %s subcommand.\n", cliui.DefaultStyles.Code.Render("server"))
|
||||
_, _ = fmt.Fprintln(w, "")
|
||||
_, _ = fmt.Fprintln(w, "Please use a build of Coder from GitHub releases:")
|
||||
_, _ = fmt.Fprintln(w, " https://github.com/coder/coder/releases")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
package cli
|
||||
|
||||
import (
|
||||
agplcli "github.com/coder/coder/v2/cli"
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
)
|
||||
|
||||
|
@ -14,7 +15,7 @@ func (r *RootCmd) provisionerDaemons() *clibase.Cmd {
|
|||
RawArgs: true,
|
||||
Hidden: true,
|
||||
Handler: func(inv *clibase.Invocation) error {
|
||||
slimUnsupported(inv.Stderr, "coder provisionerd")
|
||||
agplcli.SlimUnsupported(inv.Stderr, "provisionerd")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
package cli
|
||||
|
||||
import (
|
||||
agplcli "github.com/coder/coder/v2/cli"
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
)
|
||||
|
||||
|
@ -15,7 +16,7 @@ func (r *RootCmd) proxyServer() *clibase.Cmd {
|
|||
RawArgs: true,
|
||||
Hidden: true,
|
||||
Handler: func(inv *clibase.Invocation) error {
|
||||
slimUnsupported(inv.Stderr, "workspace-proxy server")
|
||||
agplcli.SlimUnsupported(inv.Stderr, "workspace-proxy server")
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,13 +1,8 @@
|
|||
package cli
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/coder/coder/v2/cli"
|
||||
"github.com/coder/coder/v2/cli/clibase"
|
||||
"github.com/coder/coder/v2/cli/cliui"
|
||||
)
|
||||
|
||||
type RootCmd struct {
|
||||
|
@ -29,14 +24,3 @@ func (r *RootCmd) EnterpriseSubcommands() []*clibase.Cmd {
|
|||
all := append(r.Core(), r.enterpriseOnly()...)
|
||||
return all
|
||||
}
|
||||
|
||||
//nolint:unused
|
||||
func slimUnsupported(w io.Writer, cmd string) {
|
||||
_, _ = fmt.Fprintf(w, "You are using a 'slim' build of Coder, which does not support the %s subcommand.\n", cliui.DefaultStyles.Code.Render(cmd))
|
||||
_, _ = fmt.Fprintln(w, "")
|
||||
_, _ = fmt.Fprintln(w, "Please use a build of Coder from GitHub releases:")
|
||||
_, _ = fmt.Fprintln(w, " https://github.com/coder/coder/releases")
|
||||
|
||||
//nolint:revive
|
||||
os.Exit(1)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue