func buildCommandArgs()

in agent/agent.go [49:85]


func buildCommandArgs(agentConfig config.AgentConfig) []string {
	var args []string = []string{agentConfig.CommandPath}

	if agentConfig.EnvoyConfigPath != "" {
		args = append(args, "-c")
		args = append(args, agentConfig.EnvoyConfigPath)
	}

	if agentConfig.EnvoyLogLevel != "" {
		args = append(args, "-l")
		args = append(args, agentConfig.EnvoyLogLevel)
	}

	if agentConfig.EnvoyConcurrency > 0 {
		args = append(args, "--concurrency")
		args = append(args, strconv.Itoa(agentConfig.EnvoyConcurrency))
	} else if agentConfig.EnableRelayModeForXds {
		args = append(args, "--concurrency")
		args = append(args, config.ENVOY_CONCURRENCY_FOR_RELAY_DEFAULT)
	}

	listenerDrainWaitTime := int(agentConfig.ListenerDrainWaitTime / time.Second)
	if listenerDrainWaitTime > 0 {
		args = append(args, "--drain-time-s")
		args = append(args, strconv.Itoa(listenerDrainWaitTime))
	}

	if agentConfig.DisableHotRestart {
		args = append(args, "--disable-hot-restart")
	}

	if len(agentConfig.CommandArgs) > 0 {
		args = append(args, agentConfig.CommandArgs...)
	}

	return args
}