[Fresh Produce] app-wide volume "unique zone" handling

Quick Fresh Produce this Friday [insert time of day here]:

Our Machines API supports setting a require_unique_zone setting when creating volumes. This tells the placement code to not put the new volume on a host that already has a volume with the same name for the app.

Sometimes though, a scheduler app creates volumes with different names, but they should still be created on different hosts. There’s a new setting for that: unique_zone_app_wide. When setting this new flag, the API will check if there is any volume for the app on a given host, regardless of volume name.

In flyctl this is available as --unique-zone-app-wide flag on fly volume create and fly volume fork commands.

(we needed this for FKS.)

9 Likes

would be nice to see a possibility of removing a volume without downtime for the app, rn it’s a cringe fiesta – you can’t nuke a volume without downtime no matter what you do

1 Like