mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-04 00:47:01 +01:00
backup: seal the Proton session under a key kept off the volume
WORKSPACE_SESSION_KEY_FILE names a file holding a 32-byte key, meant to be a Docker secret. When it is set, proton-session.json is written as AES-256-GCM ciphertext, so a copy of the data volume alone no longer carries a usable session. That is what the OS keyring gives a native host, for a container that has no Secret Service. A plain session found while a key is set is sealed the first time it is read. A sealed file without its key, or a malformed key file, is an error at startup rather than a quiet fall back to plain JSON.
This commit is contained in:
1 parent
cd18f80c04
commit
cc7d05aaf2
10 files changed
+218
-17
No files matched your search
+1
-1
@@ -104,7 +104,7 @@ async fn main() -> Result<()> {
|
||||
let bind = config.bind;
|
||||
let max_upload = config.max_upload_bytes;
|
||||
let config = Arc::new(config);
|
||||
let backup = backup::Backup::new(db.clone(), Arc::clone(&config));
|
||||
let backup = backup::Backup::new(db.clone(), Arc::clone(&config))?;
|
||||
backup::spawn(Arc::clone(&backup));
|
||||
|
||||
let notify = notify::Notifier::new(db.clone(), Arc::clone(&config))?;
|
||||
|
||||
Reference in new issue
Block a user