Class QNodeRoles

java.lang.Object
com.kingsrook.qqq.backend.core.cluster.QNodeRoles

public final class QNodeRoles extends Object
What this node of a multi-node application does (docs/specs/ 2026-10-15-cluster-ha-design.md, section A). Core stays orchestrator-agnostic: roles come from the environment (or system properties), read once. QQQ_NODE_ROLES (qqq.node.roles): comma list of web, worker, scheduler, esb, or "all" (the default - a single node does everything, as before). Explicit per-feature flags win over the role list: - QQQ_HTTP_ENABLED (qqq.http.enabled): serve application routes (probes and metrics are always served); - QQQ_SCHEDULE_MANAGER_ENABLED (qqq.scheduleManager.enabled): start schedulers; - QQQ_ESB_TRIGGERS_ENABLED (qqq.esb.triggers.enabled): run ESB trigger consumers; - QQQ_JOBS_WORKER_THREADS (qqq.jobs.workerThreads): durable job worker threads (without it, a node without the worker role runs 0). The node id is QQQ_NODE_ID, else HOSTNAME (the pod name), else the host name.