Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run s3 jobs via step functions #136

Closed
wants to merge 28 commits into from
Closed

Run s3 jobs via step functions #136

wants to merge 28 commits into from

Conversation

coilysiren
Copy link
Contributor

@coilysiren coilysiren commented Sep 13, 2024

Ticket

Resolves navapbc/template-infra#744

Changes

This PR changes the Event Bridge file upload job from triggering an ECS task directly, to triggering a step function that then triggers an ECS task. We are doing this because Step Functions brings a basic observability layer (it shows failures and successes) to the triggering of ECS tasks.

Context for reviewers

This PR looks a lot like the scheduled jobs PR. It even shares a role with the scheduled jobs (infra/modules/service/workflow_orchestrator_role.tf)

Testing

(the gif runs through the whole process end to end, and ends up 70 seconds long)

Screen.Recording.2024-09-13.at.2.mp4

Preview environment

♻️ Environment destroyed ♻️

@coilysiren coilysiren marked this pull request as ready for review September 13, 2024 21:31
Copy link
Collaborator

@lorenyu lorenyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments about simplifying a few things but otherwise looks amazing.

infra/modules/service/events_jobs.tf Outdated Show resolved Hide resolved
infra/modules/service/events_jobs.tf Outdated Show resolved Hide resolved
infra/modules/service/events_jobs.tf Outdated Show resolved Hide resolved
infra/modules/service/events_role.tf Outdated Show resolved Hide resolved
infra/modules/service/events_role.tf Outdated Show resolved Hide resolved
@coilysiren coilysiren changed the title run s3 jobs via step functions Run s3 jobs via step functions Sep 24, 2024
@lorenyu
Copy link
Collaborator

lorenyu commented Sep 28, 2024

Not important but curious why you closed this

@coilysiren
Copy link
Contributor Author

Yeah I dunno, shouldn't have closed this one before navapbc/template-infra#757 was merged

coilysiren added a commit to navapbc/template-infra that referenced this pull request Oct 18, 2024
## Ticket

Resolves #744

## Changes

- Changes the ETL job from invoking ECS directly, to instead invoking
Step Functions which then invokes ECS
- Makes some changes to the scheduled changes to increase their
distinction from the events jobs, and the readability of their IAM roles

## Context for reviewers

This is a similar PR to
#745. In-fact they use
many of the same resources. To goal of this PR is to run ETL events via
Step Functions. Step Functions create a tracking layer that's not
available when invoking ECS directly. This tracking layer allows you to
see the success and failure status of your jobs.

## Testing

navapbc/platform-test#136
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use step functions to run event jobs
2 participants