Just would like to check that I am using this lib efficiently with cases we have in different LNP/BP nodes (LNP Node, BP Node, RGB Node).
Each node is represented by
a set of microservices, each of which can be loaded either in form of separate process (daemon) or as a thread withing a single process, depending on the configuration and environment (mobile app or server + docker).
a main service (it can also be just a thread withing mobile app) which launches and manages the rest.
The main service should be configured with either:
config file + command-line args matching config file + env variables (in case it is a process), or
with rust structure passed to it's entry point (in case it is started as a thread).
The rest of services are never intended to be launched by human from command-line (they are started as threads or processes by the main service, or automatically by something like Kubernetes), but they also should be configured with
some service-specific command line options/env vars, which should not map to the configuration file (their value is unique per service instance) +
read parts of the shared config from the main service - or get it's configuration structure for multi-threaded case.
What I plan is:
to have a single configure_me-based configuration for the main service, generating command-line args for it + support for env variables and man pages
to re-use that config file by the rest of services, but using direct TOML reads, not configure_me-based routines
to add other per-service command-line configuration options (which do not map to the config file and do not need man page) using Clap
Just would like to check that I am using this lib efficiently with cases we have in different LNP/BP nodes (LNP Node, BP Node, RGB Node).
Each node is represented by
The main service should be configured with either:
The rest of services are never intended to be launched by human from command-line (they are started as threads or processes by the main service, or automatically by something like Kubernetes), but they also should be configured with
What I plan is: