@@ -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
7097Sequester service key and certificate
7198=====================================
7299
73100You 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
91131Enable 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
102151Exporting data with sequester service
103152=====================================
0 commit comments