Documentation
¶
Overview ¶
Package fabric is the module root of the Microbus framework. It declares no public API of its own; the framework is consumed through its subpackages such as connector, service, application, and httpx. This file exists so the module root resolves to a buildable package for tooling that lists it.
Directories
¶
| Path | Synopsis |
|---|---|
|
Application is a collection of microservices that run in a single process and share the same lifecycle
|
Application is a collection of microservices that run in a single process and share the same lifecycle |
|
Package cfg is used for defining configuration properties.
|
Package cfg is used for defining configuration properties. |
|
cmd
|
|
|
gencreds
command
gencreds reads a microservice bundle's source code, derives per-service NATS ACL rule sets via AST analysis, and signs them into <hostname>_nats.creds files using the operator's account NKey.
|
gencreds reads a microservice bundle's source code, derives per-service NATS ACL rule sets via AST analysis, and signs them into <hostname>_nats.creds files using the operator's account NKey. |
|
genopenapispecs
command
genopenapispecs is a filter: it reads an OpenAPI document (JSON or YAML) on stdin and writes the normalized specs JSON on stdout.
|
genopenapispecs is a filter: it reads an OpenAPI document (JSON or YAML) on stdin and writes the normalized specs JSON on stdout. |
|
genservice
command
Command genservice generates a microservice's boilerplate from its api package definition.go.
|
Command genservice generates a microservice's boilerplate from its api package definition.go. |
|
gentopology
command
gentopology renders the application's topology diagram (a Mermaid graph) from source.
|
gentopology renders the application's topology diagram (a Mermaid graph) from source. |
|
genupgrade
command
Command genupgrade is the deterministic arm of the versioned upgrade skills.
|
Command genupgrade is the deterministic arm of the versioned upgrade skills. |
|
genworkflowmmd
command
genworkflowmmd regenerates Mermaid diagrams for every workflow graph endpoint exposed by a microservice.
|
genworkflowmmd regenerates Mermaid diagrams for every workflow graph endpoint exposed by a microservice. |
|
internal/pkgresolver
Package pkgresolver maps Go package import paths to on-disk directories.
|
Package pkgresolver maps Go package import paths to on-disk directories. |
|
internal/schema
Package schema holds the typed shapes that the cmd/* tools share.
|
Package schema holds the typed shapes that the cmd/* tools share. |
|
Package connector implements the base class of all microservices.
|
Package connector implements the base class of all microservices. |
|
coreservices
|
|
|
control/controlapi
Package controlapi implements the public API of the control.core microservice, including clients and data structures.
|
Package controlapi implements the public API of the control.core microservice, including clients and data structures. |
|
Package define is the vocabulary for a microservice's api package definition.go, where every feature the microservice exposes is declared as a define.* var: Function, Web, Task, Workflow, OutboundEvent, InboundEvent, Config, Metric, and Ticker.
|
Package define is the vocabulary for a microservice's api package definition.go, where every feature the microservice exposes is declared as a define.* var: Function, Web, Task, Workflow, OutboundEvent, InboundEvent, Config, Metric, and Ticker. |
|
devservices
|
|
|
Package dlru implements an LRU cache that is distributed among the peers of a microservice.
|
Package dlru implements an LRU cache that is distributed among the peers of a microservice. |
|
Package env loads environment variables from env.yaml / env.local.yaml files into the real OS environment at package init time, following dotenv conventions.
|
Package env loads environment variables from env.yaml / env.local.yaml files into the real OS environment at package init time, following dotenv conventions. |
|
examples
|
|
|
Package httpx includes various HTTP utilities.
|
Package httpx includes various HTTP utilities. |
|
Package mem uses multiple sync pools of byte slices to provide allocation-free buffers of various sizes.
|
Package mem uses multiple sync pools of byte slices to provide allocation-free buffers of various sizes. |
|
Package openapi declares the registration types (Service and Endpoint) that describe a microservice's externally-visible features, along with Render which converts a Service into an OpenAPI 3.1 Document.
|
Package openapi declares the registration types (Service and Endpoint) that describe a microservice's externally-visible features, along with Render which converts a Service into an OpenAPI 3.1 Document. |
|
Package pub is used for the publishing of requests.
|
Package pub is used for the publishing of requests. |
|
Package service defines the interfaces of a microservice, which the connector implements.
|
Package service defines the interfaces of a microservice, which the connector implements. |
|
Package sub is used for subscribing to handle requests.
|
Package sub is used for subscribing to handle requests. |
|
Package transport implements the substrate used by microservices to communicate with each other.
|
Package transport implements the substrate used by microservices to communicate with each other. |
|
Package trc is used for working with tracing spans.
|
Package trc is used for working with tracing spans. |
|
Package utils is an assortment of independent utilities.
|
Package utils is an assortment of independent utilities. |
Click to show internal directories.
Click to hide internal directories.