1. 07 Jul, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update Deimos to new superbuild · bc23380f
      Sophie Wenzel-Teuber authored
      Changelog:
      * 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
      bc23380f
  2. 03 Jul, 2020 1 commit
  3. 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
      ac507741
  4. 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
      
      Changelog:
      * 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
      5f97c454
  5. 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
      equivalent
      2238f58c
    • 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
      99ca98cf
  6. 15 Jun, 2020 1 commit
  7. 11 Jun, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update the Metadata generation · ac693d84
      Sophie Wenzel-Teuber authored
      Changelog:
      * 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)
      ac693d84
  8. 10 Jun, 2020 1 commit
    • Sophie Wenzel-Teuber's avatar
      Update the server to work with Estuary copytool · dc31d3c1
      Sophie Wenzel-Teuber authored
      Changelog:
      * 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
      dc31d3c1
  9. 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
      e9afd4a8
  10. 26 May, 2020 1 commit
  11. 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.
      
      Changelog:
      * 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
      499566af
  12. 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
      Changelog:
      * 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
      3a557d35
  13. 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
      1f7100b0
  14. 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
        them
      * 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
      ba82dd36
  15. 24 Apr, 2020 2 commits
  16. 21 Apr, 2020 1 commit
  17. 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
      18b7825f
  18. 14 Apr, 2020 3 commits
  19. 09 Apr, 2020 3 commits
  20. 08 Apr, 2020 2 commits
  21. 07 Apr, 2020 1 commit
  22. 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
      9569a15f
    • Aaron Dees's avatar
      Merge branch '8-ci' into 'devel' · 88a6e21c
      Aaron Dees authored
      Resolve "CI"
      
      See merge request oilgas/ltfs/fiphoboserver!22
      88a6e21c
  23. 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
      1392c1f9
  24. 31 Mar, 2020 3 commits
  25. 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
      755f0d1a
  26. 24 Mar, 2020 5 commits