<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-shell.git/internal/testhelper, 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>Acceptance test for Geo push</title>
<updated>2023-03-17T20:35:15+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2023-02-13T15:28:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=3bc0463c5b5db26d2ed61e5b1e884c75ef02a91c'/>
<id>3bc0463c5b5db26d2ed61e5b1e884c75ef02a91c</id>
<content type='text'>
It imitates a push to the secondary and verifies that the push
is redirected to the primary
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It imitates a push to the secondary and verifies that the push
is redirected to the primary
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure Gitaly storage acceptance tests</title>
<updated>2023-03-15T13:53:05+00:00</updated>
<author>
<name>Patrick Cyiza</name>
<email>jpcyiza@gitlab.com</email>
</author>
<published>2023-03-13T14:27:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=2cc92f02b8690368b004938e92f7cf4133745eb0'/>
<id>2cc92f02b8690368b004938e92f7cf4133745eb0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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://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>Fix broken Gitaly integration tests</title>
<updated>2022-11-23T07:03:30+00:00</updated>
<author>
<name>Patrick Bajao</name>
<email>ebajao@gitlab.com</email>
</author>
<published>2022-11-23T07:03:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=f2b068a82ed355028085bcbf87c12de9dc3f0550'/>
<id>f2b068a82ed355028085bcbf87c12de9dc3f0550</id>
<content type='text'>
Gitaly started to require `Repository` information for certain
commands like upload-pack, upload-archive, and receive-pack.

However, gitlab-shell tests are sending `git_object_directory` and
`git_alternate_object_directories` that do not exist.

To fix the tests, we set those to an existing directory in the
created repository.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Gitaly started to require `Repository` information for certain
commands like upload-pack, upload-archive, and receive-pack.

However, gitlab-shell tests are sending `git_object_directory` and
`git_alternate_object_directories` that do not exist.

To fix the tests, we set those to an existing directory in the
created repository.
</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>gitlab-sshd: Add support for configuring host certificates</title>
<updated>2022-06-26T07:11:42+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2022-06-11T21:42:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=4919ec7a1ef3bcf7a8b2da1a5369c9135845f55e'/>
<id>4919ec7a1ef3bcf7a8b2da1a5369c9135845f55e</id>
<content type='text'>
This adds support for specifying host certificates via the
`host_cert_files` option and advertises the signed key to the
client. This acts similarly to OpenSSH's `HostCertificate` parameter:
gitlab-sshd attempts to match a host key to its certificate, and then
substitutes the matching host key with a certificate signed by a
trusted certificate authority's key.

This is the first requirement to supporting SSH certificates. This
will enable the client to trust the server if both trust a common
certificate authority. The `TrustedUserCAKeys` option will need to be
supported later for the server to trust all user keys signed by this
certificate authority.

Relates to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/495
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for specifying host certificates via the
`host_cert_files` option and advertises the signed key to the
client. This acts similarly to OpenSSH's `HostCertificate` parameter:
gitlab-sshd attempts to match a host key to its certificate, and then
substitutes the matching host key with a certificate signed by a
trusted certificate authority's key.

This is the first requirement to supporting SSH certificates. This
will enable the client to trust the server if both trust a common
certificate authority. The `TrustedUserCAKeys` option will need to be
supported later for the server to trust all user keys signed by this
certificate authority.

Relates to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/495
</pre>
</div>
</content>
</entry>
<entry>
<title>Make ProxyHeaderTimeout configurable</title>
<updated>2022-05-19T14:53:08+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-05-19T09:10:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=5b94726b822b52ffe256820df1a24307b2e2072f'/>
<id>5b94726b822b52ffe256820df1a24307b2e2072f</id>
<content type='text'>
Issue: https://gitlab.com/gitlab-org/gitlab-shell/-/issues/576

ProxyHeaderTimeout must be small to avoid DoS risk

Let's make the value configurable and 500ms by default
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue: https://gitlab.com/gitlab-org/gitlab-shell/-/issues/576

ProxyHeaderTimeout must be small to avoid DoS risk

Let's make the value configurable and 500ms by default
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow specifying formatted durations in config</title>
<updated>2022-05-19T14:53:08+00:00</updated>
<author>
<name>Igor Drozdov</name>
<email>idrozdov@gitlab.com</email>
</author>
<published>2022-05-19T09:04:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=cbce19dac2b5033e6b969b3e82ec6aad2e247757'/>
<id>cbce19dac2b5033e6b969b3e82ec6aad2e247757</id>
<content type='text'>
- If an integer is specified, we assume that these are seconds
- A duration of format "500ms", "10s", "1m", etc... accepted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- If an integer is specified, we assume that these are seconds
- A duration of format "500ms", "10s", "1m", etc... accepted
</pre>
</div>
</content>
</entry>
<entry>
<title>Always use Gitaly sidechannel connections</title>
<updated>2022-05-02T09:35:12+00:00</updated>
<author>
<name>Jacob Vosmaer</name>
<email>jacob@gitlab.com</email>
</author>
<published>2022-05-02T09:34:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=b2b31cee4a27cccd100a5f0aa546d5a515576ada'/>
<id>b2b31cee4a27cccd100a5f0aa546d5a515576ada</id>
<content type='text'>
Before this change, the GitLab internal API could use a boolean
response field to indicate whether gitlab-shell should make
sidechannel connections go Gitaly. We now ignore that response field
and always use sidechannel connections.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this change, the GitLab internal API could use a boolean
response field to indicate whether gitlab-shell should make
sidechannel connections go Gitaly. We now ignore that response field
and always use sidechannel connections.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optionally use SSHUploadPackWithSidechannel</title>
<updated>2022-01-25T11:32:45+00:00</updated>
<author>
<name>Jacob Vosmaer</name>
<email>jacob@gitlab.com</email>
</author>
<published>2022-01-21T11:05:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-shell.git/commit/?id=cfd5e9f22d0b1c2b6686edf99cc9a026eb6571f2'/>
<id>cfd5e9f22d0b1c2b6686edf99cc9a026eb6571f2</id>
<content type='text'>
If the GitLab API returns an allowed response with use_sidechannel set
to true, gitlab-shell will establish a sidechannel connection and use
SSHUploadPackWithSidechannel instead of SSHUploadPack. This is an
efficiency improvement.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the GitLab API returns an allowed response with use_sidechannel set
to true, gitlab-shell will establish a sidechannel connection and use
SSHUploadPackWithSidechannel instead of SSHUploadPack. This is an
efficiency improvement.
</pre>
</div>
</content>
</entry>
</feed>
