# Rogue Cluster > This section contains information needed when setting up the cluster, and a command line cheat sheet to help with completing exercises. ---
NOTE - This section is a WIP and will evolve over time.
## Cluster Requirements Learners will create 3 to 4 project namespaces running lightweight NodeJS app \* 2 and a MongoDB in up to three of these namespace (dev, test, uat for example). The learners ci-cd namespace will house GitLab, Nexus and Jenkins as well as any slave pods used by Jenkins. - Jenkins requires 5Gi of Persistent Storage and 4Gi of RAM - GitLab requires 2Gi of storage and 2Gi of RAM - PostgreSQL requires 1Gi of Storage and 512Mi of RAM - Redis requires 512Mi of storage - Nexus requires 1Gi of storage. ## Cluster Access - Learners are in LDAP and can access cluster via `oc login` - Learners have access to LDAP bind credentials to be able to auth against gitlab ## User privileges - Learners will require privileges to run SCC containers i.e. GitLab ## Labs Cheat Sheet This cheat sheet will give you some of the most useful commands and tips which you will need to complete the exercises. This should be most helpful to non-techies who need to get up to speed with command line techniques. If you come across anything else which would be useful during the enablement, write it on a post-it and add it to the real time retro or raise a pull request yourself. - Changing Directory - `cd dir_name` Changes directory to `dir_name` within your current working directory - `cd /path/to/dir` Changes to the absolute location specified - `cd ..` Changes to the parent directory - `cd -` Changes to the previous diretory - Creating a blank file or directory - `touch file_name` Creates a blank file named `file_name` within the current directory - `mkdir dir_name` Creates a new directory named `dir_name` within the current directory - Listing files within current directory - `ls` prints a list of the files within your current directory - `ls -l` prints a list of the files within your current directory with more detail - Quickly see the contents of a file - `cat file_name` prints the contents of `file_name` to the console - Move or rename a file - `mv file_name dest_dir` will move the file from the current directory to `dest_dir` - `mv file_name new_name` will rename the file to `new_name` - Open a file - `open file_name` will open the file as though it had been double clicked in a standard user interface - Copy a file or directory - `cp file_name dest_dir` will create a copy of the file in the destination directory - `cp file_name copied_name` will create a copy of the file in the same directory and it shall be called `copied_name` - `cp -r dir_name dest_dir` will copy a directory to the destination location. Note the `-r` flag is necessary to copy the contents of the directory - Delete a file or directory - `rm file_name` will delete the file - `rm -rf dir_name` will delete the directory and all of its contents - Whatever you do, __do not__ run `sudo rm -rf /` - Search for a string within an input - `grep 'substring' file_name` will print all lines in the file which contain the string 'substring' - Place the output of one command into the input of another - `command1 | command2` will run command 1 then run command 2 with the input of the result of command 1. e.g. `ls | grep 'file'` will give you all files in the current directory which have 'file' in their name - Find out how to do things in the terminal - `man command1` will open the man pages (manual pages) for a particular command. - `man -k