red-match-4610
06/27/2025, 6:00 PMjolly-florist-66728
06/27/2025, 6:00 PMred-match-4610
06/27/2025, 6:02 PMjolly-florist-66728
06/27/2025, 6:02 PMfrom flytekit import PagerDuty, LaunchPlan, WorkflowExecutionPhase
my_lp = LaunchPlan.get_or_create(
name="pagerduty_lp",
workflow=my_workflow,
notifications=[
PagerDuty(
phases=[WorkflowExecutionPhase.FAILED],
recipients_email=["your-service@your-subdomain.pagerduty.com"],
)
],
)
You must also configure the notification backend in your Helm values (e.g., values-eks.yaml
) to enable notifications and set up the emailer as per your cloud provider (Flyte notification config reference).
Would you like a step-by-step breakdown of the Helm and PagerDuty configuration?
Sources:
- Workflow notifications
- Flyte LaunchPlan notification example
- Flyte notifications user guide π 0 button π 0 button π‘ Hint: Mention @runllm in the thread for followups.red-match-4610
06/27/2025, 6:04 PMjolly-florist-66728
06/27/2025, 6:04 PMworkflow_notifications
section in your values.yaml
to enable notifications and configure the emailer. Flyte sends PagerDuty notifications by emailing your PagerDuty integration address when a workflow fails. The notification backend (AWS or GCP) and emailer (SES or SendGrid) must be set up according to your cloud provider.
Here is an example for AWS SES (replace placeholders with your actual values):
workflow_notifications:
enabled: true
config:
notifications:
type: aws
region: us-east-1
publisher:
topicName: "arn:aws:sns:us-east-1:<YOUR_ACCOUNT_ID>:<YOUR_TOPIC>"
processor:
queueName: "<YOUR_QUEUE_NAME>"
accountId: "<YOUR_ACCOUNT_ID>"
emailer:
subject: "Flyte: {{ project }}/{{ domain }}/{{ launch_plan.name }} has {{ phase }}"
sender: "your-verified-ses-sender@example.com"
body: |
"Execution {{ workflow.project }}/{{ workflow.domain }}/{{ workflow.name }}/{{ name }} has {{ phase }}.
Details: https://flyte.example.com/console/projects/{{ project }}/domains/{{ domain }}/executions/{{ name }}.
{{ error }}"
For GCP/SendGrid, see the Flyte notification configuration docs.
Would you like a step-by-step guide for setting up the cloud resources and connecting PagerDuty?
Sources:
- https://www.union.ai/docs/flyte/deployment/flyte-configuration/configuring-notifications/#code-b622f292465f3c54e8bb347237e8cd6af428c954-1 π 0 button π 0 button π‘ Hint: Mention @runllm in the thread for followups.red-match-4610
06/27/2025, 6:07 PMjolly-florist-66728
06/27/2025, 6:07 PMworkflow_notifications:
block should be placed at the top level of your values.yaml
file for the flyte-binary Helm chart, not nested under any other key. This is consistent with how optional modules like notifications are configured in Flyte's Helm charts (see example in values-eks.yaml).
Would you like a full example of a minimal values.yaml
with this block included?
Sources:
- flyte-core/values-eks.yaml π 0 button π 0 button π‘ Hint: Mention @runllm in the thread for followups.red-match-4610
06/27/2025, 6:09 PMjolly-florist-66728
06/27/2025, 6:09 PMred-match-4610
06/27/2025, 6:12 PMjolly-florist-66728
06/27/2025, 6:12 PMworkflow_notifications
block in your values.yaml
with the SNS topic ARN and SQS queue name.
Example values.yaml
snippet:
workflow_notifications:
enabled: true
config:
notifications:
type: aws
region: us-east-1
publisher:
topicName: "arn:aws:sns:us-east-1:<YOUR_ACCOUNT_ID>:<YOUR_TOPIC>"
processor:
queueName: "<YOUR_QUEUE_NAME>"
accountId: "<YOUR_ACCOUNT_ID>"
emailer:
sender: "your-verified-ses-sender@example.com"
subject: "Flyte: {{ project }}/{{ domain }}/{{ launch_plan.name }} has {{ phase }}"
body: |
"Execution {{ workflow.project }}/{{ workflow.domain }}/{{ workflow.name }}/{{ name }} has {{ phase }}.
Details: https://flyte.example.com/console/projects/{{ project }}/domains/{{ domain }}/executions/{{ name }}.
{{ error }}"
For more details, see the Flyte notification configuration docs.
Would you like a step-by-step AWS Console guide for creating the SNS topic and SQS queue?
Sources:
- Flyte notification config reference π 0 button π 0 button π‘ Hint: Mention @runllm in the thread for followups.red-match-4610
06/27/2025, 6:32 PMjolly-florist-66728
06/27/2025, 6:32 PMvalues.yaml
. For AWS SNS/SQS notifications, Flyte expects the pod running FlyteAdmin to have AWS credentials with permissions for SNS and SQS. The recommended approach is to use a Kubernetes service account annotated for IAM roles (IRSA) on EKS, or to inject AWS credentials as environment variables into the FlyteAdmin pod (Flyte notification config reference).
If you must use static credentials, you can add them as environment variables in the FlyteAdmin deployment by customizing the Helm chart, but this is not recommended for production. For MinIO storage, keep using your MinIO credentials as configured.
Would you like a step-by-step example for setting up IRSA or injecting AWS credentials into the FlyteAdmin pod?
Sources:
- https://github.com/flyteorg/flyte/pull/3807
- https://www.union.ai/docs/flyte/deployment/flyte-configuration/configuring-notifications/#code-b622f292465f3c54e8bb347237e8cd6af428c954-1 π 0 button π 0 button π‘ Hint: Mention @runllm in the thread for followups.