<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-shell.git/internal/command/shared, 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>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>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://trove.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>Improve logging for non-git commands</title>
<updated>2021-10-13T14:28:31+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2021-10-13T14:22:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=34fa7eb3499c0f85c8610f89c120c1b3c56c1462'/>
<id>34fa7eb3499c0f85c8610f89c120c1b3c56c1462</id>
<content type='text'>
Several of our commands only touch the internal API, and go nowhere
near Gitaly. Improve logging for each of these in a single MR. In
general, we want to be able to tell what happened in the execution of
each command, and to track failures down to a specific line of code.

Changelog: added
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several of our commands only touch the internal API, and go nowhere
near Gitaly. Improve logging for each of these in a single MR. In
general, we want to be able to tell what happened in the execution of
each command, and to track failures down to a specific line of code.

Changelog: added
</pre>
</div>
</content>
</entry>
<entry>
<title>Add context fields to logging</title>
<updated>2021-09-15T17:46:08+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2021-09-15T17:46:00+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=af3aac6b459791fabd8ebc306cdff47c609fbf53'/>
<id>af3aac6b459791fabd8ebc306cdff47c609fbf53</id>
<content type='text'>
It adds correlation ids wherever possible
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It adds correlation ids wherever possible
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move away from ioutil (deprecated)</title>
<updated>2021-08-19T15:54:20+00:00</updated>
<author>
<name>feistel</name>
<email>6742251-feistel@users.noreply.gitlab.com</email>
</author>
<published>2021-08-19T15:54:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=087c010c476ed6c009b6c94a76a7e9db3b9d3fdd'/>
<id>087c010c476ed6c009b6c94a76a7e9db3b9d3fdd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch to labkit/log for logging functionality</title>
<updated>2021-07-22T15:38:47+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2021-07-22T14:58:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=fb7b9417842c66e12466e658e861e19619dfcd9a'/>
<id>fb7b9417842c66e12466e658e861e19619dfcd9a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the Geo SSH push proxy hanging</title>
<updated>2021-07-01T08:57:43+00:00</updated>
<author>
<name>Valery Sizov</name>
<email>valery@gitlab.com</email>
</author>
<published>2021-06-22T20:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=a59ef73962120fd725527227525047f61459e1d0'/>
<id>a59ef73962120fd725527227525047f61459e1d0</id>
<content type='text'>
Geo SSH proxy push currently impossible when the only
action that happens is branch removal. This fix
works in a way that it waits for flush packet from git
and then checks pkt lines to determine is pack data is expected.
The thing is that git doesnt send pack data when only
branch removal happens. Explanation is in
https://gitlab.com/gitlab-org/gitlab/-/issues/330494
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Geo SSH proxy push currently impossible when the only
action that happens is branch removal. This fix
works in a way that it waits for flush packet from git
and then checks pkt lines to determine is pack data is expected.
The thing is that git doesnt send pack data when only
branch removal happens. Explanation is in
https://gitlab.com/gitlab-org/gitlab/-/issues/330494
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace cleanup functions with t.Cleanup</title>
<updated>2021-03-17T18:23:07+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2021-03-17T18:18:42+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=ee41d0dfb7b02a19f5926bfe24dbad1df417a29e'/>
<id>ee41d0dfb7b02a19f5926bfe24dbad1df417a29e</id>
<content type='text'>
In this case we don't need to propagate cleanup
function. It simplifies the code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In this case we don't need to propagate cleanup
function. It simplifies the code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make it possible to propagate correlation ID across processes</title>
<updated>2020-09-21T04:40:40+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2020-09-19T10:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=a487572a904cc149840488eefdfe121173d8bcb5'/>
<id>a487572a904cc149840488eefdfe121173d8bcb5</id>
<content type='text'>
Previously, gitlab-shell did not pass a context through the application.
Correlation IDs were generated down the call stack instead of passed
around from the start execution.

This has several potential downsides:

1. It's easier for programming mistakes to be made in future that lead
to multiple correlation IDs being generated for a single request.
2. Correlation IDs cannot be passed in from upstream requests
3. Other advantages of context passing, such as distributed tracing is
not possible.

This commit changes the behavior:

1. Extract the correlation ID from the environment at the start of
the application.
2. If no correlation ID exists, generate a random one.
3. Pass the correlation ID to the GitLabNet API requests.

This change also enables other clients of GitLabNet (e.g. Gitaly) to
pass along the correlation ID in the internal API requests
(https://gitlab.com/gitlab-org/gitaly/-/issues/2725).

Fixes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/474
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, gitlab-shell did not pass a context through the application.
Correlation IDs were generated down the call stack instead of passed
around from the start execution.

This has several potential downsides:

1. It's easier for programming mistakes to be made in future that lead
to multiple correlation IDs being generated for a single request.
2. Correlation IDs cannot be passed in from upstream requests
3. Other advantages of context passing, such as distributed tracing is
not possible.

This commit changes the behavior:

1. Extract the correlation ID from the environment at the start of
the application.
2. If no correlation ID exists, generate a random one.
3. Pass the correlation ID to the GitLabNet API requests.

This change also enables other clients of GitLabNet (e.g. Gitaly) to
pass along the correlation ID in the internal API requests
(https://gitlab.com/gitlab-org/gitaly/-/issues/2725).

Fixes https://gitlab.com/gitlab-org/gitlab-shell/-/issues/474
</pre>
</div>
</content>
</entry>
<entry>
<title>Move gitlabnet client to client package</title>
<updated>2020-05-04T21:19:47+00:00</updated>
<author>
<name>John Cai</name>
<email>jcai@gitlab.com</email>
</author>
<published>2020-05-04T17:59:49+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=91f45342c4ff29a24c61812d539ac745dbb1570a'/>
<id>91f45342c4ff29a24c61812d539ac745dbb1570a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
