Add droplet compatible storage backend#1790
Merged
BareosBot merged 86 commits intobareos:masterfrom Dec 12, 2024
Merged
Conversation
a2d86d8 to
4656423
Compare
bf7d1c3 to
9529753
Compare
Contributor
|
While working on tests there's some warnings during cmake with recent cmake version |
b762fe5 to
647013e
Compare
Contributor
|
Redoing different testing today 23.07.2024) I didn't detect previous failure. |
4733297 to
c188a51
Compare
2364080 to
03e214e
Compare
08e020f to
9429f75
Compare
sebsura
reviewed
Nov 4, 2024
4e8dfcc to
dc5ddf0
Compare
266956a to
369b9ae
Compare
ec3de6e to
e547d01
Compare
For Bpipe on Windows we need double-quoted strings in the cmdline. As our parser that turns strings into argc/argv for Unix handles single- and double-quotes the same, we can just switch to double-quotes.
This changes the debug levels for dplcompat and crud_storage so we can get better logs as follows: dplcompat informational: 100 crud_storage informational: 110 dplcompat tracing: 120 crud_storage tracing: 130
Use ${var} instead of ${var:+x} to check if options are set. This is
safe, as all option variables are initialized to a default, so they are
always set.
use an ASCII-only version of std::isalnum() to check for ASCII characters, as std::isalnum() is locale-dependant. Also improves the comment explaining what names we consider valid as an environment variable name.
use a string_view where it is possible instead of copying data into a std::string.
9c363fd to
de4c797
Compare
this adds a wrapper to catch the exception from BPipeHandle's ctor and return it as tl::unexpected. That wrapper is now used instead of creating BPipeHandle objects directly and errors are propagated correctly.
instead of keeping or releasing the buffers when we swap, it turned out that chunked_device does the right thing when we keep the release flags untouched.
de4c797 to
6344ca3
Compare
AlexanderS
added a commit
to AlexanderS/bareos
that referenced
this pull request
Jan 21, 2025
The new droplet compatible storage backend introduced in bareos#1790 adds two new dependencies, that were not added to the debian control files. This commit adds the appropriate packages as build dependencies. Without this cmake will try to load the dependencies by itself and will fail, because git is not available by default during the package build. Please note: If you are building for bullseye, you will either need a backport of libcli11-dev and libmsgsl-dev or you will need to have git available during the packaging.
14 tasks
florian-at-bareos
pushed a commit
to AlexanderS/bareos
that referenced
this pull request
Jan 30, 2025
The new droplet compatible storage backend introduced in bareos#1790 adds two new dependencies, that were not added to the debian control files. This commit adds the appropriate packages as build dependencies. Without this cmake will try to load the dependencies by itself and will fail, because git is not available by default during the package build. Please note: If you are building for bullseye, you will either need a backport of libcli11-dev and libmsgsl-dev or you will need to have git available during the packaging.
florian-at-bareos
pushed a commit
to florian-at-bareos/bareos
that referenced
this pull request
Feb 5, 2025
The new droplet compatible storage backend introduced in bareos#1790 adds two new dependencies, that were not added to the debian control files. This commit adds the appropriate packages as build dependencies. Without this cmake will try to load the dependencies by itself and will fail, because git is not available by default during the package build. Please note: If you are building for bullseye, you will either need a backport of libcli11-dev and libmsgsl-dev or you will need to have git available during the packaging. (cherry picked from commit 3fb9e03)
BareosBot
pushed a commit
to AlexanderS/bareos
that referenced
this pull request
Feb 11, 2025
The new droplet compatible storage backend introduced in bareos#1790 adds two new dependencies, that were not added to the debian control files. This commit adds the appropriate packages as build dependencies. Without this cmake will try to load the dependencies by itself and will fail, because git is not available by default during the package build. Please note: If you are building for bullseye, you will either need a backport of libcli11-dev and libmsgsl-dev or you will need to have git available during the packaging.
BareosBot
pushed a commit
to florian-at-bareos/bareos
that referenced
this pull request
Feb 13, 2025
The new droplet compatible storage backend introduced in bareos#1790 adds two new dependencies, that were not added to the debian control files. This commit adds the appropriate packages as build dependencies. Without this cmake will try to load the dependencies by itself and will fail, because git is not available by default during the package build. Please note: If you are building for bullseye, you will either need a backport of libcli11-dev and libmsgsl-dev or you will need to have git available during the packaging. (cherry picked from commit 3fb9e03)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a new storage backend "dplcompat" that can work as a drop-in replacement for the "droplet" backend.
This will replace the current S3 backend that uses the outdated Droplet library.
TODO:
add unit-tests for crud_storage-> will be addressed when implementing new backendadd tool to test scripts-> provide test-suite for dplcompat wrapper programs #2055d_flush()actually flush datad_close()will implicitlyd_flush()CDrepositoryPlease check
If you have any questions or problems, please give a comment in the PR.
Helpful documentation and best practices
Checklist for the reviewer of the PR (will be processed by the Bareos team)
Make sure you check/merge the PR using
devtools/pr-toolto have some simple automated checks run and a proper changelog record added.General
Required backport PRs have been createdSource code quality
Tests