Update gitlab-shell chart to make client-alive-interval configurable
What does this MR do?
Sets an interval after which server will send keepalive message to a client. It's similar to OpenSSH's ClientAliveInterval, so we can use the existing clientAliveInterval
setting.
Related issues
- gitlab-org/gitlab-shell!622 (merged)
- https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/doc/troubleshooting/index.md#git-over-ssh-the-remote-end-hung-up-unexpectedly
Testing
- Checked out this branch.
- Installed the chart with these
values.yaml
:
gitlab:
gitlab-shell:
sshDaemon: gitlab-sshd
config:
clientAliveInterval: 5
- Make a blocking operation that leaves the connection idle for a while (
-vvv
is for verbose logging):
ssh -vvv -x git@gitlab.mydomain.com "git-upload-pack '/root/my-repo'"
- Wait for 5 seconds
- Keepalive messages should start to appear every 5 seconds:
debug3: receive packet: type 80
debug1: client_input_global_request: rtype keepalive@openssh.com want_reply 1
debug3: send packet: type 82
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened