NkeyFromED25519SSHKeyFilestring`comment:"Full path to the ED25519 SSH private key. Will generate the NKEY Seed from an SSH ED25519 private key file. NB: This option will take precedence over NkeySeedFile if specified"`
LogConsoleTimestampsbool`comment:"LogConsoleTimestamps true/false for enabling or disabling timestamps when printing errors and information to stderr"`
KeepPublishersAliveForint`comment:"KeepPublishersAliveFor number of seconds Timer that will be used for when to remove the sub process publisher. The timer is reset each time a message is published with the process, so the sub process publisher will not be removed until it have not received any messages for the given amount of time."`
//flag.StringVar(&c.ConfigFolder, "configFolder", fc.ConfigFolder, "Defaults to ./usr/local/ctrl/etc/. *NB* This flag is not used, if your config file are located somwhere else than default set the location in an env variable named CONFIGFOLDER")
flag.StringVar(&c.SocketFolder,"socketFolder",CheckEnv("SOCKET_FOLDER",c.SocketFolder).(string),"folder who contains the socket file. Defaults to ./tmp/. If other folder is used this flag must be specified at startup.")
flag.StringVar(&c.ReadFolder,"readFolder",CheckEnv("READ_FOLDER",c.ReadFolder).(string),"folder who contains the readfolder. Defaults to ./readfolder/. If other folder is used this flag must be specified at startup.")
flag.StringVar(&c.TCPListener,"tcpListener",CheckEnv("TCP_LISTENER",c.TCPListener).(string),"start up a TCP listener in addition to the Unix Socket, to give messages to the system. e.g. localhost:8888. No value means not to start the listener, which is default. NB: You probably don't want to start this on any other interface than localhost")
flag.StringVar(&c.HTTPListener,"httpListener",CheckEnv("HTTP_LISTENER",c.HTTPListener).(string),"start up a HTTP listener in addition to the Unix Socket, to give messages to the system. e.g. localhost:8888. No value means not to start the listener, which is default. NB: You probably don't want to start this on any other interface than localhost")
flag.StringVar(&c.DatabaseFolder,"databaseFolder",CheckEnv("DATABASE_FOLDER",c.DatabaseFolder).(string),"folder who contains the database file. Defaults to ./var/lib/. If other folder is used this flag must be specified at startup.")
flag.StringVar(&c.NodeName,"nodeName",CheckEnv("NODE_NAME",c.NodeName).(string),"some unique string to identify this Edge unit")
flag.StringVar(&c.BrokerAddress,"brokerAddress",CheckEnv("BROKER_ADDRESS",c.BrokerAddress).(string),"the address of the message broker")
flag.IntVar(&c.NatsConnOptTimeout,"natsConnOptTimeout",CheckEnv("NATS_CONN_OPT_TIMEOUT",c.NatsConnOptTimeout).(int),"default nats client conn timeout in seconds")
flag.IntVar(&c.NatsConnectRetryInterval,"natsConnectRetryInterval",CheckEnv("NATS_CONNECT_RETRY_INTERVAL",c.NatsConnectRetryInterval).(int),"default nats retry connect interval in seconds.")
flag.IntVar(&c.NatsReconnectJitter,"natsReconnectJitter",CheckEnv("NATS_RECONNECT_JITTER",c.NatsReconnectJitter).(int),"default nats ReconnectJitter interval in milliseconds.")
flag.IntVar(&c.NatsReconnectJitterTLS,"natsReconnectJitterTLS",CheckEnv("NATS_RECONNECT_JITTER_TLS",c.NatsReconnectJitterTLS).(int),"default nats ReconnectJitterTLS interval in seconds.")
flag.IntVar(&c.KeysUpdateInterval,"keysUpdateInterval",CheckEnv("KEYS_UPDATE_INTERVAL",c.KeysUpdateInterval).(int),"default interval in seconds for asking the central for public keys")
flag.IntVar(&c.AclUpdateInterval,"aclUpdateInterval",CheckEnv("ACL_UPDATE_INTERVAL",c.AclUpdateInterval).(int),"default interval in seconds for asking the central for acl updates")
flag.StringVar(&c.ProfilingPort,"profilingPort",CheckEnv("PROFILING_PORT",c.ProfilingPort).(string),"The number of the profiling port")
flag.StringVar(&c.PromHostAndPort,"promHostAndPort",CheckEnv("PROM_HOST_AND_PORT",c.PromHostAndPort).(string),"host and port for prometheus listener, e.g. localhost:2112")
flag.StringVar(&c.JetstreamsConsume,"jetstreamsConsume",CheckEnv("JETSTREAMS_CONSUME",c.JetstreamsConsume).(string),"Comma separated list of Jetstrams to consume from")
flag.IntVar(&c.DefaultMessageTimeout,"defaultMessageTimeout",CheckEnv("DEFAULT_MESSAGE_TIMEOUT",c.DefaultMessageTimeout).(int),"default message timeout in seconds. This can be overridden on the message level")
flag.IntVar(&c.DefaultMessageRetries,"defaultMessageRetries",CheckEnv("DEFAULT_MESSAGE_RETRIES",c.DefaultMessageRetries).(int),"default amount of retries that will be done before a message is thrown away, and out of the system")
flag.IntVar(&c.DefaultMethodTimeout,"defaultMethodTimeout",CheckEnv("DEFAULT_METHOD_TIMEOUT",c.DefaultMethodTimeout).(int),"default amount of seconds a request method max will be allowed to run")
flag.StringVar(&c.SubscribersDataFolder,"subscribersDataFolder",CheckEnv("SUBSCRIBER_DATA_FOLDER",c.SubscribersDataFolder).(string),"The data folder where subscribers are allowed to write their data if needed")
flag.StringVar(&c.CentralNodeName,"centralNodeName",CheckEnv("CENTRAL_NODE_NAME",c.CentralNodeName).(string),"The name of the central node to receive messages published by this node")
flag.StringVar(&c.RootCAPath,"rootCAPath",CheckEnv("ROOT_CA_PATH",c.RootCAPath).(string),"If TLS, enter the path for where to find the root CA certificate")
flag.StringVar(&c.NkeyFromED25519SSHKeyFile,"nkeyFromED25519SSHKeyFile",CheckEnv("NKEY_FROM_ED25519_SSH_KEY_FILE",c.NkeyFromED25519SSHKeyFile).(string),"The full path of the nkeys seed file")
flag.StringVar(&c.NkeySeedFile,"nkeySeedFile",CheckEnv("NKEY_SEED_FILE",c.NkeySeedFile).(string),"Full path to the ED25519 SSH private key. Will generate the NKEY Seed from an SSH ED25519 private key file. NB: This option will take precedence over NkeySeedFile if specified")
flag.StringVar(&c.NkeySeed,"nkeySeed",CheckEnv("NKEY_SEED",c.NkeySeed).(string),"The actual nkey seed. To use if not stored in file")
flag.StringVar(&c.ExposeDataFolder,"exposeDataFolder",CheckEnv("EXPOSE_DATA_FOLDER",c.ExposeDataFolder).(string),"If set the data folder will be exposed on the given host:port. Default value is not exposed at all")
flag.IntVar(&c.ErrorMessageTimeout,"errorMessageTimeout",CheckEnv("ERROR_MESSAGE_TIMEOUT",c.ErrorMessageTimeout).(int),"The number of seconds to wait for an error message to time out")
flag.IntVar(&c.ErrorMessageRetries,"errorMessageRetries",CheckEnv("ERROR_MESSAGE_RETRIES",c.ErrorMessageRetries).(int),"The number of if times to retry an error message before we drop it")
flag.StringVar(&c.Compression,"compression",CheckEnv("COMPRESSION",c.Compression).(string),"compression method to use. defaults to no compression, z = zstd, g = gzip. Undefined value will default to no compression")
flag.StringVar(&c.Serialization,"serialization",CheckEnv("SERIALIZATION",c.Serialization).(string),"Serialization method to use. defaults to gob, other values are = cbor. Undefined value will default to gob")
flag.IntVar(&c.SetBlockProfileRate,"setBlockProfileRate",CheckEnv("BLOCK_PROFILE_RATE",c.SetBlockProfileRate).(int),"Enable block profiling by setting the value to f.ex. 1. 0 = disabled")
flag.BoolVar(&c.EnableSocket,"enableSocket",CheckEnv("ENABLE_SOCKET",c.EnableSocket).(bool),"true/false, for enabling the creation of ctrl.sock file")
flag.BoolVar(&c.StartProcesses.IsCentralAuth,"isCentralAuth",CheckEnv("IS_CENTRAL_AUTH",c.StartProcesses.IsCentralAuth).(bool),"true/false, *TESTING* is this the central auth server")
flag.BoolVar(&c.EnableDebug,"enableDebug",CheckEnv("ENABLE_DEBUG",c.EnableDebug).(bool),"true/false, will enable debug logging so all messages sent to the errorKernel will also be printed to STDERR")
flag.BoolVar(&c.LogConsoleTimestamps,"LogConsoleTimestamps",CheckEnv("LOG_CONSOLE_TIMESTAMPS",c.LogConsoleTimestamps).(bool),"true/false for enabling or disabling timestamps when printing errors and information to stderr")
flag.IntVar(&c.KeepPublishersAliveFor,"keepPublishersAliveFor",CheckEnv("KEEP_PUBLISHERS_ALIVE_FOR",c.KeepPublishersAliveFor).(int),"The amount of time we allow a publisher to stay alive without receiving any messages to publish")
flag.IntVar(&c.StartProcesses.StartPubHello,"startPubHello",CheckEnv("START_PUB_HELLO",c.StartProcesses.StartPubHello).(int),"Make the current node send hello messages to central at given interval in seconds")