Files
distributor/docs/internal/notify.md

1.2 KiB

Notify

Purpose

internal/notify defines the internal notification interface used by the application runner.

Inputs and outputs

Input is a notification event containing pipeline id, destination id, bundle id, bundle path, action, and output metadata. The interface returns an error so app orchestration can treat notification failures as destination failures.

Current behavior

The implemented notifier is a no-op. It is invoked only after a successful publish or replacement. Dry-run, skipped destinations, and failed destinations do not invoke it.

Failure behavior

notify.Noop always succeeds unless the context is already canceled. If a configured notifier returns an error, internal/app records that destination as failed and continues with remaining destinations.

Boundaries

External notification adapters and user-facing notification configuration are outside current behavior.

Tests

Before changing notification behavior, inspect:

  • internal/notify
  • internal/app/run_test.go

Invariants

  • Notifications are emitted only after successful publish or replacement execution.
  • Dry-run never notifies.
  • Skipped and failed destinations never notify.
  • The default app notifier is notify.Noop.