Documentation
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
examples/decode
command
|
|
|
examples/func
command
|
|
|
examples/method
command
|
|
|
examples/simple
command
|
|
|
Package builder generates the doors of an application (REST routes on echo, gRPC services, MCP tools and event functions) from @REST, @GRPC, @MCP and @Function annotations, on top of the fx modules generated by inject.
|
Package builder generates the doors of an application (REST routes on echo, gRPC services, MCP tools and event functions) from @REST, @GRPC, @MCP and @Function annotations, on top of the fx modules generated by inject. |
|
cmd/builder
command
Command builder generates the inject modules, the door modules and the main of every app from the annotations of an application, in one pass.
|
Command builder generates the inject modules, the door modules and the main of every app from the annotations of an application, in one pass. |
|
examples/simple
Package simple is an application whose doors come from builder annotations: app api serves REST routes on two echo servers (rest and admin), a gRPC health service and the check_stock MCP tool; app worker records the orders of order.created events.
|
Package simple is an application whose doors come from builder annotations: app api serves REST routes on two echo servers (rest and admin), a gRPC health service and the check_stock MCP tool; app worker records the orders of order.created events. |
|
examples/simple/cmd/api
command
Command api runs app api: the doors builder generates in github.com/xgodev/boost/builder/examples/simple/gen/builder/api.
|
Command api runs app api: the doors builder generates in github.com/xgodev/boost/builder/examples/simple/gen/builder/api. |
|
examples/simple/cmd/worker
command
Command worker runs app worker: the doors builder generates in github.com/xgodev/boost/builder/examples/simple/gen/builder/worker.
|
Command worker runs app worker: the doors builder generates in github.com/xgodev/boost/builder/examples/simple/gen/builder/worker. |
|
examples/simple/createorder
Package createorder serves the order routes of app api.
|
Package createorder serves the order routes of app api. |
|
examples/simple/healthcheck
Package healthcheck serves grpc.health.v1.Health on the grpc server of app api.
|
Package healthcheck serves grpc.health.v1.Health on the grpc server of app api. |
|
examples/simple/order
Package order keeps the orders of the example in memory.
|
Package order keeps the orders of the example in memory. |
|
examples/simple/ordercreated
Package ordercreated records the orders of order.created events in app worker.
|
Package ordercreated records the orders of order.created events in app worker. |
|
examples/simple/probe
Package probe answers the liveness probe on the admin server of app api, apart from the public routes.
|
Package probe answers the liveness probe on the admin server of app api, apart from the public routes. |
|
examples/simple/stock
Package stock tells whether an item can be ordered.
|
Package stock tells whether an item can be ordered. |
|
examples/simple/stock/memory
Package memory keeps the stock in memory.
|
Package memory keeps the stock in memory. |
|
examples/simple/stock/remote
Package remote asks a warehouse over HTTP for the stock.
|
Package remote asks a warehouse over HTTP for the stock. |
|
examples/simple/stock/unlimited
Package unlimited is a stock without limits.
|
Package unlimited is a stock without limits. |
|
examples/simple/stocktool
Package stocktool serves the stock tools of app api over MCP.
|
Package stocktool serves the stock tools of app api over MCP. |
|
extra
|
|
|
Package factory holds the contract shared by every factory under it.
|
Package factory holds the contract shared by every factory under it. |
|
contrib/apache/cassandra-gocql-driver/v2
Package gocql builds Cassandra sessions with the gocql v2 driver (github.com/apache/cassandra-gocql-driver/v2), configured under boost.factory.gocql.* -- the keys of the gocql v1 factory (factory/contrib/gocql/gocql/v1), so moving to v2 only changes the import.
|
Package gocql builds Cassandra sessions with the gocql v2 driver (github.com/apache/cassandra-gocql-driver/v2), configured under boost.factory.gocql.* -- the keys of the gocql v1 factory (factory/contrib/gocql/gocql/v1), so moving to v2 only changes the import. |
|
contrib/apache/cassandra-gocql-driver/v2/plugins/local/extra/health
Package health registers a gocql v2 session as a checker of github.com/xgodev/boost/extra/health, configured under boost.factory.gocql.plugins.health.*.
|
Package health registers a gocql v2 session as a checker of github.com/xgodev/boost/extra/health, configured under boost.factory.gocql.plugins.health.*. |
|
contrib/elastic/go-elasticsearch/v9
Package elasticsearch is boost's factory for the go-elasticsearch v9 client: options under boost.factory.elasticsearch, a ping on creation and plugins run on the built client.
|
Package elasticsearch is boost's factory for the go-elasticsearch v9 client: options under boost.factory.elasticsearch, a ping on creation and plugins run on the built client. |
|
contrib/elastic/go-elasticsearch/v9/plugins/local/extra/health
Package health registers a go-elasticsearch v9 client in boost's extra/health: the checker pings the cluster, and an error status fails it.
|
Package health registers a go-elasticsearch v9 client in boost's extra/health: the checker pings the cluster, and an error status fails it. |
|
contrib/go-resty/resty/v2/plugins/contrib/dubonzi/otelresty/v1
This package implements integration between the go-resty (https://github.com/go-resty/resty) library and OpenTelemetry.
|
This package implements integration between the go-resty (https://github.com/go-resty/resty) library and OpenTelemetry. |
|
contrib/go.mongodb.org/mongo-driver/v1/plugins/contrib/go.opentelemetry.io/contrib/v0
This package implements integration between the official go mongodb driver (https://github.com/mongodb/mongo-go-driver) and OpenTelemetry.
|
This package implements integration between the official go mongodb driver (https://github.com/mongodb/mongo-go-driver) and OpenTelemetry. |
|
contrib/go.mongodb.org/mongo-driver/v2/plugins/contrib/go.opentelemetry.io/contrib/v0
This package implements integration between the official go mongodb driver (https://github.com/mongodb/mongo-go-driver) and OpenTelemetry.
|
This package implements integration between the official go mongodb driver (https://github.com/mongodb/mongo-go-driver) and OpenTelemetry. |
|
contrib/labstack/echo/v4/plugins/contrib/go.opentelemetry.io/contrib/v0
This package implements integration between echo (https://github.com/labstack/echo) and OpenTelemetry.
|
This package implements integration between echo (https://github.com/labstack/echo) and OpenTelemetry. |
|
contrib/labstack/echo/v5/plugins/contrib/swaggo/echo-swagger/v2
Package swagger serves the Swagger UI and the swag docs on an echo v5 server, through github.com/swaggo/echo-swagger/v2.
|
Package swagger serves the Swagger UI and the swag docs on an echo v5 server, through github.com/swaggo/echo-swagger/v2. |
|
contrib/modelcontextprotocol/go-sdk/v1/client/plugins/contrib/go.opentelemetry.io/otel/v1
Package otel opens an OpenTelemetry span for every MCP call the client sends, propagating the trace to the server in _meta.
|
Package otel opens an OpenTelemetry span for every MCP call the client sends, propagating the trace to the server in _meta. |
|
contrib/modelcontextprotocol/go-sdk/v1/client/plugins/local/wrapper/log
Package log logs every MCP call the client sends through wrapper/log: method, tool, duration and error.
|
Package log logs every MCP call the client sends through wrapper/log: method, tool, duration and error. |
|
contrib/modelcontextprotocol/go-sdk/v1/internal/buildinfo
Package buildinfo reads the application version Go stamps into the binary.
|
Package buildinfo reads the application version Go stamps into the binary. |
|
contrib/modelcontextprotocol/go-sdk/v1/internal/middleware
Package middleware holds the go-sdk middlewares the server and client plugins install: one call in, one log line or span out.
|
Package middleware holds the go-sdk middlewares the server and client plugins install: one call in, one log line or span out. |
|
contrib/modelcontextprotocol/go-sdk/v1/server/plugins/contrib/go.opentelemetry.io/otel/v1
Package otel opens an OpenTelemetry span for every MCP call the server receives, continuing the trace the client sent in _meta.
|
Package otel opens an OpenTelemetry span for every MCP call the server receives, continuing the trace the client sent in _meta. |
|
contrib/modelcontextprotocol/go-sdk/v1/server/plugins/local/wrapper/log
Package log logs every MCP call the server receives through wrapper/log: method, tool, duration and error.
|
Package log logs every MCP call the server receives through wrapper/log: method, tool, duration and error. |
|
fx
|
|
|
modules/bootstrap/function/adapter/contrib/cloud.google.com/pubsub
Package pubsub declares, once, the config the Pub/Sub v1 and v2 function adapter fx modules share: whether the adapter is on and which version it is.
|
Package pubsub declares, once, the config the Pub/Sub v1 and v2 function adapter fx modules share: whether the adapter is on and which version it is. |
|
modules/factory/contrib/cloud.google.com/pubsub
Package pubsub holds what the Pub/Sub v1 and v2 fx modules share: the version values and the factory's version key, declared once.
|
Package pubsub holds what the Pub/Sub v1 and v2 fx modules share: the version values and the factory's version key, declared once. |
|
modules/factory/contrib/elastic/go-elasticsearch/v9
Package elastic provides the fx modules of boost's go-elasticsearch v9 factory.
|
Package elastic provides the fx modules of boost's go-elasticsearch v9 factory. |
|
modules/wrapper/publisher/driver/contrib/cloud.google.com/pubsub
Package pubsub declares, once, the config the Pub/Sub v1 and v2 publisher driver fx modules share: whether the driver is on and which version it is.
|
Package pubsub declares, once, the config the Pub/Sub v1 and v2 publisher driver fx modules share: whether the driver is on and which version it is. |
|
cmd/inject
command
Command inject generates fx modules from @Provide, @Inject and @Invoke annotations.
|
Command inject generates fx modules from @Provide, @Inject and @Invoke annotations. |
|
examples/clients
command
Command clients wires a NATS connection, a Pub/Sub client, gocql sessions of both drivers and a Bigtable client that inject builds from @Inject, and stops them with the app.
|
Command clients wires a NATS connection, a Pub/Sub client, gocql sessions of both drivers and a Bigtable client that inject builds from @Inject, and stops them with the app. |
|
examples/clients/catalog
Package catalog stores the prices of the catalog in Bigtable through the "catalog" client.
|
Package catalog stores the prices of the catalog in Bigtable through the "catalog" client. |
|
examples/clients/events
Package events publishes events over the "events" NATS connection.
|
Package events publishes events over the "events" NATS connection. |
|
examples/clients/ledger
Package ledger reads the Cassandra/ScyllaDB cluster through the "ledger" session of the Apache driver (github.com/apache/cassandra-gocql-driver/v2).
|
Package ledger reads the Cassandra/ScyllaDB cluster through the "ledger" session of the Apache driver (github.com/apache/cassandra-gocql-driver/v2). |
|
examples/clients/orders
Package orders manages the Pub/Sub topics of orders through the "orders" client.
|
Package orders manages the Pub/Sub topics of orders through the "orders" client. |
|
examples/clients/store
Package store reads the Cassandra/ScyllaDB cluster through the "store" session.
|
Package store reads the Cassandra/ScyllaDB cluster through the "store" session. |
|
examples/publisher
command
Command publisher announces a created order through the publisher inject builds, on the driver boost.wrapper.publisher.driver.name chooses (noop by default).
|
Command publisher announces a created order through the publisher inject builds, on the driver boost.wrapper.publisher.driver.name chooses (noop by default). |
|
examples/publisher/domain/model/entity
Package entity holds the entities of the example.
|
Package entity holds the entities of the example. |
|
examples/publisher/domain/publisher/ordercreated
Package ordercreated announces that an order was created.
|
Package ordercreated announces that an order was created. |
|
examples/publisher/publisher/ordercreated/boost
Package boost implements ordercreated.Publisher on boost's wrapper/publisher, whose driver config chooses.
|
Package boost implements ordercreated.Publisher on boost's wrapper/publisher, whose driver config chooses. |
|
examples/simple
command
Command simple wires an fx application from inject annotations.
|
Command simple wires an fx application from inject annotations. |
|
examples/simple/app
Package app consumes the values provided by the other packages.
|
Package app consumes the values provided by the other packages. |
|
examples/simple/greeting
Package greeting provides the greeters used by the example.
|
Package greeting provides the greeters used by the example. |
|
examples/simple/names
Package names contributes values to the "names" group.
|
Package names contributes values to the "names" group. |
|
internal
|
|
|
cassandratest
Package cassandratest gives the tests of the gocql v2 factory, its plugins and its fx module a Cassandra to talk to.
|
Package cassandratest gives the tests of the gocql v2 factory, its plugins and its fx module a Cassandra to talk to. |
|
configtest
Package configtest sets boost config values from tests.
|
Package configtest sets boost config values from tests. |
|
model
|
|
|
errors
Package errors provides an easy way to annotate errors without losing the original error context.
|
Package errors provides an easy way to annotate errors without losing the original error context. |
|
utils
|
|
|
wrapper
|
|
|
cache/codec/contrib/shamaton/msgpack/v3
Package msgpack is a wrapper/cache codec on github.com/shamaton/msgpack/v3.
|
Package msgpack is a wrapper/cache codec on github.com/shamaton/msgpack/v3. |
|
config
Package config provides a wrapper around koanf.
|
Package config provides a wrapper around koanf. |
|
config/contrib/knadh/koanf/v2
Package koanf is the boost config driver on koanf v2.
|
Package koanf is the boost config driver on koanf v2. |
|
log
Package log provides a generic interface around loggers.
|
Package log provides a generic interface around loggers. |
|
publisher/driver/contrib/aws/kinesis/v1
Package kinesis is a publisher driver that puts each event in the Kinesis stream named by the event subject.
|
Package kinesis is a publisher driver that puts each event in the Kinesis stream named by the event subject. |
|
publisher/driver/contrib/aws/sns/v1
Package sns is a publisher driver that sends each event to the SNS topic whose ARN is the event subject.
|
Package sns is a publisher driver that sends each event to the SNS topic whose ARN is the event subject. |
|
publisher/driver/contrib/aws/sqs/v1
Package sqs is a publisher driver that sends each event to the SQS queue named by the event subject.
|
Package sqs is a publisher driver that sends each event to the SQS queue named by the event subject. |
Click to show internal directories.
Click to hide internal directories.