<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-shell.git/internal/gitlabnet, branch main</title>
<subtitle>gitlab.com: gitlab-org/gitlab-shell.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/'/>
<entry>
<title>Perform HTTP request to primary on Geo push</title>
<updated>2023-03-03T06:18:39+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2023-02-13T13:34:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=83a4e8e542e9f929e1c22b235b883ee67187c4c6'/>
<id>83a4e8e542e9f929e1c22b235b883ee67187c4c6</id>
<content type='text'>
Currently, we perform a request to Gitlab Rails that proxies
the request to primary

However, it causes timeouts on big pushes and consumes large
amount of memory. We can perform an HTTP request directly
from Gitlab Shell instead and stream the response to the user
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, we perform a request to Gitlab Rails that proxies
the request to primary

However, it causes timeouts on big pushes and consumes large
amount of memory. We can perform an HTTP request directly
from Gitlab Shell instead and stream the response to the user
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: make retryable http default client</title>
<updated>2023-01-30T08:54:42+00:00</updated>
<author>
<name>Steve Azzopardi</name>
<email>sazzopardi@gitlab.com</email>
</author>
<published>2023-01-30T08:21:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=80f684e48eca2bf1ef2006d84f8c49bec7104344'/>
<id>80f684e48eca2bf1ef2006d84f8c49bec7104344</id>
<content type='text'>
What
---
Make the retryableHTTP client introduced in
https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/703 the
default HTTP client.

Why
---
In
https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7979#note_1254964426
we've seen a 99% error reduction on `git` commands from `gitlab-shell`
when the retryableHTTP client is used.

This has been running in production for over 2 weeks in `us-east1-b` and
5 days fleet-wide so we should be confident that this client works as
expected.

Reference: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7979
Signed-off-by: Steve Azzopardi &lt;sazzopardi@gitlab.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
What
---
Make the retryableHTTP client introduced in
https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/703 the
default HTTP client.

Why
---
In
https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7979#note_1254964426
we've seen a 99% error reduction on `git` commands from `gitlab-shell`
when the retryableHTTP client is used.

This has been running in production for over 2 weeks in `us-east1-b` and
5 days fleet-wide so we should be confident that this client works as
expected.

Reference: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/7979
Signed-off-by: Steve Azzopardi &lt;sazzopardi@gitlab.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for the gssapi-with-mic auth method</title>
<updated>2023-01-23T07:54:09+00:00</updated>
<author>
<name>Marin Hannache</name>
<email>git@mareo.fr</email>
</author>
<published>2023-01-23T07:54:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=51ea0f50f52d5d1dade02aadff3c163a0a792779'/>
<id>51ea0f50f52d5d1dade02aadff3c163a0a792779</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Gitaly to v15</title>
<updated>2022-08-05T15:44:56+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-08-05T13:51:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=2c18767176ff7bade7a2d745b0e95f1687c27b5d'/>
<id>2c18767176ff7bade7a2d745b0e95f1687c27b5d</id>
<content type='text'>
This commit also excludes gitlab-shell from dependencies:

Gitaly specifies Gitlab Shell as a dependency as well in order
to use gitlabnet client to perform API endpoints to Gitlab Rails.
As a result, Gitlab Shell requires Gitaly -&gt; Gitaly requires an
older version of Gitlab Shell -&gt; that version requires an older
version of Gitlab Shell, etc. Let's use exclude to break the
chain earlier
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit also excludes gitlab-shell from dependencies:

Gitaly specifies Gitlab Shell as a dependency as well in order
to use gitlabnet client to perform API endpoints to Gitlab Rails.
As a result, Gitlab Shell requires Gitaly -&gt; Gitaly requires an
older version of Gitlab Shell -&gt; that version requires an older
version of Gitlab Shell, etc. Let's use exclude to break the
chain earlier
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify 2FA Push auth processing</title>
<updated>2022-07-20T14:24:51+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-07-16T13:15:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=f6feedf9008aff0713e4ff40bba3617fc724032a'/>
<id>f6feedf9008aff0713e4ff40bba3617fc724032a</id>
<content type='text'>
Use a single channel to handle both Push Auth and OTP results
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use a single channel to handle both Push Auth and OTP results
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement Push Auth support for 2FA verification</title>
<updated>2022-07-18T05:28:32+00:00</updated>
<author>
<name>kmcknight</name>
<email>kmcknight@gitlab.com</email>
</author>
<published>2021-02-26T01:17:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=fe5feeea22a639a4835724cf42b337773b54d83c'/>
<id>fe5feeea22a639a4835724cf42b337773b54d83c</id>
<content type='text'>
When `2fa_verify` command is executed:

