Skip to content

Commit

Permalink
docs: add robot-server, fact_workspace_info
Browse files Browse the repository at this point in the history
  • Loading branch information
dometto committed Jan 20, 2025
1 parent 114c13f commit 5a1ca81
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
50 changes: 50 additions & 0 deletions docs/playbooks/robot-server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Playbook robot-server
[back to index](../index.md#Playbooks)

## Summary
Deploys a robot server, that other workspaces can connect to (see [robotuser](./robotuser.md)).

## Requires
Debian-like OS

## Description

Deploys a robot server, that other workspaces can connect to (see [robotuser](./robotuser.md)). Will create a fresh SSH keypair that workspaces will use to communicate with the robot server.

### Redeployment

It is good practice to redeploy the robot server periodically. This ensures the catalog item is functional, and rotates the used SSH keys. After redployment, the client components need to be updated with the new SSH key for the robotuser!

Steps:

1. Delete current robot-server workspace (need to free the reserve IP address)
2. Create new workspace
- attach the robotserver storage
- attach the reserved IP for the robotserver
- CO: ResearchCloud Development
- Wallet: "SRC account for ResearchCloud Development, Roboserver Image"
- Ensure deletion time far in the future :)
3. Update private key in robot client components: robot-client, Robot Copy
* connect to the new robot server via SSH. This will throw a warning about the fact that the server's host key has changed, if you had previously connected to the old server!
* `[sudo] cat /home/uurobot/.ssh/id_rsa`
* copy and update components
* don't forget to promote the new `Development` versions of the component to `Live`!
4. Test: roll out a catalog item that uses the robot server (e.g. SAS, Matlab)


## Variables
```
robotuser_name: String. Default: `uurobot`. Name of the user that workspaces can connect to this server as.
robotuser_generate_ssh_key: Boolean. Default: `true`. Whether to generate a fresh SSH keypair.
```

## See also
Role [sshfs_configrobot](../roles/sshfs_configrobot) robot used to mount remote filesystem
Playbook [robotuser](./robotuser.md) playbook used to connect to a robotserver


## History
2021-2025 Written by Ton Smeele and Dawa Ometto (Utrecht University)

[back to index](../index.md#Playbooks)
19 changes: 18 additions & 1 deletion docs/roles/fact_workspace_info.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,24 @@ See here for example output of the facts.
`fact_workspace_storage`:

```json
"fact_workspace_storage": ["/data/my_storage_volume"]
"fact_workspace_storage": [
{
"mount": "/data/foo",
"device": "/dev/vdb1",
"fstype": "xfs",
"options": "rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota",
"size_total": 53659811840,
"size_available": 24005615616,
"block_size": 4096,
"block_total": 13100540,
"block_available": 5860746,
"block_used": 7239794,
"inode_total": 26213824,
"inode_available": 26196400,
"inode_used": 17424,
"uuid": "8a9dd671-1c48-4201-bc3h-350fcd883421"
}
]
```

## History
Expand Down

0 comments on commit 5a1ca81

Please sign in to comment.