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.
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, relURL string, contentType string, ...) (res *http.Response, 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 Hook
- type MulticastClient
- func (_c MulticastClient) ConfigRefresh(ctx context.Context) <-chan *ConfigRefreshResponse
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Metrics(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) Ping(ctx context.Context) <-chan *PingResponse
- func (_c MulticastClient) PingInstances(ctx context.Context) <-chan *ServiceInfo
- func (_c MulticastClient) PingServices(ctx context.Context) <-chan *ServiceInfo
- func (_c MulticastClient) PingVersions(ctx context.Context) <-chan *ServiceInfo
- func (_c MulticastClient) Trace(ctx context.Context, id string) <-chan *TraceResponse
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type OnNewSubsIn
- type OnNewSubsOut
- type OnNewSubsResponse
- type PingIn
- type PingOut
- type PingResponse
- type ServiceInfo
- type TraceIn
- type TraceOut
- type TraceResponse
Constants ¶
const Hostname = "control.core"
Hostname is the default hostname of the microservice: control.core.
Variables ¶
var ( URLOfPing = httpx.JoinHostAndPath(Hostname, `:888/ping`) URLOfConfigRefresh = httpx.JoinHostAndPath(Hostname, `:888/config-refresh`) URLOfTrace = httpx.JoinHostAndPath(Hostname, `:888/trace`) URLOfMetrics = httpx.JoinHostAndPath(Hostname, `:888/metrics`) )
Fully-qualified URLs of the microservice's endpoints.
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 control.core 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, relURL string, contentType string, body any) (res *http.Response, err error)
Metrics returns the Prometheus metrics collected by the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
type ConfigRefreshIn ¶
type ConfigRefreshIn struct {
}
ConfigRefreshIn are the input arguments of ConfigRefresh.
type ConfigRefreshOut ¶
type ConfigRefreshOut struct {
}
ConfigRefreshOut are the return values of ConfigRefresh.
type ConfigRefreshResponse ¶
type ConfigRefreshResponse struct {
HTTPResponse *http.Response
// contains filtered or unexported fields
}
ConfigRefreshResponse is the response to ConfigRefresh.
func (*ConfigRefreshResponse) Get ¶
func (_out *ConfigRefreshResponse) Get() (err error)
Get retrieves the return values.
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 control.core microservice.
func NewHook ¶ added in v1.19.0
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the control.core microservice.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the control.core microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the control.core microservice.
func (MulticastClient) ConfigRefresh ¶
func (_c MulticastClient) ConfigRefresh(ctx context.Context) <-chan *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, relURL string, contentType string, body any) <-chan *pub.Response
Metrics returns the Prometheus metrics collected by the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (MulticastClient) Ping ¶
func (_c MulticastClient) Ping(ctx context.Context) <-chan *PingResponse
Ping responds to the message with a pong.
func (MulticastClient) PingInstances ¶
func (_c MulticastClient) PingInstances(ctx context.Context) <-chan *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) <-chan *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) <-chan *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) <-chan *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 control.core microservice.
func NewMulticastTrigger ¶ added in v1.19.0
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the control.core 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, hosts []string) <-chan *OnNewSubsResponse
OnNewSubs informs other microservices of new subscriptions, enabling them to update their known responders cache appropriately.
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 {
Hosts []string `json:"hosts"`
}
OnNewSubsIn are the input arguments of OnNewSubs.
type OnNewSubsOut ¶ added in v1.19.0
type OnNewSubsOut struct {
}
OnNewSubsOut are the return values of OnNewSubs.
type OnNewSubsResponse ¶ added in v1.19.0
type OnNewSubsResponse struct {
HTTPResponse *http.Response
// contains filtered or unexported fields
}
OnNewSubsResponse is the response to OnNewSubs.
func (*OnNewSubsResponse) Get ¶ added in v1.19.0
func (_out *OnNewSubsResponse) Get() (err error)
Get retrieves the return values.
type PingOut ¶
type PingOut struct {
Pong int `json:"pong"`
}
PingOut are the return values of Ping.
type PingResponse ¶
PingResponse is the response to Ping.
func (*PingResponse) Get ¶
func (_out *PingResponse) Get() (pong int, err error)
Get retrieves the return values.
type ServiceInfo ¶
ServiceInfo is a descriptor of the microservice that answers the ping.
type TraceIn ¶
type TraceIn struct {
ID string `json:"id"`
}
TraceIn are the input arguments of Trace.
type TraceResponse ¶
TraceResponse is the response to Trace.
func (*TraceResponse) Get ¶
func (_out *TraceResponse) Get() (err error)
Get retrieves the return values.