feat(backups): archive download endpoint + GitHub App install surfacing

- GET /databases/:id/backups/:bid/download streams the archive out of the
  containr-db-backups volume via a stopped utility container and
  CopyFromContainer; daemon logs sanitize non-UTF-8 so binary through
  container logs was not viable. Verified e2e: byte-identical payload,
  404 missing/cross-user, 401 unauthenticated.
- Settings Git Providers gains an Install GitHub App action that opens the
  install_url and completes the installation_id return via connect endpoint.
- ROADMAP: mark both items done with verification evidence.

Authored By: TDvorak <[email protected]>
This commit is contained in:
Tomas Dvorak committed 2026-09-17 17:30:30 +02:00
1 parent 18fe56f948
commit bcd3a83aa4
8 files changed
+304 -24

No files matched your search

+39
View File
@@ -1183,6 +1183,45 @@ paths:
schema:
$ref: '#/components/schemas/MessageResponse'
/databases/{id}/backups/{bid}/download:
get:
tags:
- Databases
summary: Download a completed backup archive
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: bid
in: path
required: true
schema:
type: string
security:
- bearerAuth: []
responses:
'200':
description: Backup archive stream
content:
application/gzip:
schema:
type: string
format: binary
'404':
description: Backup not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Backup not completed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
# Git Integration
/git/providers:
get: