resonate ecs setup - #4824
Open
marcoacierno wants to merge 5 commits into
Open
resonate ecs setup#4824marcoacierno wants to merge 5 commits into
marcoacierno wants to merge 5 commits into
Conversation
The wiring was assembled into a kwargs dict so two of its entries could be left out conditionally; passing the SDK's own defaults (`url=None`, `sources=None`) says the same thing in one call.
The durable workflows had nowhere to run outside a laptop. This adds both halves: a Resonate server task on the cluster, next to redis and clamav, and a `backend-resonate-worker` service running `manage.py resonate_worker` off the backend image. The server keeps its promises on the database instance the backend already uses, in a database of its own. Terraform cannot create that database (the instance is private), so a short container does it with `createdb` before the server starts, on every deploy, doing nothing after the first; Resonate creates its own schema from there. Port 8001 is reachable only from the cluster's own security group, the way redis and clamav are, and `RESONATE_URL` goes to every backend task: the worker executes workflows, the admin starts them.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Adds an ECS-hosted Resonate server + worker service and wires No issues found. |
The resonate module was the only one in applications.tf splitting its inputs into two groups.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## resonate #4824 +/- ##
============================================
+ Coverage 92.43% 92.47% +0.04%
============================================
Files 358 358
Lines 11272 11267 -5
Branches 911 909 -2
============================================
Hits 10419 10419
+ Misses 742 737 -5
Partials 111 111 🚀 New features to boost your workflow:
|
Review follow-ups on the ECS setup. `createdb ... || true` exited zero whatever happened, so the server's SUCCESS dependency on it only promised that the container had run: a wrong password or an unreachable instance was swallowed, the server started anyway, and the only evidence sat in a log stream nobody would think to open. Falling back to a `select 1` against the database instead makes the container exit zero if and only if the database is there, and stops it logging `already exists` on every task start. The health check also had no start period and three retries, giving the server ~30 seconds to come up -- the same 30 seconds it spends waiting on the database pool before giving up, and before creating its schema on first boot. It now gets the room docker-compose already gave it.
The bootstrap container is gone: the `resonate` database has to exist on the instance before this deploys.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
ToDo