Skip to content

Commit caa2fd7

Browse files
alexluongclaude
andcommitted
chore: fix Delivery → Attempt rename inconsistencies
- Revert attempt_metadata → delivery_metadata in OpenAPI (matches Go code) - Fix config: delivery_prefix → attempt_prefix, example att → atm - Fix variable names: deliveryID → attemptID, attErr → atmErr - Fix test names: TestListDeliveries → TestListAttempts, etc. - Update doc links for renamed API endpoints - Update comments and test descriptions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent fc4a57f commit caa2fd7

File tree

13 files changed

+143
-139
lines changed

13 files changed

+143
-139
lines changed

.outpost.yaml.dev

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ idgen:
7272
type: "nanoid"
7373
event_prefix: "evt"
7474
destination_prefix: "des"
75-
delivery_prefix: "dlv"
75+
attempt_prefix: "atm"
7676

7777
# Concurrency
7878
publish_max_concurrency: 1

docs/apis/openapi.yaml

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ components:
470470
$ref: "#/components/schemas/WebhookConfig"
471471
credentials:
472472
$ref: "#/components/schemas/WebhookCredentials"
473-
attempt_metadata:
473+
delivery_metadata:
474474
type: object
475475
additionalProperties:
476476
type: string
@@ -557,7 +557,7 @@ components:
557557
$ref: "#/components/schemas/AWSSQSConfig"
558558
credentials:
559559
$ref: "#/components/schemas/AWSSQSCredentials"
560-
attempt_metadata:
560+
delivery_metadata:
561561
type: object
562562
additionalProperties:
563563
type: string
@@ -644,7 +644,7 @@ components:
644644
$ref: "#/components/schemas/RabbitMQConfig"
645645
credentials:
646646
$ref: "#/components/schemas/RabbitMQCredentials"
647-
attempt_metadata:
647+
delivery_metadata:
648648
type: object
649649
additionalProperties:
650650
type: string
@@ -721,7 +721,7 @@ components:
721721
config: {} # Empty config
722722
credentials:
723723
$ref: "#/components/schemas/HookdeckCredentials"
724-
attempt_metadata:
724+
delivery_metadata:
725725
type: object
726726
additionalProperties:
727727
type: string
@@ -805,7 +805,7 @@ components:
805805
$ref: "#/components/schemas/AWSKinesisConfig"
806806
credentials:
807807
$ref: "#/components/schemas/AWSKinesisCredentials"
808-
attempt_metadata:
808+
delivery_metadata:
809809
type: object
810810
additionalProperties:
811811
type: string
@@ -882,7 +882,7 @@ components:
882882
$ref: "#/components/schemas/AzureServiceBusConfig"
883883
credentials:
884884
$ref: "#/components/schemas/AzureServiceBusCredentials"
885-
attempt_metadata:
885+
delivery_metadata:
886886
type: object
887887
additionalProperties:
888888
type: string
@@ -968,7 +968,7 @@ components:
968968
$ref: "#/components/schemas/AWSS3Config"
969969
credentials:
970970
$ref: "#/components/schemas/AWSS3Credentials"
971-
attempt_metadata:
971+
delivery_metadata:
972972
type: object
973973
additionalProperties:
974974
type: string
@@ -1055,7 +1055,7 @@ components:
10551055
$ref: "#/components/schemas/GCPPubSubConfig"
10561056
credentials:
10571057
$ref: "#/components/schemas/GCPPubSubCredentials"
1058-
attempt_metadata:
1058+
delivery_metadata:
10591059
type: object
10601060
additionalProperties:
10611061
type: string
@@ -1138,7 +1138,7 @@ components:
11381138
credentials:
11391139
# Secret is optional on create for admin, forbidden for tenant
11401140
$ref: "#/components/schemas/WebhookCredentials"
1141-
attempt_metadata:
1141+
delivery_metadata:
11421142
type: object
11431143
additionalProperties:
11441144
type: string
@@ -1172,7 +1172,7 @@ components:
11721172
$ref: "#/components/schemas/AWSSQSConfig"
11731173
credentials:
11741174
$ref: "#/components/schemas/AWSSQSCredentials"
1175-
attempt_metadata:
1175+
delivery_metadata:
11761176
type: object
11771177
additionalProperties:
11781178
type: string
@@ -1206,7 +1206,7 @@ components:
12061206
$ref: "#/components/schemas/RabbitMQConfig"
12071207
credentials:
12081208
$ref: "#/components/schemas/RabbitMQCredentials"
1209-
attempt_metadata:
1209+
delivery_metadata:
12101210
type: object
12111211
additionalProperties:
12121212
type: string
@@ -1239,7 +1239,7 @@ components:
12391239
config: {}
12401240
credentials:
12411241
$ref: "#/components/schemas/HookdeckCredentials"
1242-
attempt_metadata:
1242+
delivery_metadata:
12431243
type: object
12441244
additionalProperties:
12451245
type: string
@@ -1273,7 +1273,7 @@ components:
12731273
$ref: "#/components/schemas/AWSKinesisConfig"
12741274
credentials:
12751275
$ref: "#/components/schemas/AWSKinesisCredentials"
1276-
attempt_metadata:
1276+
delivery_metadata:
12771277
type: object
12781278
additionalProperties:
12791279
type: string
@@ -1308,7 +1308,7 @@ components:
13081308
$ref: "#/components/schemas/AzureServiceBusConfig"
13091309
credentials:
13101310
$ref: "#/components/schemas/AzureServiceBusCredentials"
1311-
attempt_metadata:
1311+
delivery_metadata:
13121312
type: object
13131313
additionalProperties:
13141314
type: string
@@ -1343,7 +1343,7 @@ components:
13431343
$ref: "#/components/schemas/AWSS3Config"
13441344
credentials:
13451345
$ref: "#/components/schemas/AWSS3Credentials"
1346-
attempt_metadata:
1346+
delivery_metadata:
13471347
type: object
13481348
additionalProperties:
13491349
type: string
@@ -1377,7 +1377,7 @@ components:
13771377
$ref: "#/components/schemas/GCPPubSubConfig"
13781378
credentials:
13791379
$ref: "#/components/schemas/GCPPubSubCredentials"
1380-
attempt_metadata:
1380+
delivery_metadata:
13811381
type: object
13821382
additionalProperties:
13831383
type: string
@@ -1444,7 +1444,7 @@ components:
14441444
$ref: "#/components/schemas/WebhookConfig" # URL is required here, but PATCH means it's optional in the request
14451445
credentials:
14461446
$ref: "#/components/schemas/WebhookCredentialsUpdate"
1447-
attempt_metadata:
1447+
delivery_metadata:
14481448
type: object
14491449
additionalProperties:
14501450
type: string
@@ -1470,7 +1470,7 @@ components:
14701470
$ref: "#/components/schemas/AWSSQSConfig" # queue_url is required here, but PATCH means it's optional
14711471
credentials:
14721472
$ref: "#/components/schemas/AWSSQSCredentials" # key/secret required here, but PATCH means optional
1473-
attempt_metadata:
1473+
delivery_metadata:
14741474
type: object
14751475
additionalProperties:
14761476
type: string
@@ -1496,7 +1496,7 @@ components:
14961496
$ref: "#/components/schemas/RabbitMQConfig" # server_url/exchange required here, but PATCH means optional
14971497
credentials:
14981498
$ref: "#/components/schemas/RabbitMQCredentials" # username/password required here, but PATCH means optional
1499-
attempt_metadata:
1499+
delivery_metadata:
15001500
type: object
15011501
additionalProperties:
15021502
type: string
@@ -1521,7 +1521,7 @@ components:
15211521
config: {} # Empty config, cannot be updated
15221522
credentials:
15231523
$ref: "#/components/schemas/HookdeckCredentials" # token required here, but PATCH means optional
1524-
attempt_metadata:
1524+
delivery_metadata:
15251525
type: object
15261526
additionalProperties:
15271527
type: string
@@ -1547,7 +1547,7 @@ components:
15471547
$ref: "#/components/schemas/AWSKinesisConfig" # stream_name/region required here, but PATCH means optional
15481548
credentials:
15491549
$ref: "#/components/schemas/AWSKinesisCredentials" # key/secret required here, but PATCH means optional
1550-
attempt_metadata:
1550+
delivery_metadata:
15511551
type: object
15521552
additionalProperties:
15531553
type: string
@@ -1573,7 +1573,7 @@ components:
15731573
$ref: "#/components/schemas/AzureServiceBusConfig" # name required here, but PATCH means optional
15741574
credentials:
15751575
$ref: "#/components/schemas/AzureServiceBusCredentials" # connection_string required here, but PATCH means optional
1576-
attempt_metadata:
1576+
delivery_metadata:
15771577
type: object
15781578
additionalProperties:
15791579
type: string
@@ -1600,7 +1600,7 @@ components:
16001600
$ref: "#/components/schemas/AWSS3Config" # bucket/region required here, but PATCH means optional
16011601
credentials:
16021602
$ref: "#/components/schemas/AWSS3Credentials" # key/secret required here, but PATCH means optional
1603-
attempt_metadata:
1603+
delivery_metadata:
16041604
type: object
16051605
additionalProperties:
16061606
type: string
@@ -1626,7 +1626,7 @@ components:
16261626
$ref: "#/components/schemas/GCPPubSubConfig" # project_id/topic required here, but PATCH means optional
16271627
credentials:
16281628
$ref: "#/components/schemas/GCPPubSubCredentials" # service_account_json required here, but PATCH means optional
1629-
attempt_metadata:
1629+
delivery_metadata:
16301630
type: object
16311631
additionalProperties:
16321632
type: string
@@ -1777,7 +1777,7 @@ components:
17771777
id:
17781778
type: string
17791779
description: Unique identifier for this attempt.
1780-
example: "att_123"
1780+
example: "atm_123"
17811781
status:
17821782
type: string
17831783
enum: [success, failed]
@@ -2579,7 +2579,7 @@ paths:
25792579
AdminAttemptsListExample:
25802580
value:
25812581
models:
2582-
- id: "att_123"
2582+
- id: "atm_123"
25832583
status: "success"
25842584
delivered_at: "2024-01-01T00:00:05Z"
25852585
code: "200"
@@ -3427,7 +3427,7 @@ paths:
34273427
AttemptsListExample:
34283428
value:
34293429
models:
3430-
- id: "att_123"
3430+
- id: "atm_123"
34313431
status: "success"
34323432
delivered_at: "2024-01-01T00:00:05Z"
34333433
code: "200"
@@ -3451,7 +3451,7 @@ paths:
34513451
summary: Response with include=event
34523452
value:
34533453
models:
3454-
- id: "att_123"
3454+
- id: "atm_123"
34553455
status: "success"
34563456
delivered_at: "2024-01-01T00:00:05Z"
34573457
code: "200"
@@ -3522,7 +3522,7 @@ paths:
35223522
examples:
35233523
AttemptExample:
35243524
value:
3525-
id: "att_123"
3525+
id: "atm_123"
35263526
status: "success"
35273527
delivered_at: "2024-01-01T00:00:05Z"
35283528
code: "200"
@@ -3532,7 +3532,7 @@ paths:
35323532
AttemptWithIncludeExample:
35333533
summary: Response with include=event.data,response_data
35343534
value:
3535-
id: "att_123"
3535+
id: "atm_123"
35363536
status: "success"
35373537
delivered_at: "2024-01-01T00:00:05Z"
35383538
code: "200"

