Documentation
¶
Index ¶
Constants ¶
View Source
const ( TopicAlertConsecutiveFailure = "alert.destination.consecutive_failure" TopicAlertDestinationDisabled = "alert.destination.disabled" TopicAlertExhaustedRetries = "alert.attempt.exhausted_retries" TopicTenantSubscriptionUpdated = "tenant.subscription.updated" )
Topic constants for operator events.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSSQSSinkConfig ¶
type Config ¶
type Config struct {
Topics []string
// Sink configs — at most one should be set. Presence determines sink type.
HTTP *HTTPSinkConfig
AWSSQS *AWSSQSSinkConfig
GCPPubSub *GCPPubSubSinkConfig
RabbitMQ *RabbitMQSinkConfig
}
Config holds the configuration for the operator events system. yaml/env tags live in internal/config; this is the domain-level struct.
type GCPPubSubSinkConfig ¶
type HTTPSink ¶
type HTTPSink struct {
// contains filtered or unexported fields
}
HTTPSink sends operator events via HTTP POST with optional HMAC-SHA256 signing.
func NewHTTPSink ¶
NewHTTPSink creates an HTTP sink. If signingSecret is non-empty, each request body is signed with HMAC-SHA256 and the signature is sent in the X-Outpost-Signature header.
type HTTPSinkConfig ¶
type MQSink ¶
type MQSink struct {
// contains filtered or unexported fields
}
MQSink sends operator events to a message queue via mqs.Queue.
type NoopSink ¶
type NoopSink struct{}
NoopSink is a sink that discards all events. Used when no sink is configured.
type OperatorEvent ¶
type OperatorEvent struct {
ID string `json:"id"`
Topic string `json:"topic"`
Time time.Time `json:"time"`
DeploymentID string `json:"deployment_id,omitempty"`
TenantID string `json:"tenant_id,omitempty"`
Data json.RawMessage `json:"data"`
}
OperatorEvent is the envelope for all operator events emitted by Outpost.
type RabbitMQSinkConfig ¶
Click to show internal directories.
Click to hide internal directories.