<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-shell.git/internal/command, branch main</title>
<subtitle>gitlab.com: gitlab-org/gitlab-shell.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/'/>
<entry>
<title>Configure a default ttl for personal access tokens</title>
<updated>2023-05-11T20:38:36+00:00</updated>
<author>
<name>Joe Woodward</name>
<email>jwoodward@gitlab.com</email>
</author>
<published>2023-05-11T20:38:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=51b79bdb4ae60b1850989cca8eb4190d785408b0'/>
<id>51b79bdb4ae60b1850989cca8eb4190d785408b0</id>
<content type='text'>
Prior to this change personal access tokens without a ttl would never
expire. In Gitlab 15.4 we deprecated non-expiring tokens and are
scheduled for removal in 16.0.

https://gitlab.com/gitlab-org/gitlab/-/issues/369122

This change alters the gitlab-shell command for creating tokens to
ensure add a default limit of 30 days.

Closes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/640
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prior to this change personal access tokens without a ttl would never
expire. In Gitlab 15.4 we deprecated non-expiring tokens and are
scheduled for removal in 16.0.

https://gitlab.com/gitlab-org/gitlab/-/issues/369122

This change alters the gitlab-shell command for creating tokens to
ensure add a default limit of 30 days.

Closes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/640
</pre>
</div>
</content>
</entry>
<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://trove.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>Add DNS discovery support for Gitaly/Praefect</title>
<updated>2023-02-14T09:16:13+00:00</updated>
<author>
<name>Quang-Minh Nguyen</name>
<email>qmnguyen@gitlab.com</email>
</author>
<published>2023-02-14T09:16:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=11227dd8a136f8735fc2d3d434345f2c24112f87'/>
<id>11227dd8a136f8735fc2d3d434345f2c24112f87</id>
<content type='text'>
All the implementations of DNS discovery were done in this epic:
https://gitlab.com/groups/gitlab-org/-/epics/8971. Gitaly allows clients
to configure DNS discovery via dial option. This MR adds the exposed
dial options to client connection creation in Gitlab-shell.

Issue: https://gitlab.com/gitlab-org/gitaly/-/issues/4722
Changelog: added
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All the implementations of DNS discovery were done in this epic:
https://gitlab.com/groups/gitlab-org/-/epics/8971. Gitaly allows clients
to configure DNS discovery via dial option. This MR adds the exposed
dial options to client connection creation in Gitlab-shell.

Issue: https://gitlab.com/gitlab-org/gitaly/-/issues/4722
Changelog: added
</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://trove.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://trove.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>Use blocking reader to fix race in test</title>
<updated>2022-11-28T03:53:26+00:00</updated>
<author>
<name>Patrick Bajao</name>
<email>ebajao@gitlab.com</email>
</author>
<published>2022-11-28T03:46:25+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=b42774409ff6780f4d5d335f732a60b807d61efa'/>
<id>b42774409ff6780f4d5d335f732a60b807d61efa</id>
<content type='text'>
The `TestCanceledContext` test in `twofactorverify_test.go` tests
the scenario wherein the request context gets canceled in the
middle of the request.

A race can occur though when the input gets read before the context
is canceled which can result to a different error: instead of
having the context canceled, the OTP will be blank.

To fix it, we use a blocking reader as input to simulate "waiting
for input" scenario. This way, reading the input will never be
finished and the context cancelation can be done appropriately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `TestCanceledContext` test in `twofactorverify_test.go` tests
the scenario wherein the request context gets canceled in the
middle of the request.

A race can occur though when the input gets read before the context
is canceled which can result to a different error: instead of
having the context canceled, the OTP will be blank.

To fix it, we use a blocking reader as input to simulate "waiting
for input" scenario. This way, reading the input will never be
finished and the context cancelation can be done appropriately.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'id-add-documentation-to-command' into 'main'</title>
<updated>2022-09-21T07:35:18+00:00</updated>
<author>
<name>Patrick Bajao</name>
<email>ebajao@gitlab.com</email>
</author>
<published>2022-09-21T07:35:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=6ed883c6dec76b6585c18a8b2a8a8c34a8d641e7'/>
<id>6ed883c6dec76b6585c18a8b2a8a8c34a8d641e7</id>
<content type='text'>
Add developer documentation to command package

See merge request https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/594

Merged-by: Patrick Bajao &lt;ebajao@gitlab.com&gt;
Approved-by: Patrick Bajao &lt;ebajao@gitlab.com&gt;
Co-authored-by: Igor Drozdov &lt;idrozdov@gitlab.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add developer documentation to command package

See merge request https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/594

Merged-by: Patrick Bajao &lt;ebajao@gitlab.com&gt;
Approved-by: Patrick Bajao &lt;ebajao@gitlab.com&gt;
Co-authored-by: Igor Drozdov &lt;idrozdov@gitlab.com&gt;</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://trove.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>Specify all packages that use commands</title>
<updated>2022-08-03T14:25:47+00:00</updated>
<author>
<name>Patrick Bajao</name>
<email>ebajao@gitlab.com</email>
</author>
<published>2022-06-03T11:07:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=3183c96d9c18ba9a7863fd8c5ced3f3a53d0cae8'/>
<id>3183c96d9c18ba9a7863fd8c5ced3f3a53d0cae8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add developer documentation to command package</title>
<updated>2022-08-03T14:25:47+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-04-09T11:58:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=253679bd0d010db18b8a701ef5bb48ceb0ab4242'/>
<id>253679bd0d010db18b8a701ef5bb48ceb0ab4242</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
