lubelog icon indicating copy to clipboard operation
lubelog copied to clipboard

[Feature Request] Object Storage

Open rjhenry opened this issue 5 months ago • 2 comments

I run most of my tools in Kubernetes, making use of object storage to minimise dependencies on local storage for uploads (and the like). Would adding the ability to use S3 (or S3-compatible tools, such as MinIO) be something that would be considered? I would imagine that this would work in the same way as using Postgres for a database, where backups are explicitly not managed by LubeLog any more.

Taking a rough look at a temporary Docker instance I started, it looks as though images and documents (/App/wwwroot/images and /App/wwwroot/documents respectively) could be reasonably easily replaced with object storage.
Translations (translations, /App/wwwroot/translations) look like a viable candidate to be replaced with a ConfigMap mounted to the right directory (and managed outside of LubeLog itself beyond selecting the language to use). This would only work for Kubernetes deployments, but similar could be accomplished in Docker "vanilla" by mounting a particular file in rather than a directory. Alternatively, support for object storage here would also work.
Config (config, /App/config/) looks like it could be a prime candidate to be migrated into the database - from the looks of things, you already do when authentication is enabled. Is it used for anything else?
Data - when using Postgres - looks to be unused so I haven't looked at this at all.
The only remaining directory that I am slightly confused by is the keys directory - from what I can tell, files and images aren't encrypted in any way, so I'm unsure as to what the keys are used for and by extension how that could be "kubernetes-ified". Possibly mounting via a secret, or possibly from some kind of env var?

I don't know much C# otherwise I would be trying to implement this myself, but I am more than happy to run tests and the like.
Thanks for spending your time and effort on a fantastic tool for the community!

rjhenry avatar Mar 16 '24 14:03 rjhenry