Merge pull request #21380 from overleaf/jpa-s3-ssec-backend

[object-persistor] add backend for SSE-C with S3 using KEK and DEK

GitOrigin-RevId: 9676f5cd5e08107c8c284b68b8d450a1c05bf1b1
This commit is contained in:
Jakob Ackermann
2024-11-08 09:31:26 +01:00
committed by Copybot
parent 776647d62a
commit 859901ac0c
16 changed files with 926 additions and 98 deletions

View File

@@ -2,7 +2,7 @@ const { Writable, Readable, PassThrough, Transform } = require('stream')
/**
* A writable stream that stores all data written to it in a node Buffer.
* @extends stream.Writable
* @extends Writable
* @example
* const { WritableBuffer } = require('@overleaf/stream-utils')
* const bufferStream = new WritableBuffer()
@@ -43,7 +43,7 @@ class WritableBuffer extends Writable {
/**
* A readable stream created from a string.
* @extends stream.Readable
* @extends Readable
* @example
* const { ReadableString } = require('@overleaf/stream-utils')
* const stringStream = new ReadableString('hello world')
@@ -66,7 +66,7 @@ class SizeExceededError extends Error {}
/**
* Limited size stream which will emit a SizeExceededError if the size is exceeded
* @extends stream.Transform
* @extends Transform
*/
class LimitedStream extends Transform {
constructor(maxSize) {
@@ -93,7 +93,7 @@ class AbortError extends Error {}
/**
* TimeoutStream which will emit an AbortError if it exceeds a user specified timeout
* @extends stream.PassThrough
* @extends PassThrough
*/
class TimeoutStream extends PassThrough {
constructor(timeout) {
@@ -111,7 +111,7 @@ class TimeoutStream extends PassThrough {
/**
* LoggerStream which will call the provided logger function when the stream exceeds a user specified limit. It will call the provided function again when flushing the stream and it exceeded the user specified limit before.
* @extends stream.Transform
* @extends Transform
*/
class LoggerStream extends Transform {
/**