Skip to content

Design st2::profile::server split

Nick Maludy edited this page Sep 15, 2021 · 9 revisions

This is a design document for splitting up st2::profile::server

Goals:

  • Split up st2::profile::server into individual services
  • Would like each service to be independent so that they can be installed/configured/managed individually
    • This is ideal for HA deployments / scaling where we might want only a select few services on a host, and maybe no MongoDB, etc.
  • To follow the pattern setup by other common/popular modules, move st2::profile::* into st2::server::* or other appropriate places

Design:

  • There should be a top level st2::server class that can be an over-arching install of a "server" and its components (preferably selectable using variables)
  • Each service would have its own class, example st2::server::actionrunner, st2::server::mongodb
  • Configs should have their own classes, because many of the services share common configs like [db]
  • Configs should live in its own directory st2::server::config (st2/server/config
  • Each config section should have its own config class st2::server::config::db, st2::server::config::actionrunner, etc

Services:

  • TODO list all services

Config Sections:

  • TODO list all config sections

Service -> Config Section mapping:

  • TODO list all services and under each service list what config sections they depend on
Clone this wiki locally