@@ -99,32 +99,60 @@ chapter for details.
9999[ ROFL Prerequisites ] : https://github.com/oasisprotocol/oasis-sdk/blob/main/docs/rofl/prerequisites.md
100100[ npa ] : ./account.md#npa
101101
102- ## Update ROFL app config {#update}
103-
104- Use ` rofl update ` command to update the ROFL app's configuration on chain:
102+ ## Secrets management {#secret}
105103
106- ![ code shell ] ( ../examples/rofl/update.in.static )
104+ ### ` set ` {#secret-set}
107105
108- ![ code shell] ( ../examples/rofl/update.out.static )
106+ Run ` rofl secret set <secret_name> <filename>|- ` command to end-to-end encrypt a
107+ secret with a key derived from the selected deployment network and store it to
108+ the manifest file.
109109
110- ## Remove ROFL app from the network {#remove}
110+ If you have your secret in a file, run:
111111
112- Run ` rofl remove ` to deregister your ROFL app:
112+ ![ code shell ] ( ../examples/ rofl/secret-set-file.in.static )
113113
114- ![ code shell ] ( ../examples/rofl/remove.in.static )
114+ You can also feed the secret from a standard input like this:
115115
116- ![ code] ( ../examples/rofl/remove.out .static )
116+ ![ code shell ] ( ../examples/rofl/secret-set-stdin.in .static )
117117
118- The deposit required to register the ROFL app will be returned to the current
119- administrator account .
118+ Once the secret is encrypted and stored, ** there is no way of obtaining it back
119+ again apart from within the TEE on the designated ROFL deployment ** .
120120
121- :::danger Secrets will be permanently lost
121+ :::danger Shells store history
122122
123- All secrets stored on-chain will be permanently lost when the ROFL app will be
124- deregistered.
123+ Passing secrets as a command line argument will store them in your shell history
124+ file as well! Use it for testing only. In production, always use file-based
125+ secrets.
125126
126127:::
127128
129+ ### ` get ` {#secret-get}
130+
131+ Run ` rofl secret get <secret-name> ` to check, whether the secret exists in your
132+ manifest file.
133+
134+ ![ code shell] ( ../examples/rofl/secret-get.in.static )
135+
136+ ![ code] ( ../examples/rofl/secret-get.out.static )
137+
138+ ### ` rm ` {#secret-rm}
139+
140+ Run ` rofl secret rm <secret-name> ` to remove the secret from your manifest file.
141+
142+ ![ code shell] ( ../examples/rofl/secret-rm.in.static )
143+
144+ ## Update ROFL app config {#update}
145+
146+ Use ` rofl update ` command to push the ROFL app's configuration to the chain:
147+
148+ ![ code shell] ( ../examples/rofl/update.in.static )
149+
150+ ![ code shell] ( ../examples/rofl/update.out.static )
151+
152+ The current on-chain policy, metadata and secrets will be replaced with the ones
153+ in the manifest file. Keep in mind that ROFL replicas need to be restarted in
154+ order for changes to take effect.
155+
128156## Show ROFL information {#show}
129157
130158Run ` rofl show ` to obtain the information from the network on the ROFL admin
@@ -136,10 +164,38 @@ account, staked amount, current ROFL policy and running instances:
136164
137165## Deploy ROFL app {#deploy}
138166
139- Run ` rofl deploy ` to automatically deploy your app to the provider on-chain.
167+ Run ` rofl deploy ` to automatically deploy your app to a machine obtained from
168+ the [ ROFL marketplace] . If a machine is already hosting your ROFL app a new
169+ version will be deployed there. If no machines are rented yet, you can use the
170+ following arguments to select a specific provider and offer:
171+
172+ - ` --provider <address> ` specifies the provider to rent the machine from. On
173+ Sapphire Testnet, the Oasis-managed provider will be selected by default.
174+ - ` --offer <offer_name> ` specifies the offer of the machine to rent. Run
175+ ` --show-offers ` to obtain offer names and specifications.
176+
177+ [ ROFL marketplace ] : https://github.com/oasisprotocol/oasis-sdk/blob/main/docs/rofl/features/marketplace.mdx
140178
141179## Advanced
142180
181+ ### Remove ROFL app from the network {#remove}
182+
183+ Run ` rofl remove ` to deregister your ROFL app:
184+
185+ ![ code shell] ( ../examples/rofl/remove.in.static )
186+
187+ ![ code] ( ../examples/rofl/remove.out.static )
188+
189+ The deposit required to register the ROFL app will be returned to the current
190+ administrator account.
191+
192+ :::danger Secrets will be permanently lost
193+
194+ All secrets stored on-chain will be permanently lost when the ROFL app will be
195+ deregistered.
196+
197+ :::
198+
143199### Show ROFL identity {#identity}
144200
145201Run ` rofl identity ` to compute the ** cryptographic identity** of the ROFL app:
0 commit comments