Releases: ArtifactDB/gobbler
Releases · ArtifactDB/gobbler
Latest builds
Release containing the latest versions of all builds.
0.3.7
0.3.6
Use the special '*' ID to allow any user to upload. This is not too bad in the gobbler context given that anyone who has access to the shared filesystem is already somewhat trusted; it's not like we're giving upload access to the entire internet, and admins can always hunt down abusers.
0.3.5
Fixed the syntax highlighting in the README.
0.3.4
Support relative links to other files in the same (new) version durin…
0.3.3
Actually log any failures from the HTTP listener.
0.3.2
Prevent replay attacks on old request files from other users. This uses a lock across all handlers to ensure that the same request file isn't being used multiple times at any given period - we then delete the request file afterwards to guarantee that it can't be used again.
0.3.1
Added fetch/list endpoints for remote access to the registry. This supports read access for applications outside of the shared FS.
0.3.0
Replace fsnotify with a HTTP request to trigger actions. (#11) Most shared filesystems are networked in some manner and don't share events across nodes; this means that fsnotify doesn't actually work. Polling is too taxing so instead we ask the client to ping an API to indicate that a request body has been written to the staging directory and is ready for execution. We don't ask the client to provide the request details in the API as it's unauthenticated. We're still relying on the Unix file owner to tell us who is making the request; the ping just tells us that the file is ready, which happily eliminates the need for the retry loop. The output is also returned as a HTTP response, which eliminates the need for the responses directory. Some extra work is involved in making sure that the correct HTTP status codes are reported for the different errors. We also mandate go >= 1.22.1 now.
0.2.1
Reattempt parsing to support direct writes to the request file. This adds a loop to sleep for a while and reattempt parsing of the request body if it fails the first time. It allows clients to safely write to the request file without any renaming, which avoids potential race conditions from multiple processes renaming to the same file.