Skip to content
Snippets Groups Projects
Commit ce0e9b8f authored by Jean-Paul Calderone's avatar Jean-Paul Calderone
Browse files

sketch the api a bit

parent a0e7160c
No related branches found
No related tags found
1 merge request!293Design document for replication and recovery system
sphinx sphinx
sphinxcontrib-openapi
...@@ -39,6 +39,7 @@ release = '0.0' ...@@ -39,6 +39,7 @@ release = '0.0'
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [ extensions = [
"sphinxcontrib.openapi",
] ]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
......
...@@ -205,7 +205,7 @@ Backup operations resume as usual from this point using the existing on-grid sta ...@@ -205,7 +205,7 @@ Backup operations resume as usual from this point using the existing on-grid sta
External Interfaces External Interfaces
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
.. openapi:: ./backup-recovery.yaml
Data Integrity Data Integrity
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
......
openapi: "3.1.0"
info:
title: "Backup / Recovery"
description: |
This API allows backup and recovery of ZKAPAuthorizer internal state.
version: "1.0.0"
paths:
/storage-plugins/privatestorageio-zkapauthz-v1/recover:
post:
description: |
Recover ZKAPAuthorizer state from a previously configured backup.
This is only valid when ZKAPAuthorizer has no local state yet.
requestBody:
content:
application/json:
schema:
type: object
properties:
recovery-capability:
type: "string"
description: |
The Tahoe-LAFS read-only capability for the recovery data.
This is a capability previously returned by the backup
endpoint.
responses:
200:
description: |
Recovery from the backup has been completed.
content:
application/json:
schema:
type: "object"
property: {}
/storage-plugins/privatestorageio-zkapauthz-v1/backup:
post:
description: |
Configure ZKAPAuthorizer to maintain an on-grid backup of its state or
return the existing configuration details if it has already been
configured to do so.
responses:
201:
description: |
A new backup has just been configured. Details about that backup
will be returned.
content:
application/json:
schema:
type: object
properties:
recovery-capability:
type: "string"
description: |
The Tahoe-LAFS read-only capability for the recovery
data. This is the capability which can be submitted in
order to initiate a recovery from the backup.
200:
description: |
A backup has already been configured. Details about that backup
will be returned.
content:
application/json:
schema:
type: object
properties:
recovery-capability:
type: "string"
description: |
The Tahoe-LAFS read-only capability for the recovery
data. This is the capability which can be submitted in
order to initiate a recovery from the backup.
...@@ -17,10 +17,12 @@ let ...@@ -17,10 +17,12 @@ let
]; ];
requirements = requirements =
'' ''
${builtins.readFile ./docs/requirements.txt}
${builtins.readFile ./requirements/test.in} ${builtins.readFile ./requirements/test.in}
${zkapauthorizer.requirements} ${zkapauthorizer.requirements}
''; '';
}; };
in in
pkgs.mkShell { pkgs.mkShell {
# Avoid leaving .pyc all over the source tree when manually triggering tests # Avoid leaving .pyc all over the source tree when manually triggering tests
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment