Skip to content

Commit 3f34272

Browse files
committed
docs/node: Describe allowed_creators field in ROFL node cfg
1 parent 50725b3 commit 3f34272

1 file changed

Lines changed: 47 additions & 43 deletions

File tree

docs/node/run-your-node/rofl-node.mdx

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -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

@@ -176,6 +154,8 @@ it.
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

@@ -210,8 +190,8 @@ it.
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

242219
The 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
245222
logs](#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:
256233
Above, the original ROFL app ID `rofl1qrjtky678pd3uchsdlhqtjugnsvtck3wyg7w5324`
257234
was 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

Comments
 (0)