Skip to content

Commit c381b51

Browse files
Adding metadata to triggers (#1604)
1 parent fab2e2c commit c381b51

File tree

5 files changed

+99
-45
lines changed

5 files changed

+99
-45
lines changed

pkg/capabilities/capabilities.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ type RequestMetadata struct {
106106
// Use DecodedWorkflowName if the human readable name needs to be exposed, such as for logging purposes.
107107
DecodedWorkflowName string
108108
// SpendLimits is expected to be an array of tuples of spend type and limit. i.e. CONSENSUS -> 100_000
109-
SpendLimits []SpendLimit
110-
WorkflowTag string
109+
SpendLimits []SpendLimit
110+
WorkflowTag string
111+
WorkflowRegistryChainSelector string
112+
WorkflowRegistryAddress string
113+
EngineVersion string
111114
}
112115

113116
func (m *RequestMetadata) ContextWithCRE(ctx context.Context) context.Context {

pkg/capabilities/pb/capabilities.pb.go

Lines changed: 42 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/capabilities/pb/capabilities.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ message RequestMetadata {
4848
string decoded_workflow_name = 9;
4949
repeated SpendLimit spend_limits = 10;
5050
string workflow_tag = 11;
51+
string workflow_registry_chain_selector = 12;
52+
string workflow_registry_address = 13;
53+
string engine_version = 14;
5154
}
5255

5356
message CapabilityRequest {

pkg/capabilities/pb/capabilities_helpers.go

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -314,16 +314,19 @@ func TriggerRegistrationRequestToProto(req capabilities.TriggerRegistrationReque
314314
return &TriggerRegistrationRequest{
315315
TriggerId: req.TriggerID,
316316
Metadata: &RequestMetadata{
317-
WorkflowId: md.WorkflowID,
318-
WorkflowExecutionId: md.WorkflowExecutionID,
319-
WorkflowOwner: md.WorkflowOwner,
320-
WorkflowName: md.WorkflowName,
321-
WorkflowDonId: md.WorkflowDonID,
322-
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
323-
ReferenceId: md.ReferenceID,
324-
DecodedWorkflowName: md.DecodedWorkflowName,
325-
SpendLimits: spendLimitsToProto(md.SpendLimits),
326-
WorkflowTag: md.WorkflowTag,
317+
WorkflowId: md.WorkflowID,
318+
WorkflowExecutionId: md.WorkflowExecutionID,
319+
WorkflowOwner: md.WorkflowOwner,
320+
WorkflowName: md.WorkflowName,
321+
WorkflowDonId: md.WorkflowDonID,
322+
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
323+
ReferenceId: md.ReferenceID,
324+
DecodedWorkflowName: md.DecodedWorkflowName,
325+
SpendLimits: spendLimitsToProto(md.SpendLimits),
326+
WorkflowTag: md.WorkflowTag,
327+
WorkflowRegistryChainSelector: md.WorkflowRegistryChainSelector,
328+
WorkflowRegistryAddress: md.WorkflowRegistryAddress,
329+
EngineVersion: md.EngineVersion,
327330
},
328331
Config: values.ProtoMap(config),
329332
Payload: req.Payload,
@@ -361,16 +364,19 @@ func TriggerRegistrationRequestFromProto(req *TriggerRegistrationRequest) (capab
361364
return capabilities.TriggerRegistrationRequest{
362365
TriggerID: req.TriggerId,
363366
Metadata: capabilities.RequestMetadata{
364-
WorkflowID: md.WorkflowId,
365-
WorkflowOwner: md.WorkflowOwner,
366-
WorkflowExecutionID: md.WorkflowExecutionId,
367-
WorkflowName: md.WorkflowName,
368-
WorkflowDonID: md.WorkflowDonId,
369-
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
370-
ReferenceID: md.ReferenceId,
371-
DecodedWorkflowName: md.DecodedWorkflowName,
372-
SpendLimits: spendLimitsFromProto(md.SpendLimits),
373-
WorkflowTag: md.WorkflowTag,
367+
WorkflowID: md.WorkflowId,
368+
WorkflowOwner: md.WorkflowOwner,
369+
WorkflowExecutionID: md.WorkflowExecutionId,
370+
WorkflowName: md.WorkflowName,
371+
WorkflowDonID: md.WorkflowDonId,
372+
WorkflowDonConfigVersion: md.WorkflowDonConfigVersion,
373+
ReferenceID: md.ReferenceId,
374+
DecodedWorkflowName: md.DecodedWorkflowName,
375+
SpendLimits: spendLimitsFromProto(md.SpendLimits),
376+
WorkflowTag: md.WorkflowTag,
377+
WorkflowRegistryChainSelector: md.WorkflowRegistryChainSelector,
378+
WorkflowRegistryAddress: md.WorkflowRegistryAddress,
379+
EngineVersion: md.EngineVersion,
374380
},
375381
Config: config,
376382
Payload: req.Payload,

pkg/workflows/events/trigger_events.go

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ import (
1515

1616
// Label keys for trigger events
1717
const (
18-
KeyTriggerID = "trigger_id"
19-
KeyWorkflowID = "workflow_id"
20-
KeyWorkflowOwner = "workflow_owner"
21-
KeyWorkflowName = "workflow_name"
22-
KeyWorkflowExecutionID = "workflow_execution_id"
23-
KeyDonID = "don_id"
24-
KeyDonVersion = "don_version"
25-
KeyOrganizationID = "organization_id"
18+
KeyTriggerID = "trigger_id"
19+
KeyWorkflowID = "workflow_id"
20+
KeyWorkflowOwner = "workflow_owner"
21+
KeyWorkflowName = "workflow_name"
22+
KeyWorkflowExecutionID = "workflow_execution_id"
23+
KeyDonID = "don_id"
24+
KeyDonVersion = "don_version"
25+
KeyOrganizationID = "organization_id"
26+
KeyWorkflowRegistryChainSelector = "workflow_registry_chain_selector"
27+
KeyWorkflowRegistryAddress = "workflow_registry_address"
28+
KeyEngineVersion = "engine_version"
2629
)
2730

2831
// EmitTriggerExecutionStarted emits a TriggerExecutionStarted event using the provided labeler
@@ -68,6 +71,18 @@ func EmitTriggerExecutionStarted(ctx context.Context, labeler custmsg.MessageEmi
6871
}
6972
}
7073

74+
if workflowRegistryChainSelector, exists := labels[KeyWorkflowRegistryChainSelector]; exists {
75+
event.CreInfo.WorkflowRegistryChain = workflowRegistryChainSelector
76+
}
77+
78+
if workflowRegistryAddress, exists := labels[KeyWorkflowRegistryAddress]; exists {
79+
event.CreInfo.WorkflowRegistryAddress = workflowRegistryAddress
80+
}
81+
82+
if engineVersion, exists := labels[KeyEngineVersion]; exists {
83+
event.CreInfo.EngineVersion = engineVersion
84+
}
85+
7186
b, err := proto.Marshal(event)
7287
if err != nil {
7388
return fmt.Errorf("failed to marshal TriggerExecutionStarted event: %w", err)

0 commit comments

Comments
 (0)