@@ -133,37 +133,15 @@ and 20 GB of storage. Hourly rent will cost 10 tokens and there can be at most
133133
134134[ Node ID ] : ./validator-node.mdx#obtain-the-node-id
135135
136- ``` yaml title="rofl-provider.yaml"
137- network : testnet
138- paratime : sapphire
139- provider : test:erin
140- nodes :
141- - 5MsgQwijUlpH9+0Hbyors5jwmx7tTmKMA4c9leV3prI=
142- scheduler_app : rofl1qrqw99h0f7az3hwt2cl7yeew3wtz0fxunu7luyfg
143- payment_address : test:erin
144- offers :
145- - id : small
146- resources :
147- tee : tdx
148- memory : 4096
149- cpus : 2
150- storage : 20000
151- payment :
152- native :
153- terms :
154- hourly : 10
155- capacity : 50
156- ` ` `
157-
158- To register a new provider using the configuration above, run:
136+ ![ code yaml title="rofl-provider.yaml"] ( ../../../external/cli/examples/rofl/rofl-provider.yaml )
159137
160- ` ` ` shell
161- oasis rofl provider create
162- ```
138+ To register a new provider using the configuration above, run the
139+ [ ` oasis rofl provider create ` ] command.
163140
164- The account signing the transaction is now registered as a ROFL provider
165- on-chain. In our case, the built-in ` test:erin ` account which we used for
166- signing has address ` oasis1qqcd0qyda6gtwdrfcqawv3s8cr2kupzw9v967au6 ` .
141+ The account that signed the transaction is now registered as a ROFL provider
142+ on-chain. In our case, we used the ` rofl_provider ` account which we previously
143+ created with the [ ` oasis wallet create ` ] command and has address
144+ ` oasis1qqcd0qyda6gtwdrfcqawv3s8cr2kupzw9v967au6 ` .
167145
168146:::info
169147
176154[ stake-requirements ] : ./prerequisites/stake-requirements.md
177155
178156[ Oasis CLI ] : https://github.com/oasisprotocol/cli/blob/master/docs/README.md
157+ [ `oasis wallet create` ] : https://github.com/oasisprotocol/cli/blob/master/docs/wallet.md#create
158+ [ `oasis rofl provider create` ] : https://github.com/oasisprotocol/cli/blob/master/docs/rofl.md#provider-create
179159
180160#### Configure your ROFL node for the marketplace { #configure - rofl - node - marketplace }
181161
210190 config :
211191 rofl_scheduler :
212192 provider_address : oasis1qqcd0qyda6gtwdrfcqawv3s8cr2kupzw9v967au6 # Your provider address
213- offers :
214- - small # Your offer name(s)
193+ offers : # List of allowed offers for execution on this node
194+ - small
215195 capacity :
216196 instances : 24
217197 memory : 65536
@@ -227,21 +207,18 @@ it.
227207 oasis rofl deploy --provider oasis1qqcd0qyda6gtwdrfcqawv3s8cr2kupzw9v967au6
228208 ` ` `
229209
230- :::tip Multiple ROFL nodes
231-
232- If you configured multiple ROFL nodes for a single provider, the machine
233- instantiated to execute the ROFL app will be arbitrarily picked depending on
234- which ROFL node register transaction appears first on chain.
235-
236- :: :
210+ # ### Multiple ROFL nodes
237211
238- # ### {#rofl-app-id-remap}
212+ If you declared multiple ROFL nodes in `rofl-provider.yaml` and you are running
213+ them in parallel, the machine instantiated to execute an incoming ROFL
214+ will be arbitrarily picked depending on whose ROFL node register transaction
215+ appears first on the chain.
239216
240- :::tip Multiple ROFL replicas on a single node
217+ # ### Multiple ROFL replicas on a single node {#rofl-app-id-remap}
241218
242219The ROFL scheduler supports running multiple replicas of the same ROFL app on
243- the same ROFL node by **remapping ** the ROFL app ID to a unique value on each
244- deployment. Look for the `starting processor` message in [your
220+ the same ROFL node by automatically **mapping ** the app ID to a unique
221+ value on each deployment. Look for the `starting processor` message in [your
245222logs](#checking-status) to figure out the remapped value, for example:
246223
247224` ` ` json
@@ -256,7 +233,34 @@ logs](#checking-status) to figure out the remapped value, for example:
256233Above, the original ROFL app ID `rofl1qrjtky678pd3uchsdlhqtjugnsvtck3wyg7w5324`
257234was remapped to `4bd2d31255ae7e5cec31084cde02fb40640d4d678db111d1c6ba53478f5f2fc2`.
258235
259- :: :
236+ # ### Limiting ROFL node to be used by a specific ROFL creator
237+
238+ Sometimes you want your ROFL node to be used only by yourself or your team.
239+ Or, have a market priced offers that can be rented by anyone and "internal"
240+ offers that are free of charge for yourself or your team. `allowed_creators`
241+ option in the `rofl_scheduler` section of your node's configuration allows
242+ you to do that. You can define the whitelist globally and/or per-offer in
243+ your node configuration.
244+
245+ ` ` ` yaml title="config.yml"
246+ ...
247+ config:
248+ rofl_scheduler:
249+ provider_address: oasis1qqcd0qyda6gtwdrfcqawv3s8cr2kupzw9v967au6
250+ allowed_creators: # Global whitelist of allowed apps by ROFL creators on this node
251+ - oasis1qrk58a6j2qn065m6p06jgjyt032f7qucy5wqeqpt
252+ offers:
253+ - small
254+ - id: internal # Per-offer whitelist of allowed apps by ROFL creators on this node
255+ allowed_creators:
256+ - oasis1qqnf0s9p8z79zfutszt0hwlh7w7jjrfqnq997mlw
257+ capacity:
258+ instances: 24
259+ memory: 65536
260+ cpus: 24
261+ storage: 549755813888
262+ ` ` `
263+
260264
261265[rofl-scheduler] : https://github.com/oasisprotocol/oasis-sdk/releases
262266
0 commit comments