OpsServer

@SpringBootApplication(proxyBeanMethods = false)
class OpsServer

The ops service on the Wow host: the aggregation and operation surface of every service's failure ledger. The host finds the parked model and ParkedOperationSaga through ops-domain's binding index and serves the ops context's routes:

  • each service publishes its ledger to wow.ops.commands by itself once this service is deployed (wow.ops.publish.enabled, auto by default), which the node's command intake records on the entry's parked aggregate (the kafka profile);

  • an operator reads the entries through the query routes, their snapshots being the read model (POST /ops/parked/snapshot/query, GET /ops/parked/{id}/state), on a backend that serves snapshot queries (the postgres profile, spring.datasource.*);

  • an operator's Retry, Skip, MarkRecoverable and ApplyRetrySpec (POST /ops/parked/{id}/retry, ...) are authorized as the ledger's system commands (OpsAuthorizer), recorded on the entry, and sent by the saga to the owning service as wow.ledger.*, which runs them: ops never retries or skips anything itself.

Who calls is CoSec's to say behind the gateway (the cosec profile), the host's development callers' in development; what an operator may do, OpsRoles.

Constructors

Link copied to clipboard
constructor()