SQLite + encrypted S3 backups

Real Nitro enclave · encrypted disk · synthetic accounts

{
  "accounts": [
    {
      "id": 1,
      "name": "Alice",
      "balance_cents": 9825
    },
    {
      "id": 2,
      "name": "Bob",
      "balance_cents": 5000
    },
    {
      "id": 3,
      "name": "Carol",
      "balance_cents": 2675
    }
  ],
  "seq": 6,
  "log_head": "12cf2d0ff4e591e95c9287b7e27434f26826d09f2fbec62875d0137f3c84a8be",
  "pending_s3_logs": 0,
  "integrity": "ok",
  "sqlite_version": "3.40.1",
  "database_bytes": 315392,
  "database_path": "/run/sqlite-backup-plain/restored-fd43a6bb3b8a49eeb912ad477e6ab20c.sqlite3",
  "hostfs_capacity_bytes": 120016896,
  "hostfs_available_bytes": 109969408,
  "encryption": "gocryptfs live database; AES-256-GCM snapshots and journal objects",
  "mounts": [
    "hostfs-appdata /mnt/appdata fuse rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions 0 0",
    "/mnt/appdata/encrypted-db /run/sqlite-backup-plain fuse.gocryptfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,max_read=131072 0 0"
  ],
  "memory_kib": {
    "MemTotal": "5043028 kB",
    "MemAvailable": "4603552 kB",
    "SwapTotal": "0 kB"
  },
  "pid": 425
}

Only the authorized encrypted client can submit transactions, checkpoint or restore.