plugins

module
v0.0.0-...-9a5c20e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: BSD-3-Clause

README

Plugins

Much of Blueprint's features and functionality are implemented by plugins contained in this module.

Each plugin resides in its own subdirectory and provides its own documentation.

The Blueprint User Manual provides a high-level overview of some of the more prominent plugins.

WiringSpec

Most plugins make use of a blueprint WiringSpec from the blueprint/pkg/wiring package. See the documentation for that package or from the Blueprint User Manual for details on initializing a wiring spec.

Developing Plugins

If you want to develop your own plugin, it is not mandatory for the plugin to live in this directory. It can reside in a different repository and module.

Directories

Path Synopsis
Package circuitbreaker provides a Blueprint modifier for the client side of service calls.
Package circuitbreaker provides a Blueprint modifier for the client side of service calls.
Package clientpool is a plugin that wraps the client side of a service to use a pool of N clients, disallowing callers from making more than N concurrent oustanding calls each to the service.
Package clientpool is a plugin that wraps the client side of a service to use a pool of N clients, disallowing callers from making more than N concurrent oustanding calls each to the service.
Package cmdbuilder is a helper package for building wiring spec command line programs.
Package cmdbuilder is a helper package for building wiring spec command line programs.
Package docker defines compiler interfaces for use by plugins that generate and instantiate Docker images.
Package docker defines compiler interfaces for use by plugins that generate and instantiate Docker images.
Package dockercompose is a plugin for instantiating multiple container instances in a single docker-compose deployment.
Package dockercompose is a plugin for instantiating multiple container instances in a single docker-compose deployment.
Package environment provides a plugin for generating a .env file in the root Blueprint output directory that automatically sets address configuration variables (hostnames and ports for dial and bind addresses).
Package environment provides a plugin for generating a .env file in the root Blueprint output directory that automatically sets address configuration variables (hostnames and ports for dial and bind addresses).
Package golang defines compiler interfaces for use by plugins that generate and instantiate golang code.
Package golang defines compiler interfaces for use by plugins that generate and instantiate golang code.
gocode
Package gocode defines basic structs used by IRNodes to describe Golang types, variables, funcs, constructors, and service interfaces.
Package gocode defines basic structs used by IRNodes to describe Golang types, variables, funcs, constructors, and service interfaces.
gogen
Package gogen provides implementations of the builder interfaces defined by the [golang] plugin
Package gogen provides implementations of the builder interfaces defined by the [golang] plugin
goparser
Package goparser parses go modules and extracts module, package, struct, and interface information.
Package goparser parses go modules and extracts module, package, struct, and interface information.
Package goproc is a plugin for instantiating golang application-level instances within a single golang process.
Package goproc is a plugin for instantiating golang application-level instances within a single golang process.
goprocgen
Package goprocgen implements code generation for the main.go file
Package goprocgen implements code generation for the main.go file
linuxgen
Package linuxgen implements code generation for the goproc plugin.
Package linuxgen implements code generation for the goproc plugin.
Package gotests provides a Blueprint plugin for automatically converting black-box workflow spec unit tests into tests that can run against a compiled Blueprint system.
Package gotests provides a Blueprint plugin for automatically converting black-box workflow spec unit tests into tests that can run against a compiled Blueprint system.
codegen
Package codegen implements the gotest plugin's code generation logic.
Package codegen implements the gotest plugin's code generation logic.
Package govector provides a Blueprint plugin for collecting log messages from services using the GoVector vector clock logging library.
Package govector provides a Blueprint plugin for collecting log messages from services using the GoVector vector clock logging library.
Package grpc is a plugin for deploying an application-level Golang service to a gRPC server.
Package grpc is a plugin for deploying an application-level Golang service to a gRPC server.
Package healthchecker provides a Blueprint modifier for the server side of a service.
Package healthchecker provides a Blueprint modifier for the server side of a service.
To use the plugin in a Blueprint wiring spec, import this package and use the [Deploy] method, i.e.
To use the plugin in a Blueprint wiring spec, import this package and use the [Deploy] method, i.e.
Package jaeger provides a plugin to generate and include a jaeger collector instance in a Blueprint application.
Package jaeger provides a plugin to generate and include a jaeger collector instance in a Blueprint application.
Package latencyinjector provides a Blueprint modifier for the server side of service calls.
Package latencyinjector provides a Blueprint modifier for the server side of service calls.
Package linux defines compiler interfaces for use by plugins that generate and instantiate linux processes.
Package linux defines compiler interfaces for use by plugins that generate and instantiate linux processes.
Package linuxcontainer is a plugin for instantiating multiple linux process instances in a single container deployment.
Package linuxcontainer is a plugin for instantiating multiple linux process instances in a single container deployment.
Package memcached provides the Blueprint wiring and IR implementations of a memcached plugin that provides a Cache interface implementation via a pre-built memcached container image.
Package memcached provides the Blueprint wiring and IR implementations of a memcached plugin that provides a Cache interface implementation via a pre-built memcached container image.
Package mongodb provides a plugin to generate and include a mongodb instance in a Blueprint application.
Package mongodb provides a plugin to generate and include a mongodb instance in a Blueprint application.
Package mysql provides a plugin to generate and include a mysql instance in a Blueprint application.
Package mysql provides a plugin to generate and include a mysql instance in a Blueprint application.
Package OpenTelemetry provides a Blueprint plugin for instrumenting services and collecting OpenTelemetry traces.
Package OpenTelemetry provides a Blueprint plugin for instrumenting services and collecting OpenTelemetry traces.
Package rabbitmq provides a plugin to generate and include a rabbitmq instance in a Blueprint application.
Package rabbitmq provides a plugin to generate and include a rabbitmq instance in a Blueprint application.
Package redis provides the Blueprint wiring and IR implementations of a redis plugin that provides a Cache interface implementation via a pre-built redis container image.
Package redis provides the Blueprint wiring and IR implementations of a redis plugin that provides a Cache interface implementation via a pre-built redis container image.
Package retries provides a Blueprint modifier for the client side of service calls.
Package retries provides a Blueprint modifier for the client side of service calls.
Package simple provides basic in-memory implementations of the Cache, Queue, NoSQLDB, and RelationalDB [backends] that are used by workflow services.
Package simple provides basic in-memory implementations of the Cache, Queue, NoSQLDB, and RelationalDB [backends] that are used by workflow services.
Package thrift implements a Blueprint plugin that enables any Golang service to be deployed using a Thrift server.
Package thrift implements a Blueprint plugin that enables any Golang service to be deployed using a Thrift server.
Package timeouts provides a Blueprint modifier for the client side of service calls.
Package timeouts provides a Blueprint modifier for the client side of service calls.
Package workflow instantiates services defined in the application's workflow spec.
Package workflow instantiates services defined in the application's workflow spec.
Package workload is a plugin for creating executable workload generators.
Package workload is a plugin for creating executable workload generators.
Package xtrace provides a Blueprint plugin for instrumenting services and collecting X-Trace traces.
Package xtrace provides a Blueprint plugin for instrumenting services and collecting X-Trace traces.
Package zipkin provides a plugin to generate and include a zipkin collector instance in a Blueprint application.
Package zipkin provides a plugin to generate and include a zipkin collector instance in a Blueprint application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL