mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-08-10 13:20:33 +02:00
cmd/cli: allow chosing dev/prod with upgrade command
This commit is contained in:
+26
-6
@@ -854,10 +854,24 @@ NOTE: Uninstalling will set DNS to values provided by DHCP.`,
|
|||||||
clientsCmd.AddCommand(listClientsCmd)
|
clientsCmd.AddCommand(listClientsCmd)
|
||||||
rootCmd.AddCommand(clientsCmd)
|
rootCmd.AddCommand(clientsCmd)
|
||||||
|
|
||||||
|
const (
|
||||||
|
upgradeChannelDev = "dev"
|
||||||
|
upgradeChannelProd = "prod"
|
||||||
|
upgradeChannelDefault = "default"
|
||||||
|
)
|
||||||
|
upgradeChannel := map[string]string{
|
||||||
|
upgradeChannelDefault: "https://dl.controld.dev",
|
||||||
|
upgradeChannelDev: "https://dl.controld.dev",
|
||||||
|
upgradeChannelProd: "https://dl.controld.com",
|
||||||
|
}
|
||||||
|
if isStableVersion(curVersion()) {
|
||||||
|
upgradeChannel[upgradeChannelDefault] = upgradeChannel[upgradeChannelProd]
|
||||||
|
}
|
||||||
upgradeCmd := &cobra.Command{
|
upgradeCmd := &cobra.Command{
|
||||||
Use: "upgrade",
|
Use: "upgrade",
|
||||||
Short: "Upgrading ctrld to latest version",
|
Short: "Upgrading ctrld to latest version",
|
||||||
Args: cobra.NoArgs,
|
ValidArgs: []string{upgradeChannelDev, upgradeChannelProd},
|
||||||
|
Args: cobra.MaximumNArgs(1),
|
||||||
PreRun: func(cmd *cobra.Command, args []string) {
|
PreRun: func(cmd *cobra.Command, args []string) {
|
||||||
initConsoleLogging()
|
initConsoleLogging()
|
||||||
checkHasElevatedPrivilege()
|
checkHasElevatedPrivilege()
|
||||||
@@ -877,9 +891,15 @@ NOTE: Uninstalling will set DNS to values provided by DHCP.`,
|
|||||||
mainLog.Load().Fatal().Err(err).Msg("failed to get current ctrld binary path")
|
mainLog.Load().Fatal().Err(err).Msg("failed to get current ctrld binary path")
|
||||||
}
|
}
|
||||||
oldBin := bin + "_previous"
|
oldBin := bin + "_previous"
|
||||||
urlString := "https://dl.controld.com"
|
urlString := upgradeChannel[upgradeChannelDefault]
|
||||||
if !isStableVersion(curVersion()) {
|
if len(args) > 0 {
|
||||||
urlString = "https://dl.controld.dev"
|
channel := args[0]
|
||||||
|
switch channel {
|
||||||
|
case upgradeChannelProd, upgradeChannelDev: // ok
|
||||||
|
default:
|
||||||
|
mainLog.Load().Fatal().Msgf("uprade argument must be either %q or %q", upgradeChannelProd, upgradeChannelDev)
|
||||||
|
}
|
||||||
|
urlString = upgradeChannel[channel]
|
||||||
}
|
}
|
||||||
dlUrl := fmt.Sprintf("%s/%s-%s/ctrld", urlString, runtime.GOOS, runtime.GOARCH)
|
dlUrl := fmt.Sprintf("%s/%s-%s/ctrld", urlString, runtime.GOOS, runtime.GOARCH)
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
|
|||||||
Reference in New Issue
Block a user