docs/pages/features/event-delivery.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The retry interval uses an exponential backoff algorithm with a base of `2`.
1212

1313
## Manual Retries
1414

15-
Manual retries can be triggered for any given event via the [Event API](/docs/api/events#retry-event-delivery) or user portal.
15+
Manual retries can be triggered for any given attempt via the [Attempts API](/docs/api/attempts#retry-attempt) or user portal.
1616

1717
## Disabled destinations
1818

docs/pages/guides/building-your-own-ui.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,6 @@ return (
372372
);
373373
```
374374

375-
For each event, you can retrieve all its associated delivery attempts using the [List Event Deliveries Attempts API](/docs/api/event-deliveries-attempts#list-event-deliveries-attempts).
375+
For each event, you can retrieve all its associated delivery attempts using the [List Event Attempts API](/docs/api/events#list-event-attempts).
376376

377377
You can find the source code of the `Events.tsx` component of the User Portal here: [Events.tsx](https://github.com/hookdeck/outpost/blob/main/internal/portal/src/scenes/Destination/Events/Events.tsx)

docs/pages/guides/migrate-to-outpost.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ To migrate your historical data to Outpost, you need to map your existing data s
129129
The Outpost schema contains two tables related to events:
130130

131131
1. **events** - The events that Outpost has received to publish.
132-
2. **deliveries** - The delivery attempts of events to destinations.
132+
2. **attempts** - The delivery attempts of events to destinations.
133133

134134
The following diagram shows the Outpost schema. You can connect to the database instance within your Outpost installation to inspect the schema further.
135135

docs/pages/references/configuration.mdx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Global configurations are provided through env variables or a YAML file. ConfigM
7474
| `GCP_PUBSUB_SERVICE_ACCOUNT_CREDENTIALS` | JSON string or path to a file containing GCP service account credentials for Pub/Sub. Required if GCP Pub/Sub is the chosen MQ provider and not running in an environment with implicit credentials (e.g., GCE, GKE). | `nil` | Conditional |
7575
| `GIN_MODE` | Sets the Gin framework mode (e.g., 'debug', 'release', 'test'). See Gin documentation for details. | `release` | No |
7676
| `HTTP_USER_AGENT` | Custom HTTP User-Agent string for outgoing webhook deliveries. If unset, a default (OrganizationName/Version) is used. | `nil` | No |
77-
| `IDGEN_DELIVERY_PREFIX` | Prefix for delivery IDs, prepended with underscore (e.g., 'dlv_123'). Default: empty (no prefix) | `nil` | No |
77+
| `IDGEN_ATTEMPT_PREFIX` | Prefix for attempt IDs, prepended with underscore (e.g., 'atm_123'). Default: empty (no prefix) | `nil` | No |
7878
| `IDGEN_DESTINATION_PREFIX` | Prefix for destination IDs, prepended with underscore (e.g., 'dst_123'). Default: empty (no prefix) | `nil` | No |
7979
| `IDGEN_EVENT_PREFIX` | Prefix for event IDs, prepended with underscore (e.g., 'evt_123'). Default: empty (no prefix) | `nil` | No |
8080
| `IDGEN_TYPE` | ID generation type for all entities: uuidv4, uuidv7, nanoid. Default: uuidv4 | `uuidv4` | No |
@@ -133,6 +133,7 @@ Global configurations are provided through env variables or a YAML file. ConfigM
133133
| `RETRY_INTERVAL_SECONDS` | Interval in seconds for exponential backoff retry strategy (base 2). Ignored if retry_schedule is provided. | `30` | No |
134134
| `RETRY_POLL_BACKOFF_MS` | Backoff time in milliseconds when the retry monitor finds no messages to process. When a retry message is found, the monitor immediately polls for the next message without delay. Lower values provide faster retry processing but increase Redis load. For serverless Redis providers (Upstash, ElastiCache Serverless), consider increasing to 5000-10000ms to reduce costs. Default: 100 | `100` | No |
135135
| `RETRY_SCHEDULE` | Comma-separated list of retry delays in seconds. If provided, overrides retry_interval_seconds and retry_max_limit. Schedule length defines the max number of retries. Example: '5,60,600,3600,7200' for 5 retries at 5s, 1m, 10m, 1h, 2h. | `[]` | No |
136+
| `RETRY_VISIBILITY_TIMEOUT_SECONDS` | Time in seconds a retry message is hidden after being received before becoming visible again for reprocessing. This applies when event data is temporarily unavailable (e.g., race condition with log persistence). Default: 30 | `30` | No |
136137
| `SERVICE` | Specifies the service type to run. Valid values: 'api', 'log', 'delivery', or empty/all for singular mode (runs all services). | `nil` | No |
137138
| `TELEMETRY_BATCH_INTERVAL` | Maximum time in seconds to wait before sending a batch of telemetry events if batch size is not reached. | `5` | No |
138139
| `TELEMETRY_BATCH_SIZE` | Maximum number of telemetry events to batch before sending. | `100` | No |
@@ -269,8 +270,8 @@ gin_mode: "release"
269270
http_user_agent: ""
270271

271272
idgen:
272-
# Prefix for delivery IDs, prepended with underscore (e.g., 'dlv_123'). Default: empty (no prefix)
273-
delivery_prefix: ""
273+
# Prefix for attempt IDs, prepended with underscore (e.g., 'atm_123'). Default: empty (no prefix)
274+
attempt_prefix: ""
274275

275276
# Prefix for destination IDs, prepended with underscore (e.g., 'dst_123'). Default: empty (no prefix)
276277
destination_prefix: ""
@@ -607,6 +608,9 @@ retry_poll_backoff_ms: 100
607608
# Comma-separated list of retry delays in seconds. If provided, overrides retry_interval_seconds and retry_max_limit. Schedule length defines the max number of retries. Example: '5,60,600,3600,7200' for 5 retries at 5s, 1m, 10m, 1h, 2h.
608609
retry_schedule: []
609610

611+
# Time in seconds a retry message is hidden after being received before becoming visible again for reprocessing. This applies when event data is temporarily unavailable (e.g., race condition with log persistence). Default: 30
612+
retry_visibility_timeout_seconds: 30
613+
610614
# Specifies the service type to run. Valid values: 'api', 'log', 'delivery', or empty/all for singular mode (runs all services).
611615
service: ""
612616

0 commit comments

Comments
 (0)