fly volumes list now shows both volumes, each in region iad and not attached except earnings_data which is on the app VM
Deployed (fly deploy) and hit this error:
Error: Process group 'datomic' needs volumes with name 'datomic_volume'
to fulfill mounts defined in fly.toml; Run `fly volume create datomic_volume -r REGION -n COUNT`
even though that volume already exists.
Tried re-creating / attaching with no luck.
Question
What’s the correct command (or toml syntax) to get datomic_volume attached to the datomic process group’s machine?
Is there a hidden step to mark an existing volume as “eligible” for a process-filtered mount?
Docs only mention single-volume apps which doesn’t fit this per-process setup.
Hm… That thread keeps coming up in searches, etc., even though it’s some of my least effective writing ever on this site, …
Anyway, like in that earlier discussion, there are actually two questions: (a) what this error is really asking you to do and (b) whether the frustration around this is a sign that you have an architecture mismatch to begin with.
Setting (a) aside for the moment, are you sure that you don’t want Datomic as a separate app?
That is the much more usual way of doing databases on the Fly.io platform.
(Process groups are mostly only useful for tightly coupled, Rails-style background workers, in my opinion.)
Aside: Always have a second copy of every volume, unless it’s throwaway data or has streaming backups to Tigris, etc. I.e., for every distinct mounts.source name, there should be ≥2 volumes with that name, clustering with each other at the app level to keep themselves in synch. Otherwise, you risk permanent data loss, …
I’m not entirely sure there. It’s pretty lightweight accessing sqlite. If that is the common pattern can you point me to doc showing this deployment strategy. If it’s setup within one repo how does that change the setup and organization of the repo given a fly.toml?