controlapi

package
v1.43.0 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

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

View Source
const Description = `` /* 187-byte string literal not displayed */

Description is the human-readable summary of the microservice, surfaced in OpenAPI and discovery.

View Source
const Hostname = "control.core"

Hostname is the default hostname of the microservice.

View Source
const Name = "Control"

Name is the decorative PascalCase name of the microservice.

View Source
const Version = 237

Version is a generation counter bumped on each regeneration, not a semantic version.

Variables

View Source
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.

View Source
var Metrics = define.Web{
	Host: Hostname, Method: "ANY", Route: ":888/metrics",
	LoadBalancing: define.None,
}

Metrics returns the Prometheus metrics collected by the microservice.

View Source
var OnNewSubs = define.OutboundEvent{
	Host: Hostname, Method: "POST", Route: ":888/on-new-subs",
	In: OnNewSubsIn{}, Out: OnNewSubsOut{},
}

OnNewSubs informs of new subscriptions.

View Source
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.

View Source
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.

View Source
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 NewClient

func NewClient(caller service.Publisher) Client

NewClient creates a new unicast client proxy to the microservice.

func (Client) ConfigRefresh

func (_c Client) ConfigRefresh(ctx context.Context) (err error)

ConfigRefresh pulls the latest config values from the configurator microservice.

func (Client) ForHost

func (_c Client) ForHost(host string) Client

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.

func (Client) Ping

func (_c Client) Ping(ctx context.Context) (pong int, err error)

Ping responds to the message with a pong.

func (Client) Trace

func (_c Client) Trace(ctx context.Context, id string) (err error)

Trace forces exporting the indicated tracing span.

func (Client) WithOptions added in v1.13.1

func (_c Client) WithOptions(opts ...pub.Option) Client

WithOptions returns a copy of the client with options to be applied to requests.

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 Document added in v1.27.0

type Document = openapi.Document

Document is the OpenAPI 3.1 document of the microservice.

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

func (c Hook) ForHost(host string) Hook

ForHost returns a copy of the hook with a different hostname to be applied to the subscription.

func (Hook) OnNewSubs added in v1.19.0

func (c Hook) OnNewSubs(handler func(ctx context.Context) (err error)) (unsub func() error, err error)

OnNewSubs informs of new subscriptions.

func (Hook) WithOptions added in v1.22.0

func (c Hook) WithOptions(opts ...sub.Option) Hook

WithOptions returns a copy of the hook with options to be applied to subscriptions.

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

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

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

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

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

type OpenAPIOut struct {
	HTTPResponseBody *Document `json:"-"`
	HTTPStatusCode   int       `json:"-"`
}

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.

func (*OpenAPIResponse) Get added in v1.27.0

func (_res *OpenAPIResponse) Get() (httpResponseBody *Document, httpStatusCode int, err error)

Get unpacks the return arguments of OpenAPI.

type PingIn

type PingIn struct {
}

PingIn are the input arguments of Ping.

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

type ServiceInfo struct {
	Hostname string
	Version  int
	ID       string
}

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 TraceOut

type TraceOut struct {
}

TraceOut are the output 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.

Jump to

Keyboard shortcuts

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