You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: rename operation events to operator events (#819)
Renames the v0.16 "operation events" feature to "operator events"
throughout config, code, tests, and docs. Only public surface changes
are the env var prefix (`OPERATION_EVENTS_*` -> `OPERATOR_EVENTS_*`)
and the yaml key (`operation_events` -> `operator_events`); v0.16 is
not yet released so no deprecation shim is included.
Unchanged on purpose:
- Go package name `opevents` and error prefix `opevents:`
(abbreviation covers both terms, avoids import churn)
- `/opevents` HTTP path and `cmd/e2e/opevents` mock package
(internal test scaffolding)
- Redis suppression key `opevents:exhausted:*`
(state at rest; renaming would orphan in-flight windows)
- Topic string constants (e.g. `alert.destination.consecutive_failure`)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/pages/features.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Outpost offers a range of features designed to provide a robust and flexible eve
10
10
-**[Filters](./features/filter.mdx)**: Configure filters on destinations to selectively receive only events matching specific criteria.
11
11
-**[Publishing Events](./features/publish-events.mdx)**: Learn how events are published, either to a configured message queue or via the publish API endpoint.
12
12
-**[Delivery & Retries](./features/event-delivery.mdx)**: Understand how Outpost ensures reliable event delivery with support for various destination types, retries, and best practices.
13
-
-**[Operation Events](./features/operation-events.mdx)**: Subscribe to lifecycle events (delivery failures, destination disabling, retry exhaustion, subscription changes) via HTTP, AWS SQS, GCP Pub/Sub, or RabbitMQ.
13
+
-**[Operator Events](./features/operator-events.mdx)**: Subscribe to lifecycle events (delivery failures, destination disabling, retry exhaustion, subscription changes) via HTTP, AWS SQS, GCP Pub/Sub, or RabbitMQ.
14
14
-**[Tenant User Portal](./features/tenant-user-portal.mdx)**: Provide your tenants with an optional portal to configure destinations and inspect events.
15
15
-**[OpenTelemetry](./features/opentelemetry.mdx)**: Monitor key performance metrics using OpenTelemetry integration.
16
16
-**[Logging](./features/logging.mdx)**: Control the verbosity of logs produced by Outpost services.
Copy file name to clipboardExpand all lines: docs/pages/features/event-delivery.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,4 +16,4 @@ Manual retries can be triggered for any given attempt via the [Attempts API](/do
16
16
17
17
## Disabled destinations
18
18
19
-
If the destination for an event is disabled—through the API, user portal, or automatically because a [failure threshold](/docs/features/operation-events) has been reached—the event will be discarded and cannot be retried.
19
+
If the destination for an event is disabled—through the API, user portal, or automatically because a [failure threshold](/docs/features/operator-events) has been reached—the event will be discarded and cannot be retried.
Copy file name to clipboardExpand all lines: docs/pages/features/operator-events.mdx
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
---
2
-
title: Operation Events
2
+
title: Operator Events
3
3
---
4
4
5
-
Operation events let you subscribe to lifecycle events from your Outpost deployment — delivery failures, destination disabling, retry exhaustion, and subscription changes. Use them to build alerting, auditing, or automation on top of Outpost.
5
+
Operator events let you subscribe to lifecycle events from your Outpost deployment — delivery failures, destination disabling, retry exhaustion, and subscription changes. Use them to build alerting, auditing, or automation on top of Outpost.
6
6
7
7
## Configuration
8
8
9
-
Enable operation events by specifying which topics to subscribe to and configuring a sink to receive them.
9
+
Enable operator events by specifying which topics to subscribe to and configuring a sink to receive them.
10
10
11
11
### Topics
12
12
13
-
Set `OPERATION_EVENTS_TOPICS` to a comma-separated list of topics, or `*` for all topics:
13
+
Set `OPERATOR_EVENTS_TOPICS` to a comma-separated list of topics, or `*` for all topics:
14
14
15
15
```
16
-
OPERATION_EVENTS_TOPICS=*
16
+
OPERATOR_EVENTS_TOPICS=*
17
17
```
18
18
19
19
Available topics:
@@ -25,7 +25,7 @@ Available topics:
25
25
|`alert.attempt.exhausted_retries`| Delivery exhausts all retry attempts (deduplicated per event+destination) |
26
26
|`tenant.subscription.updated`| Destination created, updated, deleted, disabled, or enabled (when topics or destination count changes) |
27
27
28
-
If `OPERATION_EVENTS_TOPICS` is empty or unset, operation events are disabled. If topics are configured but no sink is set, Outpost will fail to start.
28
+
If `OPERATOR_EVENTS_TOPICS` is empty or unset, operator events are disabled. If topics are configured but no sink is set, Outpost will fail to start.
29
29
30
30
### Sinks
31
31
@@ -36,8 +36,8 @@ Configure exactly one sink to receive events. Four sink types are supported:
36
36
Sends events as POST requests to a URL, signed with HMAC-SHA256.
Copy file name to clipboardExpand all lines: docs/pages/guides/upgrade-v0.16.mdx
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ This guide covers breaking changes and migration steps when upgrading from v0.15
12
12
|[Event `destination_id` replaced with `matched_destination_ids`](#event-destination_id-replaced-with-matched_destination_ids)| Event API responses and queries | Update code that reads `destination_id` from events to use `matched_destination_ids`|
13
13
|[Delivery metadata timestamp format](#delivery-metadata-timestamp-format)| Consumers of delivery metadata `timestamp` field | Update timestamp parsing from Unix seconds to ISO 8601 |
14
14
|[Response data body stored as raw string](#response-data-body-stored-as-raw-string)| Consumers of `response_data.body`| Update code that treats `response_data.body` as a parsed JSON object |
15
-
|[Alert callbacks replaced by operation events](#alert-callbacks-replaced-by-operation-events)| Users of `ALERT_CALLBACK_URL`| Migrate to `OPERATION_EVENTS_*` config |
15
+
|[Alert callbacks replaced by operator events](#alert-callbacks-replaced-by-operator-events)| Users of `ALERT_CALLBACK_URL`| Migrate to `OPERATOR_EVENTS_*` config |
16
16
17
17
## Webhook Signing Secret Prefix Changed
18
18
@@ -111,13 +111,13 @@ The `attempts.response_data` column is migrated from JSONB to TEXT (migration `0
111
111
112
112
**Action:** Update any code that reads `response_data.body` as a structured object. If you need the parsed object, parse the string with `JSON.parse()` (or equivalent) on the client side.
113
113
114
-
## Alert Callbacks Replaced by Operation Events
114
+
## Alert Callbacks Replaced by Operator Events
115
115
116
-
The `ALERT_CALLBACK_URL` config has been removed. Alert notifications are now handled by the new **operation events** system, which supports multiple sink types and additional event topics.
116
+
The `ALERT_CALLBACK_URL` config has been removed. Alert notifications are now handled by the new **operator events** system, which supports multiple sink types and additional event topics.
117
117
118
118
### Migration
119
119
120
-
If you were using `ALERT_CALLBACK_URL` to receive alert callbacks via HTTP, migrate to the operation events HTTP sink:
120
+
If you were using `ALERT_CALLBACK_URL` to receive alert callbacks via HTTP, migrate to the operator events HTTP sink:
Topics []string`yaml:"topics" env:"OPERATION_EVENTS_TOPICS" envSeparator:"," desc:"Comma-separated list of operation event topics to emit. Use '*' for all topics. If empty, operation events are disabled." required:"N"`
Topics []string`yaml:"topics" env:"OPERATOR_EVENTS_TOPICS" envSeparator:"," desc:"Comma-separated list of operator event topics to emit. Use '*' for all topics. If empty, operator events are disabled." required:"N"`
Regionstring`yaml:"region" env:"OPERATION_EVENTS_AWS_SQS_REGION" desc:"AWS region for SQS operation events sink." required:"N"`
431
-
Endpointstring`yaml:"endpoint" env:"OPERATION_EVENTS_AWS_SQS_ENDPOINT" desc:"Custom AWS SQS endpoint for operation events. Optional, for local development." required:"N"`
426
+
typeOperatorEventsAWSSQSConfigstruct {
427
+
QueueURLstring`yaml:"queue_url" env:"OPERATOR_EVENTS_AWS_SQS_QUEUE_URL" desc:"AWS SQS queue URL for operator events." required:"N"`
428
+
AccessKeyIDstring`yaml:"access_key_id" env:"OPERATOR_EVENTS_AWS_SQS_ACCESS_KEY_ID" desc:"AWS access key ID for SQS operator events sink." required:"N"`
Regionstring`yaml:"region" env:"OPERATOR_EVENTS_AWS_SQS_REGION" desc:"AWS region for SQS operator events sink." required:"N"`
431
+
Endpointstring`yaml:"endpoint" env:"OPERATOR_EVENTS_AWS_SQS_ENDPOINT" desc:"Custom AWS SQS endpoint for operator events. Optional, for local development." required:"N"`
432
432
}
433
433
434
-
typeOperationEventsGCPConfigstruct {
435
-
ProjectIDstring`yaml:"project_id" env:"OPERATION_EVENTS_GCP_PUBSUB_PROJECT_ID" desc:"GCP project ID for Pub/Sub operation events sink." required:"N"`
436
-
TopicIDstring`yaml:"topic_id" env:"OPERATION_EVENTS_GCP_PUBSUB_TOPIC_ID" desc:"GCP Pub/Sub topic ID for operation events." required:"N"`
437
-
Credentialsstring`yaml:"credentials" env:"OPERATION_EVENTS_GCP_PUBSUB_CREDENTIALS" desc:"GCP service account credentials JSON for Pub/Sub operation events sink." required:"N"`
434
+
typeOperatorEventsGCPConfigstruct {
435
+
ProjectIDstring`yaml:"project_id" env:"OPERATOR_EVENTS_GCP_PUBSUB_PROJECT_ID" desc:"GCP project ID for Pub/Sub operator events sink." required:"N"`
436
+
TopicIDstring`yaml:"topic_id" env:"OPERATOR_EVENTS_GCP_PUBSUB_TOPIC_ID" desc:"GCP Pub/Sub topic ID for operator events." required:"N"`
437
+
Credentialsstring`yaml:"credentials" env:"OPERATOR_EVENTS_GCP_PUBSUB_CREDENTIALS" desc:"GCP service account credentials JSON for Pub/Sub operator events sink." required:"N"`
438
438
}
439
439
440
-
typeOperationEventsRabbitMQConfigstruct {
441
-
ServerURLstring`yaml:"server_url" env:"OPERATION_EVENTS_RABBITMQ_SERVER_URL" desc:"RabbitMQ server URL for operation events sink." required:"N"`
442
-
Exchangestring`yaml:"exchange" env:"OPERATION_EVENTS_RABBITMQ_EXCHANGE" desc:"RabbitMQ exchange for operation events." required:"N"`
440
+
typeOperatorEventsRabbitMQConfigstruct {
441
+
ServerURLstring`yaml:"server_url" env:"OPERATOR_EVENTS_RABBITMQ_SERVER_URL" desc:"RabbitMQ server URL for operator events sink." required:"N"`
442
+
Exchangestring`yaml:"exchange" env:"OPERATOR_EVENTS_RABBITMQ_EXCHANGE" desc:"RabbitMQ exchange for operator events." required:"N"`
0 commit comments