Documentation ¶
Overview ¶
Package pubsub wraps nats calls
Index ¶
- Constants
- Variables
- func NewAssignmentURN(id string) string
- func NewLoadBalancerURN(id string) string
- func NewMessage(tenantURN string, opts ...MsgOption) (*pubsubx.Message, error)
- func NewMetadataURN(id string) string
- func NewOriginURN(id string) string
- func NewPoolURN(id string) string
- func NewPortURN(id string) string
- func NewTenantURN(id string) string
- type Client
- func (c *Client) AddStream() (*nats.StreamInfo, error)
- func (c *Client) ChanSubscribe(_ context.Context, sub string, ch chan *nats.Msg, stream string) (*nats.Subscription, error)
- func (c *Client) PublishCreate(ctx context.Context, actor, location string, data *pubsubx.Message) error
- func (c *Client) PublishDelete(ctx context.Context, actor, location string, data *pubsubx.Message) error
- func (c *Client) PublishUpdate(ctx context.Context, actor, location string, data *pubsubx.Message) error
- type MsgOption
- func WithActorURN(u string) MsgOption
- func WithAdditionalData(d map[string]interface{}) MsgOption
- func WithAdditionalSubjectURNs(a ...string) MsgOption
- func WithEventType(e string) MsgOption
- func WithSource(s string) MsgOption
- func WithSubjectFields(f map[string]string) MsgOption
- func WithSubjectURN(s string) MsgOption
- type Option
Constants ¶
const ( // CreateEventType is the create event type string CreateEventType = "create" // DeleteEventType is the delete event type string DeleteEventType = "delete" // UpdateEventType is the update event type string UpdateEventType = "update" )
const (
// DefaultMessageSource is the default source for messages
DefaultMessageSource = "load-balancer-api"
)
Variables ¶
var ( // ErrMissingEventSubjectURN is returned when the event subject urn is missing ErrMissingEventSubjectURN = errors.New("missing event subject urn") // ErrMissingEventActorURN is returned when the event actor urn is missing ErrMissingEventActorURN = errors.New("missing event actor urn") // ErrMissingEventSource is returned when the event source is missing ErrMissingEventSource = errors.New("missing event source") )
Functions ¶
func NewAssignmentURN ¶
NewAssignmentURN creates a new assignment URN
func NewLoadBalancerURN ¶
NewLoadBalancerURN creates a new load balancer URN
func NewMessage ¶ added in v0.0.14
NewMessage functionally generates a new pubsub message and appends the tenantURN to the list of additional subject urns
func NewMetadataURN ¶ added in v0.0.16
NewMetadataURN creates a new metadata URN
func NewOriginURN ¶ added in v0.0.9
NewOriginURN creates a new origin URN
func NewPoolURN ¶ added in v0.0.9
NewPoolURN creates a new pool URN
func NewPortURN ¶ added in v0.0.10
NewPortURN creates a new port URN
func NewTenantURN ¶ added in v0.0.9
NewTenantURN creates a new tenant URN
Types ¶
type Client ¶ added in v0.0.8
type Client struct {
// contains filtered or unexported fields
}
Client is an event bus client with some configuration
func NewClient ¶ added in v0.0.8
NewClient configures and establishes a new event bus client connection
func (*Client) AddStream ¶ added in v0.0.8
AddStream checks if a stream exists and attempts to create it if it doesn't. Currently we don't currently check that the stream is configured identically to the desired configuration.
func (*Client) ChanSubscribe ¶ added in v0.0.9
func (c *Client) ChanSubscribe(_ context.Context, sub string, ch chan *nats.Msg, stream string) (*nats.Subscription, error)
ChanSubscribe creates a subcription and returns messages on a channel
func (*Client) PublishCreate ¶ added in v0.0.8
func (c *Client) PublishCreate(ctx context.Context, actor, location string, data *pubsubx.Message) error
PublishCreate publishes a create event
type MsgOption ¶ added in v0.0.14
MsgOption is a functional argument for NewMessage
func WithActorURN ¶ added in v0.0.14
WithActorURN sets the actor urn of the message
func WithAdditionalData ¶ added in v0.0.14
WithAdditionalData sets the additional data of the message
func WithAdditionalSubjectURNs ¶ added in v0.0.14
WithAdditionalSubjectURNs sets the additional subject urns of the message
func WithEventType ¶ added in v0.0.14
WithEventType sets the event type of the message
func WithSource ¶ added in v0.0.14
WithSource sets the source of the message
func WithSubjectFields ¶ added in v0.0.14
WithSubjectFields sets the subject fields of the message
func WithSubjectURN ¶ added in v0.0.14
WithSubjectURN sets the subject urn of the message
type Option ¶ added in v0.0.8
type Option func(c *Client)
Option is a functional configuration option for governor eventing
func WithJetreamContext ¶ added in v0.0.8
func WithJetreamContext(js nats.JetStreamContext) Option
WithJetreamContext sets the nats jetstream context
func WithLogger ¶ added in v0.0.8
func WithLogger(l *zap.SugaredLogger) Option
WithLogger sets the client logger
func WithStreamName ¶ added in v0.0.8
WithStreamName sets the nats stream name
func WithSubjectPrefix ¶ added in v0.0.8
WithSubjectPrefix sets the nats subject prefix