Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Case for LNP Node and other LNP/BP microservices #42

Open
dr-orlovsky opened this issue Oct 17, 2020 · 0 comments
Open

Case for LNP Node and other LNP/BP microservices #42

dr-orlovsky opened this issue Oct 17, 2020 · 0 comments

Comments

@dr-orlovsky
Copy link

dr-orlovsky commented Oct 17, 2020

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
@dr-orlovsky dr-orlovsky changed the title Case of LNP Node and other LNP/BP node software Case for LNP Node and other LNP/BP node software Oct 17, 2020
@dr-orlovsky dr-orlovsky changed the title Case for LNP Node and other LNP/BP node software Case for LNP Node and other LNP/BP microservices Oct 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant