cmd/ctrld: allow log/cache flags work wit --cd flag

This commit is contained in:
Cuong Manh Le
2023-01-23 13:41:43 +07:00
committed by Cuong Manh Le
parent 1186963531
commit 8a2c48e996
+7 -9
View File
@@ -32,7 +32,7 @@ var (
defaultConfigFile = "ctrld.toml" defaultConfigFile = "ctrld.toml"
) )
var basicModeFlags = []string{"listen", "primary_upstream", "secondary_upstream", "domains", "log", "cache_size"} var basicModeFlags = []string{"listen", "primary_upstream", "secondary_upstream", "domains"}
func isNoConfigStart(cmd *cobra.Command) bool { func isNoConfigStart(cmd *cobra.Command) bool {
for _, flagName := range basicModeFlags { for _, flagName := range basicModeFlags {
@@ -108,6 +108,7 @@ func initCLI() {
log.Fatal("network is not up yet") log.Fatal("network is not up yet")
} }
processCDFlags() processCDFlags()
processLogAndCacheFlags()
if err := ctrld.ValidateConfig(validator.New(), &cfg); err != nil { if err := ctrld.ValidateConfig(validator.New(), &cfg); err != nil {
log.Fatalf("invalid config: %v", err) log.Fatalf("invalid config: %v", err)
} }
@@ -512,8 +513,6 @@ func processNoConfigFlags(noConfigStart bool) {
lc.Policy = &ctrld.ListenerPolicyConfig{Name: "My Policy", Rules: rules} lc.Policy = &ctrld.ListenerPolicyConfig{Name: "My Policy", Rules: rules}
} }
v.Set("upstream", upstream) v.Set("upstream", upstream)
processLogAndCacheFlags()
} }
func processCDFlags() { func processCDFlags() {
@@ -577,6 +576,7 @@ func processCDFlags() {
v.Set("network", cfg.Network) v.Set("network", cfg.Network)
v.Set("upstream", cfg.Upstream) v.Set("upstream", cfg.Upstream)
v.Set("listener", cfg.Listener) v.Set("listener", cfg.Listener)
processLogAndCacheFlags()
writeConfigFile() writeConfigFile()
} }
@@ -602,17 +602,15 @@ func processListenFlag() {
} }
func processLogAndCacheFlags() { func processLogAndCacheFlags() {
sc := ctrld.ServiceConfig{}
if logPath != "" { if logPath != "" {
sc.LogLevel = "debug" cfg.Service.LogPath = logPath
sc.LogPath = logPath
} }
if cacheSize != 0 { if cacheSize != 0 {
sc.CacheEnable = true cfg.Service.CacheEnable = true
sc.CacheSize = cacheSize cfg.Service.CacheSize = cacheSize
} }
v.Set("service", sc) v.Set("service", cfg.Service)
} }
func netIfaceFromName(ifaceName string) (*net.Interface, error) { func netIfaceFromName(ifaceName string) (*net.Interface, error) {