summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--go.mod2
-rw-r--r--go.sum4
-rw-r--r--internal/cli/root.go5
-rw-r--r--internal/cli/serve/command.go15
-rw-r--r--internal/cli/serve/command_test.go4
5 files changed, 17 insertions, 13 deletions
diff --git a/go.mod b/go.mod
index c6d4927e..a3a9850f 100644
--- a/go.mod
+++ b/go.mod
@@ -16,7 +16,7 @@ require (
github.com/roadrunner-server/beanstalk/v4 v4.5.9
github.com/roadrunner-server/boltdb/v4 v4.7.6
github.com/roadrunner-server/centrifuge/v4 v4.5.3
- github.com/roadrunner-server/config/v4 v4.4.9
+ github.com/roadrunner-server/config/v4 v4.5.0
github.com/roadrunner-server/endure/v2 v2.4.3
github.com/roadrunner-server/errors v1.3.0
github.com/roadrunner-server/fileserver/v4 v4.1.8
diff --git a/go.sum b/go.sum
index aaa9d6c3..8c7582f6 100644
--- a/go.sum
+++ b/go.sum
@@ -1241,8 +1241,8 @@ github.com/roadrunner-server/boltdb/v4 v4.7.6 h1:vRWB03XgcKFDMEn/7h5puOE0MCKD0ZX
github.com/roadrunner-server/boltdb/v4 v4.7.6/go.mod h1:rgzPNyMxGnOzANSQkyfY+IGBLCaYAjd3+rwlsmmqJ7A=
github.com/roadrunner-server/centrifuge/v4 v4.5.3 h1:jFAiV+sHBiAsca+aIbxjI7lMIRmyXtPHMV64ibggcMA=
github.com/roadrunner-server/centrifuge/v4 v4.5.3/go.mod h1:1+qRJAlB0fUAXFMfjzu9a9aGsGoP+m+YHI3CGYM2Ua0=
-github.com/roadrunner-server/config/v4 v4.4.9 h1:RkYs6Fd3Lo5ZdHOm8RTsX7jlySyDpXyZzt0rp7hw38A=
-github.com/roadrunner-server/config/v4 v4.4.9/go.mod h1:3GZTCaZXUEcLTILoauurn0tMgnu0/58RV9k+Zewmsz0=
+github.com/roadrunner-server/config/v4 v4.5.0 h1:2XWeu9XZ0eeenCpQEPHRJ+whD/FnayazBEIsSJj3pbo=
+github.com/roadrunner-server/config/v4 v4.5.0/go.mod h1:3GZTCaZXUEcLTILoauurn0tMgnu0/58RV9k+Zewmsz0=
github.com/roadrunner-server/endure/v2 v2.4.3 h1:R9DdsLiLjtSFivZ1HKk/1eDZ0TYaKHQzakVwz9D2hto=
github.com/roadrunner-server/endure/v2 v2.4.3/go.mod h1:4n3PdwZ3h/IRL2enDGvEVXtaQgqRnZ74VOyZtOJq528=
github.com/roadrunner-server/errors v1.3.0 h1:kLVXpXne0jMReN7pj8KIhyYyjqKjsPC5DRGqMsd4/Fo=
diff --git a/internal/cli/root.go b/internal/cli/root.go
index 1de50c43..feae0ee3 100644
--- a/internal/cli/root.go
+++ b/internal/cli/root.go
@@ -42,6 +42,8 @@ func NewCommand(cmdName string) *cobra.Command { //nolint:funlen,gocognit
override := &[]string{}
// do not print startup message
silent := toPtr(false)
+ // enable experimental features
+ experimental := toPtr(false)
// working directory
var workDir string
@@ -146,6 +148,7 @@ func NewCommand(cmdName string) *cobra.Command { //nolint:funlen,gocognit
f := cmd.PersistentFlags()
+ f.BoolVarP(experimental, "enable-experimental", "e", false, "enable experimental features")
f.BoolVarP(forceStop, "force", "f", false, "force stop")
f.BoolVarP(pidFile, "pid", "p", false, "create a .pid file")
f.StringVarP(cfgFile, "config", "c", ".rr.yaml", "config file")
@@ -158,7 +161,7 @@ func NewCommand(cmdName string) *cobra.Command { //nolint:funlen,gocognit
cmd.AddCommand(
workers.NewCommand(cfgFile, override),
reset.NewCommand(cfgFile, override, silent),
- serve.NewCommand(override, cfgFile, silent),
+ serve.NewCommand(override, cfgFile, silent, experimental),
stop.NewCommand(silent, forceStop),
jobs.NewCommand(cfgFile, override, silent),
)
diff --git a/internal/cli/serve/command.go b/internal/cli/serve/command.go
index a4caa265..95aeb067 100644
--- a/internal/cli/serve/command.go
+++ b/internal/cli/serve/command.go
@@ -21,7 +21,7 @@ const (
)
// NewCommand creates `serve` command.
-func NewCommand(override *[]string, cfgFile *string, silent *bool) *cobra.Command { //nolint:funlen
+func NewCommand(override *[]string, cfgFile *string, silent *bool, experimental *bool) *cobra.Command { //nolint:funlen
return &cobra.Command{
Use: "serve",
Short: "Start RoadRunner server",
@@ -39,11 +39,12 @@ func NewCommand(override *[]string, cfgFile *string, silent *bool) *cobra.Comman
}
cfg := &configImpl.Plugin{
- Path: *cfgFile,
- Prefix: rrPrefix,
- Timeout: containerCfg.GracePeriod,
- Flags: *override,
- Version: meta.Version(),
+ Path: *cfgFile,
+ Prefix: rrPrefix,
+ Timeout: containerCfg.GracePeriod,
+ Flags: *override,
+ Version: meta.Version(),
+ ExperimentalFeatures: *experimental,
}
endureOptions := []endure.Options{
@@ -58,7 +59,7 @@ func NewCommand(override *[]string, cfgFile *string, silent *bool) *cobra.Comman
ll, err := container.ParseLogLevel(containerCfg.LogLevel)
if err != nil {
if !*silent {
- fmt.Printf("[WARN] Failed to parse log level, using default (error): %s\n", err)
+ fmt.Println(fmt.Errorf("[WARN] Failed to parse log level, using default (error): %w", err))
}
}
cont := endure.New(ll, endureOptions...)
diff --git a/internal/cli/serve/command_test.go b/internal/cli/serve/command_test.go
index 69ff64f0..80da3949 100644
--- a/internal/cli/serve/command_test.go
+++ b/internal/cli/serve/command_test.go
@@ -10,14 +10,14 @@ import (
func TestCommandProperties(t *testing.T) {
path := ""
- cmd := serve.NewCommand(nil, &path, nil)
+ cmd := serve.NewCommand(nil, &path, nil, nil)
assert.Equal(t, "serve", cmd.Use)
assert.NotNil(t, cmd.RunE)
}
func TestCommandNil(t *testing.T) {
- cmd := serve.NewCommand(nil, nil, nil)
+ cmd := serve.NewCommand(nil, nil, nil, nil)
assert.Equal(t, "serve", cmd.Use)
assert.NotNil(t, cmd.RunE)