From 5a1ca81712f616db6bde9a20071de42454d8acfa Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Mon, 20 Jan 2025 13:07:59 +0100 Subject: [PATCH] docs: add robot-server, fact_workspace_info --- docs/playbooks/robot-server.md | 50 +++++++++++++++++++++++++++++++ docs/roles/fact_workspace_info.md | 19 +++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 docs/playbooks/robot-server.md diff --git a/docs/playbooks/robot-server.md b/docs/playbooks/robot-server.md new file mode 100644 index 00000000..446ef1f8 --- /dev/null +++ b/docs/playbooks/robot-server.md @@ -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) diff --git a/docs/roles/fact_workspace_info.md b/docs/roles/fact_workspace_info.md index d04657b8..c645aba6 100644 --- a/docs/roles/fact_workspace_info.md +++ b/docs/roles/fact_workspace_info.md @@ -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