Skip to content

Commit 8c2020e

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

5 files changed

Lines changed: 233 additions & 37 deletions

File tree

.cspell/custom-words.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ htmlcov
160160
humantime
161161
ilbm
162162
imgconverter
163+
imgs
163164
inkey
164165
insertmacro
165166
intlify
@@ -304,8 +305,8 @@ pseudoxml
304305
psqlrc
305306
psrk
306307
PSSI
307-
publickeybytes
308308
pubkeys
309+
publickeybytes
309310
pubout
310311
pulseaudio
311312
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 needs ``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
=====================================

docs/locale/fr/LC_MESSAGES/hosting/sequester/index.po

Lines changed: 160 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: Parsec 3.3.0-rc.12+dev\n"
88
"Report-Msgid-Bugs-To: \n"
9-
"POT-Creation-Date: 2026-06-18 15:47+0200\n"
9+
"POT-Creation-Date: 2026-07-20 08:15+0000\n"
1010
"PO-Revision-Date: 2025-02-26 23:56-0300\n"
1111
"Last-Translator: Marcos Medrano <marcos.medrano@scille.fr>\n"
1212
"Language: fr\n"
@@ -15,7 +15,7 @@ msgstr ""
1515
"MIME-Version: 1.0\n"
1616
"Content-Type: text/plain; charset=utf-8\n"
1717
"Content-Transfer-Encoding: 8bit\n"
18-
"Generated-By: Babel 2.17.0\n"
18+
"Generated-By: Babel 2.18.0\n"
1919

2020
#: ../../hosting/sequester/index.rst:7
2121
msgid "Sequester service"
@@ -116,26 +116,172 @@ msgstr "Vous pouvez créer la clé d'autorité à l'aide des commandes suivantes
116116
msgid "Bootstrap organization with sequester authority"
117117
msgstr "Initialisation d'une organisation avec l'autorité de séquestre"
118118

119+
#: ../../hosting/sequester/index.rst:59
120+
msgid ""
121+
"That step can only be done during the organization bootstrap and cannot be "
122+
"configured after the organization was bootstrapped."
123+
msgstr ""
124+
"Cette étape ne peut être effectuée que pendant l'initialisation de "
125+
"l'organisation et ne peut pas être configurée après cette étape."
126+
127+
#: ../../hosting/sequester/index.rst:61
128+
msgid ""
129+
"Once you received a bootstrap link from the parsec server's administrator, "
130+
"typically done with the following command:"
131+
msgstr ""
132+
"Une fois que vous avez reçu un lien d'initialisation de la part de "
133+
"l'administrateur du serveur Parsec, généralement obtenu avec la commande "
134+
"suivante :"
135+
136+
#: ../../hosting/sequester/index.rst:69
137+
msgid ""
138+
"That command needs ``PARSEC_SERVER_ADDR`` and "
139+
"``PARSEC_ADMINISTRATION_TOKEN`` to be defined in the env variables."
140+
msgstr ""
141+
"Cette commande nécessite que ``PARSEC_SERVER_ADDR`` et "
142+
"``PARSEC_ADMINISTRATION_TOKEN`` soient définis dans les variables "
143+
"d'environnement."
144+
119145
#: ../../hosting/sequester/index.rst:71
146+
msgid ""
147+
"If you prefer, you can use the option ``--addr`` and ``--token`` "
148+
"respectively to pass those values (but we do not recommend that for ``--"
149+
"token`` as it is a sensible value that will be in the shell history)."
150+
msgstr ""
151+
"Si vous préférez, vous pouvez utiliser les options ``--addr`` et ``--token`` "
152+
"pour transmettre ces valeurs (mais nous ne recommandons pas cela pour ``--"
153+
"token``, car il s'agit d'une valeur sensible qui sera enregistrée dans "
154+
"l'historique du terminal)."
155+
156+
#: ../../hosting/sequester/index.rst:73
157+
msgid ""
158+
"You then need to bootstrap the organization while specifying the "
159+
"``authority_key.pub`` file."
160+
msgstr ""
161+
"Vous devez ensuite initialiser l'organisation en spécifiant le fichier "
162+
"``authority_key.pub``."
163+
164+
#: ../../hosting/sequester/index.rst:75
165+
msgid "You can do that either via ``parsec-cli``:"
166+
msgstr "Vous pouvez le faire soit via ``parsec-cli`` :"
167+
168+
#: ../../hosting/sequester/index.rst:86
169+
msgid "Or using the GUI application:"
170+
msgstr "Ou en utilisant l'application graphique :"
171+
172+
#: ../../hosting/sequester/index.rst:88
173+
msgid "Copy the provided bootstrap link"
174+
msgstr "Copiez le lien d'initialisation fourni"
175+
176+
#: ../../hosting/sequester/index.rst:89
177+
msgid ""
178+
"Similar to :ref:`start the invitation process "
179+
"<doc_userguide_join_organization_start_invitation>`, paste the provided link "
180+
"in the text field"
181+
msgstr ""
182+
"De manière similaire à :ref:`démarrer le processus d'invitation "
183+
"<doc_userguide_join_organization_start_invitation>`, collez le lien fourni "
184+
"dans le champ de texte"
185+
186+
#: ../../hosting/sequester/index.rst:90
187+
msgid ""
188+
"The application will show a modal with a summary of the to be bootstrapped "
189+
"organization"
190+
msgstr ""
191+
"L'application affichera une fenêtre modale avec un résumé de l'organisation "
192+
"à initialiser"
193+
194+
#: ../../hosting/sequester/index.rst:91
195+
msgid ""
196+
"In the same modal, extend ``Advanced Settings`` and enable ``Data "
197+
"Sequester`` feature and provide it with the ``authority_key.pub`` file:"
198+
msgstr ""
199+
"Dans cette même fenêtre, développez ``Paramètres avancés``, activez la "
200+
"fonctionnalité ``Séquestre de données`` et fournissez le fichier "
201+
"``authority_key.pub`` :"
202+
203+
#: ../../hosting/sequester/index.rst:94
204+
msgid "Continue the process until the organization is bootstrapped"
205+
msgstr "Poursuivez le processus jusqu'à ce que l'organisation soit initialisée"
206+
207+
#: ../../hosting/sequester/index.rst:98
120208
msgid "Sequester service key and certificate"
121209
msgstr "Séquestrer la clé de service et le certificat"
122210

123-
#: ../../hosting/sequester/index.rst:73
211+
#: ../../hosting/sequester/index.rst:100
124212
msgid ""
125213
"You can create the service key and certificate with the following commands:"
126214
msgstr ""
127215
"Vous pouvez créer la clé de service et le certificat à l'aide des commandes "
128216
"suivantes :"
129217

130-
#: ../../hosting/sequester/index.rst:92
218+
#: ../../hosting/sequester/index.rst:102
219+
msgid "Create the sequester keypair:"
220+
msgstr "Activer le service de séquestre"
221+
222+
#: ../../hosting/sequester/index.rst:109
223+
msgid "Create the service certificate"
224+
msgstr "Séquestrer la clé de service et le certificat"
225+
226+
#: ../../hosting/sequester/index.rst:113
227+
msgid ""
228+
"That step must be done after the organization as been bootstrapped, "
229+
"otherwise the service certificate will not be accepted by the server."
230+
msgstr ""
231+
"Cette étape doit être effectuée après l'initialisation de l'organisation, "
232+
"sinon le certificat du service ne sera pas accepté par le serveur."
233+
234+
#: ../../hosting/sequester/index.rst:118
235+
msgid ""
236+
"You must ensure that the computer clock is on time with the server (you can "
237+
"use ``date --utc`` to compare the clocks)"
238+
msgstr ""
239+
"Vous devez vous assurer que l'horloge de l'ordinateur est synchronisée avec "
240+
"celle du serveur (vous pouvez utiliser ``date --utc`` pour comparer les "
241+
"horloges)"
242+
243+
#: ../../hosting/sequester/index.rst:129
244+
msgid ""
245+
"This step while using the parsec server CLI does not require to be executed "
246+
"on the same machine as the service."
247+
msgstr ""
248+
"Cette étape, lors de l'utilisation de l'interface en ligne de commande du "
249+
"serveur Parsec, n'a pas besoin d'être exécutée sur la même machine que le "
250+
"service."
251+
252+
#: ../../hosting/sequester/index.rst:132
131253
msgid "Enable sequester service"
132254
msgstr "Activer le service de séquestre"
133255

