1. 12 Aug, 2021 1 commit
  2. 23 Nov, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Add Bucket Listing · 735d8bae
      Ciarán Ó Rourke authored
      Create object in backend for buckets to affirm their existence and to
      store meta data. Support S3 bucket listing. Generalise bucket logic to
      'container' where the protocol should not be known.
      Change log
      * Disk
          - append to bucket list instead of overwriting
          - parse bucket name from object path
          - store list of objects in each bucket in a unique file
          - store list of buckets in a file
          - get_object_list function
      * use bucket + object path in unit tests
      * test Fifo::get_bucket_object_list
      * bucket listing in stream, storage and disk implementation
      * list buckets using Phobos
      * test for Phobos bucket listing
      * function to format ListBuckets response
      * bucket list and object list request identification
      * handle bucket list request
      * list buckets integration test
      * https confict response if bucket already exists for create_container
      * bucket list unit tests ignore buckets created by previous test runs
      * function to reset Phobos descriptor
      * function to reset Fifo descriptors and storage backend
      * make sure to deallocate objid if it is allocated before reallocating
      * function to check if object exists in the Phobos store
      * function to check if object exists in Disk store
      * test object_exists functions
      * create container if object is PUT to a not yet existing one
      * create container function in PutRequestHandler
      * remove bucket logic from Disk
      * remove bucket tests from Phobos_file and Fifo tests
      * remove bucket logic from Stream and Storage as this is handled elsewhere
      * handle bucket logic in Protocol Formatter
      * rename bucket to container where appropriate
      * support create bucket request
      * test create bucket request
      * function to check for container list request
      * use sane bucket identifier
      * function to extract container name
      * use try-catch in create_container function
      * test that creating an existing container fails
      * update documentation
      * flush log messages to logfile immediately
  3. 27 Oct, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Modularise S3 protocol · b11992ae
      Sophie Wenzel-Teuber authored
      Add a protocol interface to abstract the s3 implementation away from the server. The server handlers now call generic protocol functions on objects created in a protocol factory. Only this factory knows, that the underlying objects are S3.
      * add virtual classes for protocols
      * move s3 specific implementations to own folder/namespace and inherit generic protocol
      * add protocol_factory to generate s3 objects for the server
      * move fifo and phobos implementations to own namespace to mirror the same layout as for the protocol