- A user is asked to enter OTP
- A blocking call for push auth is performed

Then:

- If the push auth request fails, the user is still able to enter
OTP
- If OTP is invalid, the `2fa_verify` command ends the execution
- If OTP is valid or push auth request succeeded, then the user is
successfully authenticated
- If 30 seconds passed while no OTP or Push have been provided,
then the `2fa_verify` command ends the execution
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When `2fa_verify` command is executed:

- A user is asked to enter OTP
- A blocking call for push auth is performed

Then:

- If the push auth request fails, the user is still able to enter
OTP
- If OTP is invalid, the `2fa_verify` command ends the execution
- If OTP is valid or push auth request succeeded, then the user is
successfully authenticated
- If 30 seconds passed while no OTP or Push have been provided,
then the `2fa_verify` command ends the execution
</pre>
</div>
</content>
</entry>
<entry>
<title>go: Bump major version to v14</title>
<updated>2022-07-05T06:44:14+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>psteinhardt@gitlab.com</email>
</author>
<published>2022-07-05T06:43:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=822e49b34afbc2092ae189091d693ae7867a8e5a'/>
<id>822e49b34afbc2092ae189091d693ae7867a8e5a</id>
<content type='text'>
While gitlab-shell currently has a major version of v14, the module path
it exposes is not using that major version like it is required by the Go
standard. This makes it impossible for dependents to import gitlab-shell
as a dependency without using a commit as version.

Fix this by changing the module path of gitlab-shell to instead be
`gitlab.com/gitlab-org/gitlab-shell/v14` and adjust all imports
accordingly.

Changelog: fixed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While gitlab-shell currently has a major version of v14, the module path
it exposes is not using that major version like it is required by the Go
standard. This makes it impossible for dependents to import gitlab-shell
as a dependency without using a commit as version.

Fix this by changing the module path of gitlab-shell to instead be
`gitlab.com/gitlab-org/gitlab-shell/v14` and adjust all imports
accordingly.

Changelog: fixed
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass original IP from PROXY requests to internal API calls</title>
<updated>2022-06-30T20:27:33+00:00</updated>
<author>
<name>Alejandro Rodríguez</name>
<email>alejorro70@gmail.com</email>
</author>
<published>2022-06-30T19:37:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=9b60ce49460876d0e599f2fec65f02856930dbcd'/>
<id>9b60ce49460876d0e599f2fec65f02856930dbcd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sh-fix-remote-addr-handling' into 'main'</title>
<updated>2022-05-09T09:47:20+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-05-09T09:47:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=733845f9abec43b6573ba3a1167cc27ff2bfc199'/>
<id>733845f9abec43b6573ba3a1167cc27ff2bfc199</id>
<content type='text'>
Fix check_ip argument when gitlab-sshd used with PROXY protocol

See merge request gitlab-org/gitlab-shell!616</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix check_ip argument when gitlab-sshd used with PROXY protocol

See merge request gitlab-org/gitlab-shell!616</pre>
</div>
</content>
</entry>
<entry>
<title>Fix check_ip argument when gitlab-sshd used with PROXY protocol</title>
<updated>2022-05-09T07:01:41+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2022-05-09T06:52:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=14a406a2f4c82ff42fc5a1a985f66dcd7a645381'/>
<id>14a406a2f4c82ff42fc5a1a985f66dcd7a645381</id>
<content type='text'>
When gitlab-sshd were used with the PROXY protocol, the `check_ip`
argument passed to `/api/v4/internal/allowed` was the Go remote
address, which is a host and port combination
(e.g. 127.0.0.1:12345). As a result, This prevents IP restrictions
from working properly on Rails. We fix this by stripping out the port
if it is present.

When OpenSSH is used, this is not an issue because the IP address
is extracted from `SSH_CONNECTION`.

Changelog: fixed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When gitlab-sshd were used with the PROXY protocol, the `check_ip`
argument passed to `/api/v4/internal/allowed` was the Go remote
address, which is a host and port combination
(e.g. 127.0.0.1:12345). As a result, This prevents IP restrictions
from working properly on Rails. We fix this by stripping out the port
if it is present.

When OpenSSH is used, this is not an issue because the IP address
is extracted from `SSH_CONNECTION`.

Changelog: fixed
</pre>
</div>
</content>
</entry>
</feed>
