API Node Dedication

How to reserve nodes for a group of users with the Orka API. Administrators-only.

📘

Orka 2.4.x content

This page has not been updated to reflect the changes introduced in Orka 3.0. Some of the information might be outdated or incorrect. Use 2.4.x to 3.0.0: API Mapping and 2.4.x to 3.0.0: CLI Mapping to figure out the correct endpoints and commands.

🚧

Quick navigation

Jump to: 1. Grouping users | 2. Ungrouping users | 3. Dedicating nodes | 4. Removing node dedication

See also: How does node dedication work | Caveats

🚧

Quick request summary

curl POST /users
curl POST /users/groups/<user-group>
curl POST /users/groups/$ungrouped
curl POST /resources/nodes/groups/<user-group>
curl POST /resources/nodes/groups/$ungrouped

If you need to limit the access to a node, you can use node dedication (also: node grouping).

Node dedication consists of two parts (performed in any order or any number of times within the current limitations of the feature):

1. Grouping users

You can create a new user and assign them to a user group OR you can add existing users to a user group. You can change the user group of any user at any time.

Create new users and add them to a group

This is an administrative operation and requires license authentication.

Send a POST request to the http://<Orka-API-URL>/users endpoint. The body of the request must contain the "group": "<user-group>" argument. If you don't pass this argument, the user will be created as an ungrouped user.

For example:

curl --location --request POST 'http://<orka-api-ip>/users' \
--header 'Content-Type: application/json' \
--header 'orka-licensekey: <license-key>' \
--data-raw '{
	"password": "<password>",
	"email": "<email>",
	"group": "<user-group>"
}'

Replace <orka-api-ip> with 10.221.188.20, 10.221.188.100, or your Orka domain, or your external custom domain. Note that for Orka and custom domains you need to switch to https.
Replace <license-key> with your actual Orka license key.
Replace <password> and email with the credentials for the Orka user that you want to create.
Replace <user-group> with the user group label.

Add existing users to a group

This is an administrative operation and requires license authentication.

Send a POST request to the http://<Orka-API-URL>/users/groups/<user-group> endpoint. The body of the request must contain the [ "<orka-user>", <orka-user1>, ..., <orka-userN>] argument.

For example:

curl --location --request POST 'http://<orka-api-ip>/users/groups/<user-group>' \
--header 'Content-Type: application/json' \
--header 'orka-licensekey: <license-key>' \
--data-raw '[
    "<orka-user>",
    "<orka-user1>"
]'

Replace <orka-api-ip> with 10.221.188.20, 10.221.188.100, or your Orka domain, or your external custom domain. Note that for Orka and custom domains you need to switch to https.
Replace <user-group> with the user group label.
Replace <license-key> with your actual Orka license key.
Replace <orka-user> with the Orka user that you want to add to the group. You can pass one or more Orka users.

2. Ungrouping users

This is an administrative operation and requires license authentication.

Send a POST request to the http://<Orka-API-URL>/users/groups/$ungrouped endpoint. The body of the request must contain the [ "<orka-user>", <orka-user1>, ..., <orka-userN>] argument.

For example:

curl --location --request POST 'http://<orka-api-ip>/users/groups/$ungrouped' \
--header 'Content-Type: application/json' \
--header 'orka-licensekey: <license-key>' \
--data-raw '[
    "<orka-user>",
    "<orka-user1>"
]'

Replace <orka-api-ip> with 10.221.188.20, 10.221.188.100, or your Orka domain, or your external custom domain. Note that for Orka and custom domains you need to switch to https.
Replace <user-group> with the user group label.
Replace <license-key> with your actual Orka license key.
Replace <orka-user> with the Orka user that you want to add to the group. You can pass one or more Orka users.

3. Dedicating nodes

This is an administrative operation and requires both token and license authentication.

Send a POST request to the http://<Orka-API-URL>/resources/node/groups/<user-group> endpoint. The body of the request must contain the [ "<node>", <node1>, ..., <nodeN>] argument.

For example:

curl --location --request POST 'http://<orka-api-ip>/resources/node/groups/<user-group>' \
--header 'Content-Type: application/json' \
--header 'orka-licensekey: <license-key>' \
--header 'Authorization: Bearer <token>' \
--data-raw '[
    "<node>",
    "<node1>"
]'

Replace <orka-api-ip> with 10.221.188.20, 10.221.188.100, or your Orka domain, or your external custom domain. Note that for Orka and custom domains you need to switch to https.
Replace <user-group> with the user group label.
Replace <license-key> with your actual Orka license key.
Replace <token> with the token for your Orka user.
Replace <node> and <node1> with the actual node names. For example: macpro-2 and macpro-3.

4. Removing node dedication

This is an administrative operation and requires both token and license authentication.

Send a POST request to the http://<Orka-API-URL>/resources/node/groups/$ungrouped endpoint. The body of the request must contain the [ "<node>", <node1>, ..., <nodeN>] argument.

For example:

curl --location --request POST 'http://<orka-api-ip>/resources/node/groups/$ungrouped' \
--header 'Content-Type: application/json' \
--header 'orka-licensekey: <license-key>' \
--header 'Authorization: Bearer <token>' \
--data-raw '[
    "<node>",
    "<node1>"
]'

Replace <orka-api-ip> with 10.221.188.20, 10.221.188.100, or your Orka domain, or your external custom domain. Note that for Orka and custom domains you need to switch to https.
Replace <license-key> with your actual Orka license key.
Replace <token> with the token for your Orka user.
Replace <node> and <node1> with the actual node names. For example: macpro-2 and macpro-3.

What's next

Create and deploy Orka virtual machines.


© 2019-2023 Copyright MacStadium, Inc. – Documentation built with readme.com. Orka is a registered trademark of MacStadium, Inc.