Skip to content

Commit b5d976c

Browse files
docs(sequester): Add more details to steps
Co-authored-by: Aurelia <56112063+AureliaDolo@users.noreply.github.com>
1 parent e0936d6 commit b5d976c

4 files changed

Lines changed: 73 additions & 23 deletions

File tree

.cspell/custom-words.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ htmlcov
159159
humantime
160160
ilbm
161161
imgconverter
162+
imgs
162163
inkey
163164
insertmacro
164165
intlify
@@ -303,8 +304,8 @@ pseudoxml
303304
psqlrc
304305
psrk
305306
PSSI
306-
publickeybytes
307307
pubkeys
308+
publickeybytes
308309
pubout
309310
pulseaudio
310311
PWDEBUG
835 KB
Loading
846 KB
Loading

docs/hosting/sequester/index.rst

Lines changed: 71 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -54,50 +54,99 @@ You can create the authority key with the following commands:
5454
Bootstrap organization with sequester authority
5555
===============================================
5656

57+
.. important::
58+
59+
That step can only be done during the organization bootstrap and cannot be configured after the organization was bootstrapped.
60+
61+
Once you received a bootstrap link from the parsec server's administrator, typically done with the following command:
62+
5763
.. code-block:: bash
5864
59-
./parsec-cli organization create --token=s3cr3t \
60-
--addr=parsec3://<server-url> organization-sequester-test
65+
./parsec-cli organization create organization-sequester-test
66+
67+
.. note::
68+
69+
That command need ``PARSEC_SERVER_ADDR`` and ``PARSEC_ADMINISTRATION_TOKEN`` to be defined in the env variables.
70+
71+
If you prefer, you can use the option ``--addr`` and ``--token`` respectively to pass those values (but we do not recommend that for ``--token`` as it is a sensible value that will be in the shell history).
72+
73+
You then need to bootstrap the organization while specifying the ``authority_key.pub`` file.
74+
75+
You can do that either via ``parsec-cli``:
76+
77+
.. code-block:: bash
6178
6279
./parsec-cli organization bootstrap \
63-
--addr="parsec3://<server-url>/organization-sequester-test?a=bootstrap_organization&p=<bootstrap-token>" \
80+
--addr="$BOOTSTRAP_LINK" \
6481
--device-label "my device" \
6582
--label "John Doe" \
66-
--email <user-email> \
83+
--email john.doe@example.com \
6784
--sequester-key ./authority_key.pub
6885
86+
Or using the GUI application:
87+
88+
#. Copy the provided bootstrap link
89+
#. Similar to :ref:`start the invitation process <doc_userguide_join_organization_start_invitation>`, paste the provided link in the text field
90+
#. The application will show a modal with a summary of the to be bootstrapped organization
91+
#. In the same modal, extend ``Advanced Settings`` and enable ``Data Sequester`` feature and provide it with the ``authority_key.pub`` file:
92+
93+
.. image:: imgs/create-org-with-sequester-main-key.png
94+
#. Continue the process until the organization is bootstrapped
95+
6996

7097
Sequester service key and certificate
7198
=====================================
7299

73100
You can create the service key and certificate with the following commands:
74101

75-
.. code-block:: bash
102+
#. Create the sequester keypair:
76103

77-
# Private key must not have passphrase
78-
openssl genrsa -aes256 -out sequester_key.private 4096
104+
.. code-block:: bash
79105
80-
# If it has a passphrase
81-
openssl rsa -in sequester_key.private -out sequester_key_private_decrypted.pem
82-
openssl rsa -in sequester_key.private -out sequester_key.pub -pubout -outform PEM
106+
openssl genrsa -aes256 -out sequester_key.private 4096
107+
openssl rsa -in sequester_key.private -out sequester_key.pub -pubout -outform PEM
83108
84-
# With Parsec server CLI
85-
# Certificate must be generated AFTER organization bootstrapped
86-
python -m parsec sequester generate_service_certificate \
87-
--service-label="Sequester service" \
88-
--service-public-key=./sequester_key.pub \
89-
--authority-private-key=./authority_key.private
109+
#. Create the service certificate
110+
111+
.. caution::
112+
113+
That step must be done after the organization as been bootstrapped,
114+
otherwise the service certificate will not be accepted by the server.
115+
116+
.. danger::
117+
118+
You must ensure that the computer clock is on time with the server (you can use ``date --utc`` to compare the clocks)
119+
120+
.. code-block:: bash
121+
122+
python -m parsec sequester generate_service_certificate \
123+
--service-label="Sequester service" \
124+
--service-public-key=./sequester_key.pub \
125+
--authority-private-key=./authority_key.private
126+
127+
.. tip::
128+
129+
This step while using the parsec server CLI does not require to be executed on the same machine as the service.
90130

91131
Enable sequester service
92132
========================
93133

94-
.. code-block:: bash
134+
#. Next, provide to the parsec server's administrator the recently generated service certificate.
135+
#. The admin now needs to create the service on the server:
136+
137+
.. code-block:: bash
138+
139+
python -m parsec sequester create_service \
140+
--organization=organization-sequester-test \
141+
--service-certificate=./sequester_service_certificate-ef9adae7ee9f44cc9f974fdcaaff8839-2025-02-23T21:19:35.484948Z.pem
142+
143+
.. note::
144+
145+
You need to have access to the database credentials for that operation.
146+
147+
.. important::
95148

96-
# On Parsec server
97-
python -m parsec sequester create_service \
98-
--db=$POSTGRESQL_URL \
99-
--organization=organization-sequester-test \
100-
--service-certificate=./sequester_service_certificate-ef9adae7ee9f44cc9f974fdcaaff8839-2025-02-23T21:19:35.484948Z.pem
149+
The sequester service can only be enabled on bootstrapped organization.
101150

102151
Exporting data with sequester service
103152
=====================================

0 commit comments

Comments
 (0)