1. 18 Aug, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Support newer Phobos version · 4f72c208
      Ciarán Ó Rourke authored
      Changes to Phobos wrapper to reflect updated Phobos API.
      Change log:
      * make unit test a make target again
      * remove deprecated and redundant target_link_directories call
      * redesign phobos_cpp_wrapper for new Phobos version
      * hardcode request of directory storage in Phobos for now
  2. 21 Jul, 2020 1 commit
  3. 07 Jul, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update Deimos to new superbuild · bc23380f
      Sophie Wenzel-Teuber authored
      * Add Find scripts to CMake to search for phobos and spdlog
      * Add integrations tests to cmake by just copying the python code to the build directory
      * Update Readme to reflect new SuperDeimos layout and add brief description
  4. 03 Jul, 2020 1 commit
  5. 02 Jul, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      * project version · ac507741
      Ciarán Ó Rourke authored
      * set install directories through CMake
      * print built subdirectories during build
      * set up installation directories
      * use development flags during debug build
      * remove authorisation double negative cmake variable
      * update README
  6. 22 Jun, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Fix a bug in S3 header · 5f97c454
      Sophie Wenzel-Teuber authored
      get body length was throwing an exception when the Content-Length header was missing
      * Add more error checks to s3 header class
      * Add unit tests for s3 header class covering all typical use cases
      * Add check for Markdown documentation to gitlab CI
  7. 18 Jun, 2020 2 commits
    • Ciarán Ó Rourke's avatar
      Rename Project · 2238f58c
      Ciarán Ó Rourke authored
      Rename project from FiPhoboServer to Deimos
      Change log:
      * replace all occurances of variations of fiphoboserver with its deimos
    • Ciarán Ó Rourke's avatar
      Implement logging · 99ca98cf
      Ciarán Ó Rourke authored
      Use the spdlog library for project wide logging to a file. Path of
      logfile is configurable as command line option.
      Change log:
      * use spdlog
      * set global logging to file
      * logfile as command line option
      * update README command line option section with logfile option
      * update README command line option section with default values for options
      * control log level with CMake build type variable
      * log received request
      * get request logging
      * put request logging
      * getmd request logging
      * fifo logging
      * rename authorisation macro to comply with linter
      * use rotating files with size limit
  8. 15 Jun, 2020 1 commit
  9. 11 Jun, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update the Metadata generation · ac693d84
      Sophie Wenzel-Teuber authored
      * Add `fiphobo:` prefix to all metadata saved by our server, that should not be sent back directly
      * When sending the metadata, all entries starting with `fiphobo:` are ignored
      * remove the bucket_name entry from all set metadata functions throughout the server and add the bucketname where all other metdata is set (put handler)
  10. 10 Jun, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update the server to work with Estuary copytool · dc31d3c1
      Sophie Wenzel-Teuber authored
      * Add content_length to phobos metadata
      * Send the content_length from phobos metadata as header Content-Length
      * Add all Phobos Metadata (formerly retrieved only by a HEAD request) as headers to the response to a GET request
  11. 05 Jun, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Unit Tests Patch · e9afd4a8
      Ciarán Ó Rourke authored
      Authorisation unit tests were being run when the project was built with authorisation disabled. Aurhorisation unit tests are now moved to a dedicated file that is built conditionally. Some changes are also made to the CI YAML file.
      Change log:
      * Move authorisation tests to dedicated file
      * disable authorisation tests when building without authorisation
      * default CI job runs unit tests and integration tests
      * add CI job for build w/o authorisation
      * rename Doxygen job to Documentation
  12. 26 May, 2020 1 commit
  13. 13 May, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      More flexible error creation · 499566af
      Sophie Wenzel-Teuber authored
      All different kinds of errors our server sends are in compliance with Amazon S3 errors. They are now stored in one place and should be accessed from anywhere.
      * add the file s3_errors.h that contains const objects for all errors that might occur (most of them are not checked yet)
      * change struct error_info into a class and add a function to create the XML from the object's variables
      * Use these errors in the request handlers
      * Add an error object to the s3 authorisation that will always contain "Access Denied" or another error if applicable
      * Update tests to test the code generation and error return values
  14. 11 May, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update for new master branch merge · 3a557d35
      Sophie Wenzel-Teuber authored and Aaron Dees's avatar Aaron Dees committed
      * Build documentation
      * Add new flag to CMake to build Documentation with Doxygen, but without the Markdown converter
      * Update CI for new CMake variable
      * Update README to reflect changes
  15. 07 May, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Make server a daemon process. Support for start and stop subcommands. · 1f7100b0
      Ciarán Ó Rourke authored
      Outline usage profile of the fiphoboserver executable in the README
      Change log:
      * start server daemon subcommand
      * move appropriate flags to start subcommand
      * main function forks process given start command
      * stop command to kill running server process
      * integration tests: reflect subcommand invoking of server
      * detail usage in README
  16. 05 May, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Support command line parsing and configuration files · ba82dd36
      Ciarán Ó Rourke authored
      Change log:
      * src/utils directory for configuration, logging, etc
      * Config class for handling configuration (command line parsing, etc)
      * include Catch2 and CLI11 as system files so clang-tidy will ignore
      * support basic command line options:
            - hostname (positional, required)
            - number of threads
            - http_port
            - https_port
      * add configuration to fiphoboserver executable main function
      * return on exception for incompatible hostname
      * return after parsing command line arguments if arguments are bad
        or --help is supplied
      * don't pass command line arguments to folly
      * Config returns struct of command line options
      * accept configuration options from config file
      * option to write current configuration to file
      * integration tests: reflect changes to fiphoboserver executable
  17. 24 Apr, 2020 2 commits
  18. 21 Apr, 2020 1 commit
  19. 15 Apr, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Add Amazon Authorisation · 18b7825f
      Sophie Wenzel-Teuber authored
      The signature of amazon users is checked against a text file of known users and requests are accepted or rejected depending on the signature
  20. 14 Apr, 2020 3 commits
  21. 09 Apr, 2020 3 commits
  22. 08 Apr, 2020 2 commits
  23. 07 Apr, 2020 1 commit
  24. 03 Apr, 2020 2 commits
    • Ciarán Ó Rourke's avatar
      Develop integration testing and run during CI · 9569a15f
      Ciarán Ó Rourke authored
      * separate directories for unit tests and integration tests
      * text files directory for testing server functions
      * module for s3 utility functions
      * module for file comparison utility functions
      * module for generating random keys and meta data
      * handle server executable within tests
      * basic test for PUT and GET
      * PUT and GET test for zero-byte file
      * add integration testing to CI
      * correct Clang Tidy job
      * PUT command supports optional meta data
      * test for GETMD
      * test that GET with bad key fails
      * test that PUT with used key fails
    • Aaron Dees's avatar
      Merge branch '8-ci' into 'devel' · 88a6e21c
      Aaron Dees authored
      Resolve "CI"
      See merge request oilgas/ltfs/fiphoboserver!22
  25. 02 Apr, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      * src/storage/phobos_file.cc: need to set xd_objid to NULL to avoid double free · 1392c1f9
      Ciarán Ó Rourke authored
      * src/storage/phobos_file.hexplicit copy constructors to avoid double free of xd_objid
      * tests: reflect meta data change to std::map from std::vector
      * run Clang Format
      * resolve Clang Tidy warnings
      * add Gitlab-CI
      * use fiphoboserver docker image
      * update DockerHub image with Doxygen requirements
      * CI: Clang Format job
      * CI: Clang Tidy job
      * CI: Doxygen build job
      * CI: Unit Tests job
  26. 31 Mar, 2020 3 commits
  27. 30 Mar, 2020 1 commit
    • Ciarán Ó Rourke's avatar
      Squashed commit of the following: · 755f0d1a
      Ciarán Ó Rourke authored
      * utility functions for tests (utils.h, utils.cc)
      * copy test text files to test binary directory during build
      * tests for Phobos_file constructors
      * tests for Phobos_file PUT and GET
      * Phobos_file PUT and GET tests for empty file
      * Phobos_file GETMD test
      * in-memory (disk) storage solution for testing stream objects
      * Fifo file descriptors must be copied explicitly as they are now an array
      * Fifo tests for PUT and GET
      * repeat Fifo tests for empty file
      * Fifo tests for GETMD
      * tests for Fifo object construction
      * need to determine file size before db_get
      * Phobos_file PUT  test for bad file descriptor exception
      * Phobos_file PUT test for used object_id exception
      * Phobos_file GETMD test for bad object_id
      * Phobos_file GET test for bad object_id
      * meta data is only written upon PUT operation in disk storage
  28. 24 Mar, 2020 3 commits