@cdm are you running this on Linux or even UNIX?
Maybe there are some simple things to check. I am relatively novice at GitLab server administration, I have only built two; however, I have 25 years of Linux/UNIX experience.
Anyway, In the original post I see you have references to /etc/gitlab/gitlab-secrets.json .
What do you get when you execute: ls -lZ /etc/gitlab/gitlab-secrets.json ?
Can you escalate privilege to root and vi/vim the file:
sudo vi /etc/gitlab/gitlab-secrets.json
If you can, at the vi/vim (ed/ex) ‘colon prompt’ enable:
:set list
Do you see any characters that seem out of place to you? Perhaps ^M characters on the end of every (rarely a single) line?
So, consider/check
- the OWNER:GROUP ownership of the file using,
ls -l /etc/gitlab/gitlab-secrets.json - the SELINUX context (assuming you are running a Linux variant) with the
ls -lZ /etc/gitlab/gitlab-secrets.json - the readability of all lines without “hidden” characters found by opening the file using vi/vim
I have had SSH with GitLab perform poorly due to SELINUX contexts being a problem. No guarantee that is the case this time though.