@ghub/gctl-broker-core
v0.3.5
Published
Framework-free broker protocol logic behind ports and adapters. Wrapped by GControl (Fastify) and embedded by GPlatform Control (NestJS) so both speak an identical protocol.
Readme
@ghub/gctl-broker-core
The protocol logic a GControl broker runs, with no framework in it. Ports and adapters: everything that touches a database, a clock, a container runtime or the network arrives as an interface, so the decisions are testable without any of them.
It is what makes a self-hosted broker and a hosted control plane the same implementation. Both construct this over their own stores, so an operator verb behaves identically whether the application runs on a customer's hardware or on somebody else's.
The rules it enforces are the ones that must not be re-implemented per surface: the command allowlist, consent for privileged verbs, restrictive verbs that no side may veto, lease and entitlement resolution, and the directive queue.
import { authoriseCommand, commandCatalog } from "@ghub/gctl-broker-core";
const outcome = await authoriseCommand(ctx, command);Part of GControl, a self-hosted broker for G-Apps. This package is published on its own because it is consumed outside that repository; it is not a general-purpose library and its releases follow GControl's.
Licence
Elastic License 2.0. Source-available: you may read, self-host and modify it for your own
organisation. You may not offer it as a service, and you may not circumvent the
licence-key functionality. See the LICENSE file in this package.
Copyright (c) 2026 Gelhaus Solutions (Enno Gelhaus). Built and maintained by Gelhaus Solutions.
