feat: runtime manager
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package ports
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"galaxy/notificationintent"
|
||||
)
|
||||
|
||||
// NotificationIntentPublisher is the producer port Runtime Manager uses
|
||||
// to publish admin-only notification intents to Notification Service.
|
||||
// The production adapter is a thin wrapper around
|
||||
// `notificationintent.Publisher`; the wrapper drops the entry id
|
||||
// returned by the underlying publisher because Runtime Manager does
|
||||
// not track per-intent ids in v1.
|
||||
//
|
||||
// A failed Publish call is a notification degradation per
|
||||
// `galaxy/rtmanager/README.md §Notification Contracts` and must not roll
|
||||
// back already committed business state. Callers log the error and
|
||||
// proceed.
|
||||
type NotificationIntentPublisher interface {
|
||||
// Publish normalises intent and appends it to the configured Redis
|
||||
// Stream. Validation failures and transport errors are returned
|
||||
// verbatim.
|
||||
Publish(ctx context.Context, intent notificationintent.Intent) error
|
||||
}
|
||||
Reference in New Issue
Block a user