Documentation
¶
Overview ¶
Package controlapi implements the public API of the control.core microservice, including clients and data structures.
This microservice is created for the sake of generating the client API for the :888 control subscriptions. The microservice itself does nothing and should not be included in applications.
Index ¶
- Constants
- Variables
- type Client
- func (_c Client) ConfigRefresh(ctx context.Context) (err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Metrics(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
- func (_c Client) OpenAPI(ctx context.Context) (httpResponseBody *Document, httpStatusCode int, err error)
- func (_c Client) Ping(ctx context.Context) (pong int, err error)
- func (_c Client) Trace(ctx context.Context, id string) (err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type ConfigRefreshIn
- type ConfigRefreshOut
- type ConfigRefreshResponse
- type Document
- type Hook
- type MulticastClient
- func (_c MulticastClient) ConfigRefresh(ctx context.Context) iter.Seq[*ConfigRefreshResponse]
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Metrics(ctx context.Context, method string, relativeURL string, body any) iter.Seq[*pub.Response]
- func (_c MulticastClient) OpenAPI(ctx context.Context) iter.Seq[*OpenAPIResponse]
- func (_c MulticastClient) Ping(ctx context.Context) iter.Seq[*PingResponse]
- func (_c MulticastClient) PingInstances(ctx context.Context) iter.Seq[*ServiceInfo]
- func (_c MulticastClient) PingServices(ctx context.Context) iter.Seq[*ServiceInfo]
- func (_c MulticastClient) PingVersions(ctx context.Context) iter.Seq[*ServiceInfo]
- func (_c MulticastClient) Trace(ctx context.Context, id string) iter.Seq[*TraceResponse]
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type OnNewSubsIn
- type OnNewSubsOut
- type OnNewSubsResponse
- type OpenAPIIn
- type OpenAPIOut
- type OpenAPIResponse
- type PingIn
- type PingOut
- type PingResponse
- type ServiceInfo
- type TraceIn
- type TraceOut
- type TraceResponse
Constants ¶
const Description = `` /* 187-byte string literal not displayed */
Description is the human-readable summary of the microservice, surfaced in OpenAPI and discovery.
const Hostname = "control.core"
Hostname is the default hostname of the microservice.
const Name = "Control"
Name is the decorative PascalCase name of the microservice.
const Version = 237
Version is a generation counter bumped on each regeneration, not a semantic version.
Variables ¶
var ConfigRefresh = define.Function{ Host: Hostname, Method: "ANY", Route: ":888/config-refresh", LoadBalancing: define.None, In: ConfigRefreshIn{}, Out: ConfigRefreshOut{}, }
ConfigRefresh pulls the latest config values from the configurator microservice.
var Metrics = define.Web{ Host: Hostname, Method: "ANY", Route: ":888/metrics", LoadBalancing: define.None, }
Metrics returns the Prometheus metrics collected by the microservice.
var OnNewSubs = define.OutboundEvent{ Host: Hostname, Method: "POST", Route: ":888/on-new-subs", In: OnNewSubsIn{}, Out: OnNewSubsOut{}, }
OnNewSubs informs of new subscriptions.
var OpenAPI = define.Function{ Host: Hostname, Method: "GET", Route: ":888/openapi.json", In: OpenAPIIn{}, Out: OpenAPIOut{}, }
OpenAPI returns the OpenAPI 3.1 document of the microservice. Returns endpoints across all ports filtered by the caller's claims; consumers (portal/MCP) apply any port-based filtering at their ingress boundary.
var Ping = define.Function{ Host: Hostname, Method: "ANY", Route: ":888/ping", LoadBalancing: define.None, In: PingIn{}, Out: PingOut{}, }
Ping responds to the message with a pong.
var Trace = define.Function{ Host: Hostname, Method: "ANY", Route: ":888/trace", LoadBalancing: define.None, In: TraceIn{}, Out: TraceOut{}, }
Trace forces exporting the indicated tracing span.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a lightweight proxy for making unicast calls to the microservice.
func (Client) ConfigRefresh ¶
ConfigRefresh pulls the latest config values from the configurator microservice.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (Client) Metrics ¶ added in v1.19.0
func (_c Client) Metrics(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
Metrics returns the Prometheus metrics collected by the microservice.
func (Client) OpenAPI ¶ added in v1.27.0
func (_c Client) OpenAPI(ctx context.Context) (httpResponseBody *Document, httpStatusCode int, err error)
OpenAPI returns the OpenAPI 3.1 document of the microservice. Returns endpoints across all ports filtered by the caller's claims; consumers (portal/MCP) apply any port-based filtering at their ingress boundary.
type ConfigRefreshIn ¶
type ConfigRefreshIn struct {
}
ConfigRefreshIn are the input arguments of ConfigRefresh.
type ConfigRefreshOut ¶
type ConfigRefreshOut struct {
}
ConfigRefreshOut are the output arguments of ConfigRefresh.
type ConfigRefreshResponse ¶
type ConfigRefreshResponse multicastResponse // MARKER: ConfigRefresh
ConfigRefreshResponse packs the response of ConfigRefresh.
func (*ConfigRefreshResponse) Get ¶
func (_res *ConfigRefreshResponse) Get() (err error)
Get unpacks the return arguments of ConfigRefresh.
type Hook ¶ added in v1.19.0
type Hook struct {
// contains filtered or unexported fields
}
Hook assists in the subscription to the events of the microservice.
func NewHook ¶ added in v1.19.0
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the microservice.
func (Hook) ForHost ¶ added in v1.19.0
ForHost returns a copy of the hook with a different hostname to be applied to the subscription.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the microservice.
func (MulticastClient) ConfigRefresh ¶
func (_c MulticastClient) ConfigRefresh(ctx context.Context) iter.Seq[*ConfigRefreshResponse]
ConfigRefresh pulls the latest config values from the configurator microservice.
func (MulticastClient) ForHost ¶
func (_c MulticastClient) ForHost(host string) MulticastClient
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (MulticastClient) Metrics ¶ added in v1.19.0
func (_c MulticastClient) Metrics(ctx context.Context, method string, relativeURL string, body any) iter.Seq[*pub.Response]
Metrics returns the Prometheus metrics collected by the microservice.
func (MulticastClient) OpenAPI ¶ added in v1.27.0
func (_c MulticastClient) OpenAPI(ctx context.Context) iter.Seq[*OpenAPIResponse]
OpenAPI returns the OpenAPI 3.1 document of the microservice. Returns endpoints across all ports filtered by the caller's claims; consumers (portal/MCP) apply any port-based filtering at their ingress boundary.
func (MulticastClient) Ping ¶
func (_c MulticastClient) Ping(ctx context.Context) iter.Seq[*PingResponse]
Ping responds to the message with a pong.
func (MulticastClient) PingInstances ¶
func (_c MulticastClient) PingInstances(ctx context.Context) iter.Seq[*ServiceInfo]
PingInstances performs a ping and returns service info for all instances on the network.
func (MulticastClient) PingServices ¶
func (_c MulticastClient) PingServices(ctx context.Context) iter.Seq[*ServiceInfo]
PingServices performs a ping and returns service info for microservices on the network. Results are deduped on a per-service basis.
func (MulticastClient) PingVersions ¶
func (_c MulticastClient) PingVersions(ctx context.Context) iter.Seq[*ServiceInfo]
PingVersions performs a ping and returns service info for microservice versions on the network. Results are deduped on a per-version basis.
func (MulticastClient) Trace ¶
func (_c MulticastClient) Trace(ctx context.Context, id string) iter.Seq[*TraceResponse]
Trace forces exporting the indicated tracing span.
func (MulticastClient) WithOptions ¶ added in v1.13.1
func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
WithOptions returns a copy of the client with options to be applied to requests.
type MulticastTrigger ¶ added in v1.19.0
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶ added in v1.19.0
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶ added in v1.19.0
func (_c MulticastTrigger) ForHost(host string) MulticastTrigger
ForHost returns a copy of the trigger with a different hostname to be applied to requests.
func (MulticastTrigger) OnNewSubs ¶ added in v1.19.0
func (_c MulticastTrigger) OnNewSubs(ctx context.Context) iter.Seq[*OnNewSubsResponse]
OnNewSubs informs of new subscriptions.
func (MulticastTrigger) WithOptions ¶ added in v1.19.0
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type OnNewSubsIn ¶ added in v1.19.0
type OnNewSubsIn struct {
}
OnNewSubsIn are the input arguments of OnNewSubs.
type OnNewSubsOut ¶ added in v1.19.0
type OnNewSubsOut struct {
}
OnNewSubsOut are the output arguments of OnNewSubs.
type OnNewSubsResponse ¶ added in v1.19.0
type OnNewSubsResponse multicastResponse // MARKER: OnNewSubs
OnNewSubsResponse packs the response of OnNewSubs.
func (*OnNewSubsResponse) Get ¶ added in v1.19.0
func (_res *OnNewSubsResponse) Get() (err error)
Get unpacks the return arguments of OnNewSubs.
type OpenAPIIn ¶ added in v1.27.0
type OpenAPIIn struct {
}
OpenAPIIn are the input arguments of OpenAPI.
type OpenAPIOut ¶ added in v1.27.0
OpenAPIOut are the output arguments of OpenAPI.
type OpenAPIResponse ¶ added in v1.27.0
type OpenAPIResponse multicastResponse // MARKER: OpenAPI
OpenAPIResponse packs the response of OpenAPI.
type PingOut ¶
type PingOut struct {
Pong int `json:"pong,omitzero"`
}
PingOut are the output arguments of Ping.
type PingResponse ¶
type PingResponse multicastResponse // MARKER: Ping
PingResponse packs the response of Ping.
func (*PingResponse) Get ¶
func (_res *PingResponse) Get() (pong int, err error)
Get unpacks the return arguments of Ping.
type ServiceInfo ¶
ServiceInfo is a descriptor of the microservice that answers the ping.
type TraceIn ¶
type TraceIn struct {
ID string `json:"id,omitzero"`
}
TraceIn are the input arguments of Trace.
type TraceResponse ¶
type TraceResponse multicastResponse // MARKER: Trace
TraceResponse packs the response of Trace.
func (*TraceResponse) Get ¶
func (_res *TraceResponse) Get() (err error)
Get unpacks the return arguments of Trace.