mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-17 03:24:40 -07:00
allow jetstream to be enabled in the config file
This commit is contained in:
committed by
Derek Collison
parent
dc207be04f
commit
ef77156890
@@ -34,8 +34,9 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/nats-io/jwt"
|
||||
"github.com/nats-io/nats-server/v2/conf"
|
||||
"github.com/nats-io/nkeys"
|
||||
|
||||
"github.com/nats-io/nats-server/v2/conf"
|
||||
)
|
||||
|
||||
var allowUnknownTopLevelField = int32(0)
|
||||
@@ -184,7 +185,7 @@ type Options struct {
|
||||
Gateway GatewayOpts `json:"gateway,omitempty"`
|
||||
LeafNode LeafNodeOpts `json:"leaf,omitempty"`
|
||||
JetStream bool `json:"jetstream"`
|
||||
StoreDir string `json:"-"`
|
||||
StoreDir string `json:"store_dir"`
|
||||
ProfPort int `json:"-"`
|
||||
PidFile string `json:"-"`
|
||||
PortsFileDir string `json:"-"`
|
||||
@@ -617,6 +618,12 @@ func (o *Options) processConfigFileLine(k string, v interface{}, errors *[]error
|
||||
*errors = append(*errors, err)
|
||||
return
|
||||
}
|
||||
case "jetstream":
|
||||
err := parseJetStream(tk, o, &errors, &warnings)
|
||||
if err != nil {
|
||||
errors = append(errors, err)
|
||||
continue
|
||||
}
|
||||
case "logfile", "log_file":
|
||||
o.LogFile = v.(string)
|
||||
case "logfile_size_limit", "log_size_limit":
|
||||
@@ -1124,6 +1131,37 @@ func parseGateway(v interface{}, o *Options, errors *[]error, warnings *[]error)
|
||||
return nil
|
||||
}
|
||||
|
||||
func parseJetStream(v interface{}, opts *Options, errors *[]error, warnings *[]error) error {
|
||||
tk, v := unwrapValue(v)
|
||||
cm, ok := v.(map[string]interface{})
|
||||
if !ok {
|
||||
return &configErr{tk, fmt.Sprintf("Expected map to define JetStream, got %T", v)}
|
||||
}
|
||||
|
||||
opts.JetStream = true
|
||||
|
||||
for mk, mv := range cm {
|
||||
tk, mv = unwrapValue(mv)
|
||||
switch strings.ToLower(mk) {
|
||||
case "store_dir", "storedir":
|
||||
opts.StoreDir = mv.(string)
|
||||
default:
|
||||
if !tk.IsUsedVariable() {
|
||||
err := &unknownConfigFieldErr{
|
||||
field: mk,
|
||||
configErr: configErr{
|
||||
token: tk,
|
||||
},
|
||||
}
|
||||
*errors = append(*errors, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// parseLeafNodes will parse the leaf node config.
|
||||
func parseLeafNodes(v interface{}, opts *Options, errors *[]error, warnings *[]error) error {
|
||||
var lt token
|
||||
|
||||
Reference in New Issue
Block a user