gitlab-qa 6.18.2 → 6.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +17 -1
- data/docs/what_tests_can_be_run.md +17 -0
- data/lib/gitlab/qa.rb +1 -0
- data/lib/gitlab/qa/component/gitlab.rb +22 -3
- data/lib/gitlab/qa/component/specs.rb +7 -0
- data/lib/gitlab/qa/report/generate_test_session.rb +5 -3
- data/lib/gitlab/qa/runtime/env.rb +6 -1
- data/lib/gitlab/qa/scenario/test/instance/staging.rb +9 -1
- data/lib/gitlab/qa/scenario/test/integration/mtls.rb +114 -0
- data/lib/gitlab/qa/scenario/test/integration/ssh_tunnel.rb +1 -1
- data/lib/gitlab/qa/version.rb +1 -1
- data/tls_certificates/gitaly/ssl/gitaly.test.crt +33 -0
- data/tls_certificates/gitaly/ssl/gitaly.test.key +52 -0
- data/tls_certificates/gitaly/trusted-certs/gitaly.test.crt +33 -0
- data/tls_certificates/gitaly/trusted-certs/gitlab.test.crt +31 -0
- metadata +7 -3
- data/.travis.yml +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f8a36d980bf03f5cc9921cf6f53417c3af1af1d9302d715c94ea018dcd38a0a
|
|
4
|
+
data.tar.gz: 07e3a718fde1037351f7e29cf6fabb9d35f757c50117f308881fb9474ede00eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77847c2c836aedb6f8e84c7424d8b124b7387d3c23bc658cf87b1a588217d33b6f81bdee77cb3302cfc937f2768a426f4a39315a57f66330c5e221e8f225243e
|
|
7
|
+
data.tar.gz: 797673f38b45c0b209cd49388fddb04cad19d7fce1af3105ed173e72469ab39de04a98962de905de93653426cd67e1a65c858ada146366291ceb394b8e8be1ff
|
data/.gitlab-ci.yml
CHANGED
|
@@ -911,6 +911,22 @@ ee:gitaly-cluster-quarantine:
|
|
|
911
911
|
variables:
|
|
912
912
|
QA_SCENARIO: "Test::Integration::GitalyCluster"
|
|
913
913
|
|
|
914
|
+
ce:mtls:
|
|
915
|
+
extends:
|
|
916
|
+
- .test
|
|
917
|
+
- .ce-qa
|
|
918
|
+
- .rspec-report-opts
|
|
919
|
+
variables:
|
|
920
|
+
QA_SCENARIO: "Test::Integration::MTLS"
|
|
921
|
+
|
|
922
|
+
ee:mtls:
|
|
923
|
+
extends:
|
|
924
|
+
- .test
|
|
925
|
+
- .ee-qa
|
|
926
|
+
- .rspec-report-opts
|
|
927
|
+
variables:
|
|
928
|
+
QA_SCENARIO: "Test::Integration::MTLS"
|
|
929
|
+
|
|
914
930
|
ce:smtp:
|
|
915
931
|
extends:
|
|
916
932
|
- .test
|
|
@@ -1007,7 +1023,7 @@ relate_test_failures:
|
|
|
1007
1023
|
when: always
|
|
1008
1024
|
variables:
|
|
1009
1025
|
QA_FAILURES_REPORTING_PROJECT: "gitlab-org/gitlab"
|
|
1010
|
-
QA_FAILURES_MAX_DIFF_RATIO: "0.
|
|
1026
|
+
QA_FAILURES_MAX_DIFF_RATIO: "0.15"
|
|
1011
1027
|
# The --dry-run can be set to modify the behavior of `exe/gitlab-qa-report --relate-failure-issue` without releasing a new gem version.
|
|
1012
1028
|
QA_FAILURES_REPORTER_OPTIONS: ""
|
|
1013
1029
|
script:
|
|
@@ -84,6 +84,8 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
|
84
84
|
| `CACHE_NAMESPACE_NAME` | `true` | Cache namespace name for groups. | No|
|
|
85
85
|
| `DEPLOY_VERSION` |- | The version of GitLab being tested against. | No|
|
|
86
86
|
| `GITLAB_QA_USER_AGENT` |- | The browser user-agent to use instead of the default Chrome user-agent. | No|
|
|
87
|
+
| `GEO_FAILOVER` | `false` | Set to `true` when a Geo secondary site has been promoted to a Geo primary site. | No|
|
|
88
|
+
|
|
87
89
|
|
|
88
90
|
## [Supported Remote Grid environment variables](./running_against_remote_grid.md)
|
|
89
91
|
|
|
@@ -165,6 +167,21 @@ And the following would run all Create API tests as well as UI tests:
|
|
|
165
167
|
$ gitlab-qa Test::Instance::Image EE -- qa/specs/features/browser_ui/3_create qa/specs/features/api/3_create
|
|
166
168
|
```
|
|
167
169
|
|
|
170
|
+
### Running tests for transient bugs
|
|
171
|
+
|
|
172
|
+
A suite of tests have been written to test for [transient bugs](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#transient-bugs).
|
|
173
|
+
Those tests are tagged `:transient` and therefore can be run via:
|
|
174
|
+
|
|
175
|
+
```shell
|
|
176
|
+
$ gitlab-qa Test::Instance::Image EE -- --tag transient
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
If you would like to run the transient bug tests against a specific GitLab instance such as your GDK, you can use the following command:
|
|
180
|
+
|
|
181
|
+
```shell
|
|
182
|
+
$ gitlab-qa Test::Instance::Any EE https://your.instance.gitlab -- --tag transient
|
|
183
|
+
```
|
|
184
|
+
|
|
168
185
|
## Examples
|
|
169
186
|
|
|
170
187
|
### `Test::Instance::Image CE|EE|<full image address>`
|
data/lib/gitlab/qa.rb
CHANGED
|
@@ -58,6 +58,7 @@ module Gitlab
|
|
|
58
58
|
autoload :GitalyCluster, 'gitlab/qa/scenario/test/integration/gitaly_cluster'
|
|
59
59
|
autoload :Jira, 'gitlab/qa/scenario/test/integration/jira'
|
|
60
60
|
autoload :SSHTunnel, 'gitlab/qa/scenario/test/integration/ssh_tunnel'
|
|
61
|
+
autoload :MTLS, 'gitlab/qa/scenario/test/integration/mtls'
|
|
61
62
|
end
|
|
62
63
|
|
|
63
64
|
module Sanity
|
|
@@ -16,8 +16,12 @@ module Gitlab
|
|
|
16
16
|
|
|
17
17
|
def_delegators :release, :tag, :image, :edition
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
GITLAB_CERTIFICATES_PATH = File.expand_path('../../../../tls_certificates/gitlab'.freeze, __dir__)
|
|
20
|
+
GITALY_CERTIFICATES_PATH = File.expand_path('../../../../tls_certificates/gitaly/ssl'.freeze, __dir__)
|
|
21
|
+
TRUSTED_CERTIFICATES_PATH = File.expand_path('../../../../tls_certificates/gitaly/trusted-certs'.freeze, __dir__)
|
|
22
|
+
|
|
20
23
|
SSL_PATH = '/etc/gitlab/ssl'.freeze
|
|
24
|
+
TRUSTED_PATH = '/etc/gitlab/trusted-certs'.freeze
|
|
21
25
|
|
|
22
26
|
def initialize
|
|
23
27
|
super
|
|
@@ -25,7 +29,7 @@ module Gitlab
|
|
|
25
29
|
@disable_animations = true
|
|
26
30
|
@skip_availability_check = false
|
|
27
31
|
|
|
28
|
-
@volumes[
|
|
32
|
+
@volumes[GITLAB_CERTIFICATES_PATH] = SSL_PATH
|
|
29
33
|
|
|
30
34
|
self.release = 'CE'
|
|
31
35
|
end
|
|
@@ -64,6 +68,16 @@ module Gitlab
|
|
|
64
68
|
tls ? '443' : '80'
|
|
65
69
|
end
|
|
66
70
|
|
|
71
|
+
def mtls
|
|
72
|
+
@volumes.delete(GITLAB_CERTIFICATES_PATH)
|
|
73
|
+
@volumes[GITALY_CERTIFICATES_PATH] = SSL_PATH
|
|
74
|
+
set_trusted_certificates
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def set_trusted_certificates
|
|
78
|
+
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
|
79
|
+
end
|
|
80
|
+
|
|
67
81
|
def relative_path
|
|
68
82
|
@relative_path ||= ''
|
|
69
83
|
end
|
|
@@ -87,12 +101,17 @@ module Gitlab
|
|
|
87
101
|
def prepare_gitlab_omnibus_config
|
|
88
102
|
setup_disable_animations if disable_animations
|
|
89
103
|
set_formless_login_token
|
|
104
|
+
setup_application_settings_cache_expiry
|
|
90
105
|
end
|
|
91
106
|
|
|
92
107
|
def setup_disable_animations
|
|
93
108
|
@environment['GITLAB_OMNIBUS_CONFIG'] = "gitlab_rails['gitlab_disable_animations'] = true; #{@environment['GITLAB_OMNIBUS_CONFIG'] || ''}"
|
|
94
109
|
end
|
|
95
110
|
|
|
111
|
+
def setup_application_settings_cache_expiry
|
|
112
|
+
@environment['GITLAB_OMNIBUS_CONFIG'] = "gitlab_rails['application_settings_cache_seconds'] = 0; #{@environment['GITLAB_OMNIBUS_CONFIG'] || ''}"
|
|
113
|
+
end
|
|
114
|
+
|
|
96
115
|
def start # rubocop:disable Metrics/AbcSize
|
|
97
116
|
ensure_configured!
|
|
98
117
|
|
|
@@ -124,7 +143,7 @@ module Gitlab
|
|
|
124
143
|
puts line
|
|
125
144
|
# TODO, workaround which allows to detach from the container
|
|
126
145
|
#
|
|
127
|
-
|
|
146
|
+
break if line =~ /gitlab Reconfigured!/
|
|
128
147
|
end
|
|
129
148
|
end
|
|
130
149
|
|
|
@@ -10,6 +10,9 @@ module Gitlab
|
|
|
10
10
|
class Specs < Scenario::Template
|
|
11
11
|
attr_accessor :suite, :release, :network, :args, :volumes, :env, :runner_network
|
|
12
12
|
|
|
13
|
+
TRUSTED_CERTIFICATES_PATH = File.expand_path('../../../../tls_certificates/gitaly/trusted-certs'.freeze, __dir__)
|
|
14
|
+
TRUSTED_PATH = '/etc/ssl/certs'.freeze
|
|
15
|
+
|
|
13
16
|
def initialize
|
|
14
17
|
@docker = Docker::Engine.new
|
|
15
18
|
@volumes = {}
|
|
@@ -62,6 +65,10 @@ module Gitlab
|
|
|
62
65
|
end
|
|
63
66
|
end
|
|
64
67
|
|
|
68
|
+
def mtls
|
|
69
|
+
@volumes[TRUSTED_CERTIFICATES_PATH] = TRUSTED_PATH
|
|
70
|
+
end
|
|
71
|
+
|
|
65
72
|
private
|
|
66
73
|
|
|
67
74
|
def args_with_flags(args, feature_flag_set)
|
|
@@ -23,9 +23,11 @@ module Gitlab
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
# Workaround for https://gitlab.com/gitlab-org/gitlab/-/issues/295493
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
unless Runtime::Env.qa_issue_url.to_s.empty?
|
|
27
|
+
gitlab.create_issue_note(
|
|
28
|
+
iid: issue.iid,
|
|
29
|
+
note: "/relate #{Runtime::Env.qa_issue_url}")
|
|
30
|
+
end
|
|
29
31
|
|
|
30
32
|
File.write('REPORT_ISSUE_URL', issue.web_url)
|
|
31
33
|
end
|
|
@@ -87,7 +87,8 @@ module Gitlab
|
|
|
87
87
|
'JIRA_ADMIN_PASSWORD' => :jira_admin_password,
|
|
88
88
|
'CACHE_NAMESPACE_NAME' => :cache_namespace_name,
|
|
89
89
|
'DEPLOY_VERSION' => :deploy_version,
|
|
90
|
-
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent
|
|
90
|
+
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent,
|
|
91
|
+
'GEO_FAILOVER' => :geo_failover
|
|
91
92
|
}.freeze
|
|
92
93
|
|
|
93
94
|
ENV_VARIABLES.each do |env_name, method_name|
|
|
@@ -283,6 +284,10 @@ module Gitlab
|
|
|
283
284
|
enabled?(ENV['QA_SKIP_PULL'], default: false)
|
|
284
285
|
end
|
|
285
286
|
|
|
287
|
+
def geo_failover?
|
|
288
|
+
enabled?(ENV['GEO_FAILOVER'], default: false)
|
|
289
|
+
end
|
|
290
|
+
|
|
286
291
|
private
|
|
287
292
|
|
|
288
293
|
def enabled?(value, default: true)
|
|
@@ -4,12 +4,20 @@ module Gitlab
|
|
|
4
4
|
module Test
|
|
5
5
|
module Instance
|
|
6
6
|
##
|
|
7
|
-
# Run test suite against staging.gitlab.com
|
|
7
|
+
# Run test suite against staging.gitlab.com (or geo.staging.gitlab.com during failover)
|
|
8
8
|
#
|
|
9
9
|
class Staging < DeploymentBase
|
|
10
10
|
def deployment_component
|
|
11
11
|
Component::Staging
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
def non_rspec_args
|
|
15
|
+
if Runtime::Env.geo_failover?
|
|
16
|
+
[deployment_component::GEO_SECONDARY_ADDRESS]
|
|
17
|
+
else
|
|
18
|
+
[deployment_component::ADDRESS]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
13
21
|
end
|
|
14
22
|
end
|
|
15
23
|
end
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
module Gitlab
|
|
2
|
+
module QA
|
|
3
|
+
module Scenario
|
|
4
|
+
module Test
|
|
5
|
+
module Integration
|
|
6
|
+
class MTLS < Scenario::Template
|
|
7
|
+
def initialize
|
|
8
|
+
@gitlab_name = 'gitlab'
|
|
9
|
+
@gitaly_name = 'gitaly'
|
|
10
|
+
@spec_suite = 'Test::Instance::All'
|
|
11
|
+
@network = 'test'
|
|
12
|
+
@env = {}
|
|
13
|
+
@tag = 'mtls'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# rubocop:disable Metrics/AbcSize
|
|
17
|
+
def perform(release, *rspec_args)
|
|
18
|
+
Component::Gitlab.perform do |gitaly|
|
|
19
|
+
gitaly.release = QA::Release.new(release)
|
|
20
|
+
gitaly.name = @gitaly_name
|
|
21
|
+
gitaly.network = @network
|
|
22
|
+
gitaly.skip_availability_check = true
|
|
23
|
+
|
|
24
|
+
gitaly.set_accept_insecure_certs
|
|
25
|
+
gitaly.omnibus_config = gitaly_omnibus
|
|
26
|
+
gitaly.mtls
|
|
27
|
+
|
|
28
|
+
gitaly.instance do
|
|
29
|
+
Component::Gitlab.perform do |gitlab|
|
|
30
|
+
gitlab.release = QA::Release.new(release)
|
|
31
|
+
gitlab.name = @gitlab_name
|
|
32
|
+
gitlab.network = @network
|
|
33
|
+
|
|
34
|
+
gitlab.set_accept_insecure_certs
|
|
35
|
+
gitlab.omnibus_config = gitlab_omnibus
|
|
36
|
+
gitlab.tls = true
|
|
37
|
+
gitlab.set_trusted_certificates
|
|
38
|
+
|
|
39
|
+
gitlab.instance do
|
|
40
|
+
puts "Running mTLS specs!"
|
|
41
|
+
|
|
42
|
+
if @tag
|
|
43
|
+
rspec_args << "--" unless rspec_args.include?('--')
|
|
44
|
+
rspec_args << "--tag" << @tag
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
Component::Specs.perform do |specs|
|
|
48
|
+
specs.suite = @spec_suite
|
|
49
|
+
specs.release = gitlab.release
|
|
50
|
+
specs.network = gitlab.network
|
|
51
|
+
specs.args = [gitlab.address, *rspec_args]
|
|
52
|
+
specs.env = @env
|
|
53
|
+
specs.mtls
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
# rubocop:enable Metrics/AbcSize
|
|
61
|
+
|
|
62
|
+
def gitlab_omnibus
|
|
63
|
+
<<~OMNIBUS
|
|
64
|
+
gitaly['enable'] = false;
|
|
65
|
+
|
|
66
|
+
external_url 'https://#{@gitlab_name}.#{@network}';
|
|
67
|
+
|
|
68
|
+
gitlab_rails['gitaly_token'] = 'abc123secret';
|
|
69
|
+
gitlab_shell['secret_token'] = 'shellsecret';
|
|
70
|
+
|
|
71
|
+
git_data_dirs({
|
|
72
|
+
'default' => { 'gitaly_address' => 'tls://#{@gitaly_name}.#{@network}:9999' },
|
|
73
|
+
'storage1' => { 'gitaly_address' => 'tls://#{@gitaly_name}.#{@network}:9999' },
|
|
74
|
+
});
|
|
75
|
+
OMNIBUS
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def gitaly_omnibus
|
|
79
|
+
<<~OMNIBUS
|
|
80
|
+
gitaly['tls_listen_addr'] = '0.0.0.0:9999';
|
|
81
|
+
gitaly['certificate_path'] = '/etc/gitlab/ssl/gitaly.test.crt';
|
|
82
|
+
gitaly['key_path'] = '/etc/gitlab/ssl/gitaly.test.key';
|
|
83
|
+
|
|
84
|
+
postgresql['enable'] = false;
|
|
85
|
+
redis['enable'] = false;
|
|
86
|
+
nginx['enable'] = false;
|
|
87
|
+
puma['enable'] = false;
|
|
88
|
+
sidekiq['enable'] = false;
|
|
89
|
+
gitlab_workhorse['enable'] = false;
|
|
90
|
+
grafana['enable'] = false;
|
|
91
|
+
gitlab_exporter['enable'] = false;
|
|
92
|
+
alertmanager['enable'] = false;
|
|
93
|
+
prometheus['enable'] = false;
|
|
94
|
+
|
|
95
|
+
gitlab_rails['rake_cache_clear'] = false;
|
|
96
|
+
gitlab_rails['auto_migrate'] = false;
|
|
97
|
+
|
|
98
|
+
gitaly['auth_token'] = 'abc123secret';
|
|
99
|
+
gitlab_shell['secret_token'] = 'shellsecret';
|
|
100
|
+
|
|
101
|
+
gitlab_rails['internal_api_url'] = 'https://#{@gitlab_name}.#{@network}';
|
|
102
|
+
|
|
103
|
+
git_data_dirs({
|
|
104
|
+
'default' => { 'path' => '/var/opt/gitlab/git-data' },
|
|
105
|
+
'storage1' => { 'path' => '/mnt/gitlab/git-data' },
|
|
106
|
+
})
|
|
107
|
+
OMNIBUS
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -27,7 +27,7 @@ module Gitlab
|
|
|
27
27
|
nginx['listen_port'] = 80;
|
|
28
28
|
nginx['listen_https'] = false;
|
|
29
29
|
# documentation: https://docs.gitlab.com/omnibus/settings/database.html#seed-the-database-fresh-installs-only
|
|
30
|
-
gitlab_rails['initial_root_password'] = '#{Runtime::Env.require_initial_password}'
|
|
30
|
+
gitlab_rails['initial_root_password'] = '#{Runtime::Env.require_initial_password!}'
|
|
31
31
|
|
|
32
32
|
registry_external_url '#{tunnel_registry.url}';
|
|
33
33
|
registry_nginx['listen_port'] = 80;
|
data/lib/gitlab/qa/version.rb
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
32
|
+
5OPk1+2KXQff+lh0m2IKJcYu3g==
|
|
33
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
nh4iw7J+eIfaBUd7gtbLgkmkz5Bt21g=
|
|
52
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
32
|
+
5OPk1+2KXQff+lh0m2IKJcYu3g==
|
|
33
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
30
|
+
vvjQTrP9ZinR50bKUf8=
|
|
31
|
+
-----END CERTIFICATE-----
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gitlab-qa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.21.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Grzegorz Bizon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-02-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: climate_control
|
|
@@ -208,7 +208,6 @@ files:
|
|
|
208
208
|
- ".rspec"
|
|
209
209
|
- ".rubocop.yml"
|
|
210
210
|
- ".rubocop_todo.yml"
|
|
211
|
-
- ".travis.yml"
|
|
212
211
|
- CONTRIBUTING.md
|
|
213
212
|
- Gemfile
|
|
214
213
|
- LICENSE
|
|
@@ -305,6 +304,7 @@ files:
|
|
|
305
304
|
- lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb
|
|
306
305
|
- lib/gitlab/qa/scenario/test/integration/ldap_tls.rb
|
|
307
306
|
- lib/gitlab/qa/scenario/test/integration/mattermost.rb
|
|
307
|
+
- lib/gitlab/qa/scenario/test/integration/mtls.rb
|
|
308
308
|
- lib/gitlab/qa/scenario/test/integration/object_storage.rb
|
|
309
309
|
- lib/gitlab/qa/scenario/test/integration/packages.rb
|
|
310
310
|
- lib/gitlab/qa/scenario/test/integration/praefect.rb
|
|
@@ -321,6 +321,10 @@ files:
|
|
|
321
321
|
- lib/gitlab/qa/support/http_request.rb
|
|
322
322
|
- lib/gitlab/qa/support/invalid_response_error.rb
|
|
323
323
|
- lib/gitlab/qa/version.rb
|
|
324
|
+
- tls_certificates/gitaly/ssl/gitaly.test.crt
|
|
325
|
+
- tls_certificates/gitaly/ssl/gitaly.test.key
|
|
326
|
+
- tls_certificates/gitaly/trusted-certs/gitaly.test.crt
|
|
327
|
+
- tls_certificates/gitaly/trusted-certs/gitlab.test.crt
|
|
324
328
|
- tls_certificates/gitlab/gitlab.test.crt
|
|
325
329
|
- tls_certificates/gitlab/gitlab.test.key
|
|
326
330
|
homepage: http://about.gitlab.com
|