134-
#: ../../hosting/sequester/index.rst:103
256+
#: ../../hosting/sequester/index.rst:134
257+
msgid ""
258+
"Next, provide to the parsec server's administrator the recently generated "
259+
"service certificate."
260+
msgstr ""
261+
"Ensuite, fournissez à l'administrateur du serveur Parsec le certificat de "
262+
"service récemment généré."
263+
264+
#: ../../hosting/sequester/index.rst:135
265+
msgid "The admin now needs to create the service on the server:"
266+
msgstr "L'administrateur doit maintenant créer le service sur le serveur :"
267+
268+
#: ../../hosting/sequester/index.rst:145
269+
msgid "You need to have access to the database credentials for that operation."
270+
msgstr ""
271+
"Vous devez avoir accès aux identifiants de la base de données pour cette "
272+
"opération."
273+
274+
#: ../../hosting/sequester/index.rst:149
275+
msgid "The sequester service can only be enabled on bootstrapped organization."
276+
msgstr ""
277+
"Le service de séquestre ne peut être activé que sur une organisation "
278+
"initialisée."
279+
280+
#: ../../hosting/sequester/index.rst:152
135281
msgid "Exporting data with sequester service"
136282
msgstr "Exportation de données avec le service séquestre"
137283

138-
#: ../../hosting/sequester/index.rst:105
284+
#: ../../hosting/sequester/index.rst:154
139285
msgid ""
140286
"Realm vs Workspace: In Parsec vocabulary, workspace and realm are two sides "
141287
"of the same coin. In a nutshell, the realm is a server-side concept that "
@@ -148,7 +294,7 @@ msgstr ""
148294
"cryptées, tandis que l'espace de travail est le concept côté client qui fait "
149295
"référence à ces données une fois décryptées."
150296

151-
#: ../../hosting/sequester/index.rst:110
297+
#: ../../hosting/sequester/index.rst:159
152298
msgid ""
153299
"Hence the \"realm export\" is the operation of exporting from the server all "
154300
"the encrypted data that, when used with the right decryption keys, will "
@@ -161,15 +307,15 @@ msgstr ""
161307
"accès en lecture complet à un espace de travail à tout moment jusqu'à la "
162308
"date d'exportation."
163309

164-
#: ../../hosting/sequester/index.rst:114
310+
#: ../../hosting/sequester/index.rst:163
165311
msgid "Overview:"
166312
msgstr "Vue d'ensemble :"
167313

168-
#: ../../hosting/sequester/index.rst:116
314+
#: ../../hosting/sequester/index.rst:165
169315
msgid "An organization exists with a workspace"
170316
msgstr "Une organisation existe avec un espace de travail"
171317

172-
#: ../../hosting/sequester/index.rst:117
318+
#: ../../hosting/sequester/index.rst:166
173319
msgid ""
174320
"From the server CLI, a realm is exported. This generates a large ``.sqlite`` "
175321
"file containing all encrypted data belonging to this realm."
@@ -178,26 +324,26 @@ msgstr ""
178324
"grand fichier ``.sqlite`` contenant toutes les données cryptées appartenant "
179325
"à ce realm."
180326

181-
#: ../../hosting/sequester/index.rst:119
327+
#: ../../hosting/sequester/index.rst:168
182328
msgid ""
183329
"The realm export file is transferred to a machine containing the decryption "
184330
"keys:"
185331
msgstr ""
186332
"Le fichier d'exportation du realm est transféré vers une machine contenant "
187333
"les clés de décryptage :"
188334

189-
#: ../../hosting/sequester/index.rst:121
335+
#: ../../hosting/sequester/index.rst:170
190336
msgid "Sequestered service key in case of a sequestered organization."
191337
msgstr "Clé de service du séquestre dans le cas d'une organisation séquestrée."
192338

193-
#: ../../hosting/sequester/index.rst:122
339+
#: ../../hosting/sequester/index.rst:171
194340
msgid ""
195341
"Device key otherwise (i.e. decrypt the realm export from a machine normally "
196342
"used to run the Parsec client)."
197343
msgstr ""
198344
"Clé de l'appareil, sinon (c'est-à-dire décrypter l'exportation du realm à "
199345
"partir d'une machine normalement utilisée pour exécuter le client Parsec)."
200346

201-
#: ../../hosting/sequester/index.rst:138
347+
#: ../../hosting/sequester/index.rst:187
202348
msgid "Using exported data"
203349
msgstr "Utilisation des données exportées"

0 commit comments

Comments
 (0)