This is my feedback on https://studio.blender.org/pipeline/td-guide/workstations/maintaince In random order of me noticing things. ## Overall - There is no introduction text for the page. It immediately goes into a sub-section, which is bad style. Better to explain what that page is to begin with, before diving into details. What is the scope of that page? Who is it for? - There are various plural-singular mistakes. - "Add-on" is written with a dash in the middle. - Use links. This is a website, not a piece of paper. - Why does *everything* have to be run as root? Doesn't this make it very sensitive to mistakes, as everything of the entire system is modifyable? ## How to Update Build Server & Clients - "The script" -- What script? Don't refer to things that haven't been described yet. - "the main gentoo repository" -- this assumes that the reader already has knowledge of the overall system. Make this a link to the page where this is explained. The use of the word "main" implies that there are other gentoo repositories as well. This causes more confusion, or at least a sense of not-knowing-everything, in the reader. - "if you want to push out the changes to the clients. The clients checks for updates every five minutes." -- so are the changes pushed to the client? Or does the client check whether it needs to pull every 5 minutes? It's either one or the other, but cannot be both. - "they will perform a sync with the build server" -- what does that mean, if it's not the same as "download and install all updated packages"? Is the difference even relevant for this document? - "connect to your build server" -- first it was "the server", now it's "your server". Is there a difference? If not, keep using the same terminology if it's about the same entity. - "Run `update_build_server.sh`" -- shouldn't this be `./update_build_server.sh`? If it is not in the root home directory, why do I need to `cd` to that at all? ## Update addons on `/shared/software/addons` - "The software inside the shared/software/addons directory are Live Packages." - This should explain what is in there, or link to a page that does. - "Live Packages are packages that tracks the source-code repository directly and is not tied to a specific release." -- this is not how Flamenco is managed. Internally I do publish specifc commits rather than specific releases, but that is very different than 'tracking the source repo'. - "This is a temporary solution that will be depreciated and replace with project based addons." -- this is not a universal truth, yet is described as such. Flamenco will not be project-specific, as the add-on needs to match the version installed on the farm, and is not project-specific. - "Run `emerge -1 {package-name}` to update a live package." - What is the `-1` for? - Make it explicit that this is `-1` (one) and not `-l` (el) or `-i` (eye). - What does it update to? How do you control this? - How does the reader find package names, when it's not the two mentioned below? And if people are not supposed to update other packages, why have this specific explanation here at all? - "Run `emerge -1 flamenco` to update the flamenco client/addon" - Capitalise "Flamenco" - There is no "client", only "manager", "worker", and "add-on" -- using different names for the same entity is confusing. - Make "Flamenco" a link to the Flamenco website. - The version of the add-on and of the Worker should be manageable separately. Not every machine that runs the Worker needs the add-on, and vice versa. - "Run `date -R > /var/cache/update_info/timestamp.chk` to mark this update as the latest" - This should be handled by a script. That way there's less to remember, and also if this ever needs updating, the script can update and the workflow (and documentation) can remain the same. Otherwise you'll always have people doing the obsolete thing as they don't know things changed. And because all of this is run as root, there is no way to limit what people do. ## Wake on LAN - "Wake on LAN use the hardware information provided by the clients to wake up all that are currently offline." - When are they woken up? - The intro text doesn't say anything about what the following steps are about. It just explains that the system works in a certain way, and it looks like everything happens automatically. So what are these steps for?