Geo Config Document suggested updates
During our 2017 Greece GitLab Summit, we held a install party for GitLab Geo.
During the install party, we documented the following issues/suggestions with following the Documentation. These were initially documented in: https://docs.google.com/document/d/1TOSKhNM_ds4Lk2r2F6NlYtbQfPBgcJxMJSNgVEchiBc/edit
Include a the starting page in the steps.
The Geo configuration comes across in several numbered pages that start with a bit of a table of contents, with the current page bolded. What is missing is a step: 0 that links back to the Geo introduction page. The introduction page includes some Pre-Req instructions that aren't easily found on page 1 so we should either make sure they are on page 1, or we link back to the intro.
Improved Pre-Req steps
As mentioned above, the pre-reqs appears to be spread accross sections. We should improve them. Some issue I ran into while following the 1st page.
-
In never told me what state the primary should have been in, whether GitLab was installed... whether reconfigure had been run. etc.
-
Similar with the secondary, it told me to install GitLab, but it was not clear whether we needed to have run reconfigure yet or not.
-
It should have been pointed out here that NTP should be installed on all servers. This is pointed somewhere in the secondary setup documentation, but should be in the pre-reqs. (Also related to: omnibus-gitlab#2904)
Improve ability to copy past commands.
- It would be easier to copy paste the commands if we make use of something like ENV variables in the commands, and start our commands by exporting our IP addresses to ENV variables. So we can copy the rest of the commands.
Database commands
In places where we are calling sudo -u gitlab-sql /path/to/psql you can just use the
sudo gitlab-psql` command.
When testing the secondary db connection, the command being run includes sudo -u gitlab-psql
which a user which may not have been created yet if reconfigure has not been run yet. At this point we actually don't need the user, we can just drop the sudo, and call the psql binary directy.
Related to the same command above (testing the connection) the command should include a select statement, or should be changed to a rake task, so that it exits right away and doesn't require users to issue the quit command.
Redundant Sudo
A lot of the steps start by running a sudo -i
And then the following command often is sudo -u username
We probably shouldn't bother with the sudo -i
in those cases.
Authorized Key Setup
- This is in a separate page, but the instructions are even less easy to copy-paste. The filename we need to create is listed, but the mkdir command to create it's parent directory is missing.
Other
- Update the references to gitlab.rb to use the new
roles
syntax. https://docs.gitlab.com/omnibus/roles/README.html