Announcement

Collapse
No announcement yet.

Upload all files to an object store

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • yuri
    replied
    If files will be stored in a single directory w/o subdirectories it will be easy to migrate. You will need to carry over all files from data/upload to your storage, run script in mysql that updates storage column of record in attachment table. And then you will need to write the implementation class for fetching, pushing, removing.

    But first, I need to finish all the work.

    Leave a comment:


  • wtconseil
    replied
    Whoww ! great !

    how do you plan to help people to migrate to this kind of Storage Backend ?
    Meaning... I have a setup in production for more than 2 years now and many files.

    Should i migrate all the data/upload content manually to storage backend or could we have a small script to run that would use these controllers etc.. ?

    Thanks for your support and your good job !!

    Leave a comment:


  • yuri
    replied
    Here the commit: https://github.com/espocrm/espocrm/c...f61f06ff78d64d
    Not finished but the most important part is implemented

    Leave a comment:


  • wtconseil
    replied
    Yes sure! But I have that this upload directory could act as a temp directory.
    If we lost it... it doesn't matter.

    All "expected" files will be in the object store.

    Leave a comment:


  • yuri
    replied
    I think upload directory will be used anyway for storing files temporary when they are needed to be accessed by some existing implementations like Email Sending, Image transformation. It's easier for as because doesn't require us to rewrite a lot of code.
    Last edited by yuri; 02-08-2017, 03:37 PM.

    Leave a comment:


  • yuri
    replied
    Yes. We have it on our roadmap. We will create a framework. But you will need to implement a wrapper class.
    Last edited by yuri; 02-08-2017, 01:33 PM.

    Leave a comment:


  • huscmk
    commented on 's reply
    Hi,

    Still no idea when it could be integrated ?

    Thanks

  • wtconseil
    replied
    I currently use a "technical solution" called Cloudfuse ( https://github.com/redbo/cloudfuse )
    it mounts a "swift container" (like a s3 bucket / cloud folder) and sync the file over http apicall

    But it don't think it could be interesting to continue with that over the time...

    Let me know if you have some plan to develop that "cloud folder" connector in a close futur?
    It's not possible for me any more to have data/upload folder directly on the filesystem any more :-(

    Leave a comment:


  • wtconseil
    replied
    Hi Yuri

    Let me know if you have some plan about that soon ?
    Thanks

    Leave a comment:


  • yuri
    replied
    Hi,

    It was planned but no ETA available.

    Leave a comment:


  • wtconseil
    started a topic Upload all files to an object store

    Upload all files to an object store

    Hi

    i'm thinking about deploying EspoCRM on a docker container to have an immutable image.. and orchestrate my deployment through Kubernetes.

    EspoCRM will be running in HA mode, on many nodes, behind a load-balancer.

    I have currently a design issue regarding the upload folder.

    Is there a way (or is it in the roadmap) to have a connector to upload content to an "object-store" backend (ex: AWS S3 or Openstack Swift for example) rather than putting files in the local machine?

    Currently, because of this design, i have to sync between containers the upload folder.. (or bind-mount a volume..) between the host and the container..
    I think that it could be great to have this feature.

    SugarCRM (that was used before my POC) seems to have this uploadStream class:


    and we can configure the upload class wrapper in config file.

    That could be really awesome i guess to have that for Espo

    Thanks!

Working...
X