Files: no Azure Blob provider, so uploads have no durable home on App Service
- Dominant language
- C#
- Stars
- 6
- Forks
- 7
- Avg merge
- 4h 42m
- Merged PRs (30d)
- 307
Description
File storage has two providers: `BarakoCMS.Files` writing to local disk, and `BarakoCMS.Files.S3`.
On a managed platform that is a problem in one specific and common case. Local disk on App Service
or Fargate is per instance and does not survive a restart or a scale-out, so the local provider is
only safe on a single instance that never moves. AWS is fine, because S3 is S3. Azure is not,
because Blob Storage is not S3 compatible, so an Azure deployment has no supported way to store
uploads durably.
Two options:
- A `BarakoCMS.Files.AzureBlob` provider. More work, and it makes Azure a first-class target,
which matters because App Service is exactly what an agency that does not want servers reaches
for.
- Document the S3-compatible route and be explicit that Azure needs third-party object storage.
Cheap, honest, and weaker.
Whichever is chosen, the current state is worth naming in the docs now, because "upload an image"
is not an edge case and discovering this after a client is live is the wrong moment.
Related to #727.
Contributor guide
Research direction
Start by reviewing the BarakoCMS.Files and BarakoCMS.Files.S3 providers and the related issue #727. The scope must first be decided between adding a BarakoCMS.Files.AzureBlob provider and documenting the S3-compatible route with Azure's third-party storage limitation; done means implementing the chosen option and naming the current Azure upload behavior in the docs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, azure, csharp
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100