Skip to content

Commit d75e214

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent a6d9ec9 commit d75e214

File tree

55 files changed

+511
-90
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+511
-90
lines changed

.gitpod.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# https://www.gitpod.io/docs/configure/workspaces/tasks
33

44
image: registry.gitlab.com/gitlab-org/gitlab-development-kit/gitpod-workspace:stable
5+
checkoutLocation: gitlab-development-kit/gitlab
56

67
tasks:
78

@@ -24,8 +25,6 @@ tasks:
2425
echo "$(date) – Copying GDK" | tee -a /workspace/startup.log
2526
cp -r $HOME/gitlab-development-kit /workspace/
2627
cd /workspace/gitlab-development-kit
27-
# ensure GitLab directory is symlinked under the GDK
28-
ln -nfs "$GITPOD_REPO_ROOT" /workspace/gitlab-development-kit/gitlab
2928
mv -v /workspace/gitlab-development-kit/secrets.yml /workspace/gitlab-development-kit/gitlab/config
3029
# ensure gdk.yml has correct instance settings
3130
gdk config set gitlab.rails.port 443 |& tee -a /workspace/startup.log

app/assets/javascripts/content_editor/services/serialization_helpers.js

+1
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,7 @@ export const code = {
514514
open: generateCodeTag(),
515515
close: generateCodeTag(closeTag),
516516
mixable: true,
517+
escape: false,
517518
expelEnclosingWhitespace: true,
518519
};
519520

app/assets/javascripts/issues/show/components/description.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ export default {
238238
const container = document.createElement('div');
239239
// eslint-disable-next-line no-unsanitized/property
240240
container.innerHTML = `<svg class="drag-icon s14 gl-icon gl-cursor-grab gl-opacity-0" role="img" aria-hidden="true">
241-
<use href="${gon.sprite_icons}#drag-vertical"></use>
241+
<use href="${gon.sprite_icons}#grip"></use>
242242
</svg>`;
243243
return container.firstChild;
244244
},
@@ -259,7 +259,7 @@ export default {
259259
};
260260
261261
// We use pointerover/pointerout instead of CSS so that when we hover over a
262-
// list item with children, the drag icons of its children do not become visible.
262+
// list item with children, the grip icons of its children do not become visible.
263263
listItem.addEventListener('pointerover', pointeroverListener);
264264
listItem.addEventListener('pointerout', pointeroutListener);
265265

app/assets/javascripts/releases/stores/modules/edit_new/mutations.js

+2
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export default {
4040

4141
[types.UPDATE_RELEASE_TAG_NAME](state, tagName) {
4242
state.release.tagName = tagName;
43+
state.existingRelease = null;
4344
},
4445
[types.UPDATE_RELEASE_TAG_MESSAGE](state, tagMessage) {
4546
state.release.tagMessage = tagMessage;
@@ -118,6 +119,7 @@ export default {
118119
state.fetchError = error;
119120
state.isFetchingTagNotes = false;
120121
state.tagNotes = '';
122+
state.existingRelease = null;
121123
},
122124
[types.UPDATE_INCLUDE_TAG_NOTES](state, includeTagNotes) {
123125
state.includeTagNotes = includeTagNotes;

app/services/ci/job_artifacts/create_service.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def persist_artifact(artifact, artifact_metadata, params)
132132
job.update_column(:artifacts_expire_at, artifact.expire_at)
133133
end
134134

135-
Gitlab::Ci::Artifacts::Logger.log_created(artifact)
135+
Gitlab::Ci::Artifacts::Logger.log_created([artifact, artifact_metadata].compact)
136136

137137
success(artifact: artifact)
138138
rescue ActiveRecord::RecordNotUnique => error

config/feature_flags/development/enable_new_sentry_clientside_integration.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: enable_new_sentry_clientside_integration
33
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102650
4-
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/344832
4+
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382570
55
milestone: '15.6'
66
type: development
77
group: group::runner
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: use_primary_and_secondary_stores_for_rate_limiting
3+
introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106123"
4+
rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/385681"
5+
milestone: '15.9'
6+
type: development
7+
group: group::scalability
8+
default_enabled: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: use_primary_store_as_default_for_rate_limiting
3+
introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106123"
4+
rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/385681"
5+
milestone: '15.9'
6+
type: development
7+
group: group::scalability
8+
default_enabled: false

config/initializers/1_settings.rb

+3
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,9 @@
824824
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner'] ||= Settingslogic.new({})
825825
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner']['cron'] ||= "0 0 * * *"
826826
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner']['job_class'] = 'Licenses::ResetSubmitLicenseUsageDataBannerWorker'
827+
Settings.cron_jobs['abandoned_trial_emails'] ||= Settingslogic.new({})
828+
Settings.cron_jobs['abandoned_trial_emails']['cron'] ||= "0 1 * * *"
829+
Settings.cron_jobs['abandoned_trial_emails']['job_class'] = 'Emails::AbandonedTrialEmailsCronWorker'
827830
Gitlab.com do
828831
Settings.cron_jobs['disable_legacy_open_source_license_for_inactive_projects'] ||= Settingslogic.new({})
829832
Settings.cron_jobs['disable_legacy_open_source_license_for_inactive_projects']['cron'] ||= "30 5 * * 0"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
- title: 'Embedding Grafana panels in Markdown is deprecated'
2+
announcement_milestone: '15.9'
3+
removal_milestone: '16.0'
4+
breaking_change: true
5+
reporter: abellucci
6+
body: |
7+
The ability to add Grafana panels in GitLab Flavored Markdown is deprecated in 15.9 and will be removed in 16.0.
8+
We intend to replace this feature with the ability to [embed charts](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/33) with the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui).
9+
stage: monitor
10+
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389477
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
class AddTrialDateIndexToGitlabSubscribtions < Gitlab::Database::Migration[2.1]
4+
disable_ddl_transaction!
5+
6+
INDEX_NAME = 'index_gitlab_subscriptions_on_trial_and_trial_starts_on'
7+
8+
def up
9+
add_concurrent_index :gitlab_subscriptions, [:trial, :trial_starts_on], name: INDEX_NAME
10+
end
11+
12+
def down
13+
remove_concurrent_index_by_name :gitlab_subscriptions, INDEX_NAME
14+
end
15+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# frozen_string_literal: true
2+
3+
class AddProjectIdNameIdVersionIndexToInstallableNpmPackages < Gitlab::Database::Migration[2.1]
4+
disable_ddl_transaction!
5+
6+
INDEX_NAME = 'idx_packages_on_project_id_name_id_version_when_installable_npm'
7+
PACKAGE_TYPE_NPM = 2
8+
9+
def up
10+
add_concurrent_index(
11+
:packages_packages,
12+
[:project_id, :name, :id, :version],
13+
name: INDEX_NAME,
14+
where: "package_type = #{PACKAGE_TYPE_NPM} AND status IN (0, 1)"
15+
)
16+
end
17+
18+
def down
19+
remove_concurrent_index_by_name(:packages_packages, INDEX_NAME)
20+
end
21+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
class AddFkIndexToCiBuildNeedsOnPartitionIdAndBuildId < Gitlab::Database::Migration[2.1]
4+
disable_ddl_transaction!
5+
6+
INDEX_NAME = :index_ci_build_needs_on_partition_id_build_id
7+
TABLE_NAME = :ci_build_needs
8+
COLUMNS = [:partition_id, :build_id]
9+
10+
def up
11+
add_concurrent_index(TABLE_NAME, COLUMNS, name: INDEX_NAME)
12+
end
13+
14+
def down
15+
remove_concurrent_index_by_name(TABLE_NAME, INDEX_NAME)
16+
end
17+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# frozen_string_literal: true
2+
3+
class AddFkToCiBuildNeedsOnPartitionIdAndBuildId < Gitlab::Database::Migration[2.1]
4+
disable_ddl_transaction!
5+
6+
SOURCE_TABLE_NAME = :ci_build_needs
7+
TARGET_TABLE_NAME = :ci_builds
8+
COLUMN = :build_id
9+
TARGET_COLUMN = :id
10+
FK_NAME = :fk_rails_3cf221d4ed_p
11+
PARTITION_COLUMN = :partition_id
12+
13+
def up
14+
add_concurrent_foreign_key(
15+
SOURCE_TABLE_NAME,
16+
TARGET_TABLE_NAME,
17+
column: [PARTITION_COLUMN, COLUMN],
18+
target_column: [PARTITION_COLUMN, TARGET_COLUMN],
19+
validate: false,
20+
reverse_lock_order: true,
21+
on_update: :cascade,
22+
on_delete: :cascade,
23+
name: FK_NAME
24+
)
25+
end
26+
27+
def down
28+
with_lock_retries do
29+
remove_foreign_key_if_exists(
30+
SOURCE_TABLE_NAME,
31+
TARGET_TABLE_NAME,
32+
name: FK_NAME,
33+
reverse_lock_order: true
34+
)
35+
end
36+
end
37+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# frozen_string_literal: true
2+
3+
class FinalizeBackfillEnvironmentTierMigration < Gitlab::Database::Migration[2.1]
4+
MIGRATION = 'BackfillEnvironmentTiers'
5+
disable_ddl_transaction!
6+
7+
restrict_gitlab_migration gitlab_schema: :gitlab_main
8+
9+
def up
10+
ensure_batched_background_migration_is_finished(
11+
job_class_name: MIGRATION,
12+
table_name: :environments,
13+
column_name: :id,
14+
job_arguments: [],
15+
finalize: true
16+
)
17+
end
18+
19+
def down
20+
# no-op
21+
end
22+
end

db/schema_migrations/20230127164007

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9eeead7484119ca0a9764104856970e5d78d484f4616552f8535f1eb047f4ae7

db/schema_migrations/20230130103957

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
17e3e3236ba71778e86a4df672ba2b7080a127658792b60669738fdad4fe2f36

db/schema_migrations/20230130103958

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0678dd7f9e8ad7c7e5761b7b624340fdf7785688d41badfb4affc8a2e2181072

db/schema_migrations/20230131125844

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ccf6031d207b41bfacbd671b9e320e0929e43d5c62744df49b073f5ee6a90885

db/schema_migrations/20230201171450

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
c63f9cf6abb67b2d2623b662cd9dd7c9684a972c0aa89ea43f59e6196dacb249

db/structure.sql

+9
Original file line numberDiff line numberDiff line change
@@ -28624,6 +28624,8 @@ CREATE INDEX idx_packages_debian_group_component_files_on_architecture_id ON pac
2862428624

2862528625
CREATE INDEX idx_packages_debian_project_component_files_on_architecture_id ON packages_debian_project_component_files USING btree (architecture_id);
2862628626

28627+
CREATE INDEX idx_packages_on_project_id_name_id_version_when_installable_npm ON packages_packages USING btree (project_id, name, id, version) WHERE ((package_type = 2) AND (status = ANY (ARRAY[0, 1])));
28628+
2862728629
CREATE UNIQUE INDEX idx_packages_on_project_id_name_version_unique_when_generic ON packages_packages USING btree (project_id, name, version) WHERE ((package_type = 7) AND (status <> 4));
2862828630

2862928631
CREATE UNIQUE INDEX idx_packages_on_project_id_name_version_unique_when_golang ON packages_packages USING btree (project_id, name, version) WHERE ((package_type = 8) AND (status <> 4));
@@ -29002,6 +29004,8 @@ CREATE UNIQUE INDEX index_chat_teams_on_namespace_id ON chat_teams USING btree (
2900229004

2900329005
CREATE UNIQUE INDEX index_ci_build_needs_on_build_id_and_name ON ci_build_needs USING btree (build_id, name);
2900429006

29007+
CREATE INDEX index_ci_build_needs_on_partition_id_build_id ON ci_build_needs USING btree (partition_id, build_id);
29008+
2900529009
CREATE UNIQUE INDEX index_ci_build_pending_states_on_build_id ON ci_build_pending_states USING btree (build_id);
2900629010

2900729011
CREATE INDEX index_ci_build_pending_states_on_partition_id_build_id ON ci_build_pending_states USING btree (partition_id, build_id);
@@ -29900,6 +29904,8 @@ CREATE INDEX index_gitlab_subscriptions_on_max_seats_used_changed_at ON gitlab_s
2990029904

2990129905
CREATE UNIQUE INDEX index_gitlab_subscriptions_on_namespace_id ON gitlab_subscriptions USING btree (namespace_id);
2990229906

29907+
CREATE INDEX index_gitlab_subscriptions_on_trial_and_trial_starts_on ON gitlab_subscriptions USING btree (trial, trial_starts_on);
29908+
2990329909
CREATE UNIQUE INDEX index_gpg_key_subkeys_on_fingerprint ON gpg_key_subkeys USING btree (fingerprint);
2990429910

2990529911
CREATE INDEX index_gpg_key_subkeys_on_gpg_key_id ON gpg_key_subkeys USING btree (gpg_key_id);
@@ -34856,6 +34862,9 @@ ALTER TABLE ONLY chat_teams
3485634862
ALTER TABLE ONLY ci_build_needs
3485734863
ADD CONSTRAINT fk_rails_3cf221d4ed FOREIGN KEY (build_id) REFERENCES ci_builds(id) ON DELETE CASCADE;
3485834864

34865+
ALTER TABLE ONLY ci_build_needs
34866+
ADD CONSTRAINT fk_rails_3cf221d4ed_p FOREIGN KEY (partition_id, build_id) REFERENCES ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE NOT VALID;
34867+
3485934868
ALTER TABLE ONLY cluster_groups
3486034869
ADD CONSTRAINT fk_rails_3d28377556 FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE;
3486134870

doc/administration/geo/disaster_recovery/index.md

+11-12
Original file line numberDiff line numberDiff line change
@@ -479,25 +479,24 @@ changing Git remotes and API URLs.
479479
external_url 'https://<new_external_url>'
480480
```
481481
482-
If you provide GitLab with its certificate
483-
[manually](https://docs.gitlab.com/omnibus/settings/ssl/index.html#configure-https-manually),
484-
ensure:
482+
NOTE:
483+
Changing `external_url` does not prevent access via the old secondary URL, as
484+
long as the secondary DNS records are still intact.
485485
486-
- The new URL is one of the subject alternative names:
486+
1. Update the **secondary**'s SSL certificate:
487+
488+
- If you use the [Let's Encrypt integration](https://docs.gitlab.com/omnibus/settings/ssl/index.html#enable-the-lets-encrypt-integration),
489+
the certificate updates automatically.
490+
- If you had [manually set up](https://docs.gitlab.com/omnibus/settings/ssl/index.html#configure-https-manually),
491+
the **secondary**'s certificate, copy the certificate from the **primary** to the **secondary**.
492+
If you don't have access to the **primary**, issue a new certificate and make sure it contains
493+
both the **primary** and **secondary** URLs in the subject alternative names. You can check with:
487494
488495
```shell
489496
/opt/gitlab/embedded/bin/openssl x509 -noout -dates -subject -issuer \
490497
-nameopt multiline -ext subjectAltName -in /etc/gitlab/ssl/new-gitlab.new-example.com.crt
491498
```
492499
493-
- The certificate and key filenames match the new `external_url`,
494-
or those filenames are
495-
[specified in `/etc/gitlab/gitlab.rb`](https://docs.gitlab.com/omnibus/settings/ssl/index.html#change-the-default-ssl-certificate-location).
496-
497-
NOTE:
498-
Changing `external_url` does not prevent access via the old secondary URL, as
499-
long as the secondary DNS records are still intact.
500-
501500
1. Reconfigure the **secondary** site for the change to take effect:
502501
503502
```shell

doc/administration/load_balancer.md

+3
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ Configure DNS for an alternate SSH hostname such as `altssh.gitlab.example.com`.
115115

116116
It is strongly recommend that multi-node deployments configure load balancers to use the [readiness check](../user/admin_area/monitoring/health_check.md#readiness) to ensure a node is ready to accept traffic, before routing traffic to it. This is especially important when utilizing Puma, as there is a brief period during a restart where Puma doesn't accept requests.
117117

118+
WARNING:
119+
Using the `all=1` parameter with the readiness check in GitLab versions 15.4 to 15.8 may cause [increased Praefect memory usage](https://gitlab.com/gitlab-org/gitaly/-/issues/4751) and lead to memory errors.
120+
118121
## Troubleshooting
119122

120123
### The health check is returning a `408` HTTP code via the load balancer

doc/administration/object_storage.md

+5
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,11 @@ When this is used, GitLab fetches temporary credentials each time an
914914
S3 bucket is accessed, so no hard-coded values are needed in the
915915
configuration.
916916
917+
To use an Amazon instance profile, GitLab must be able to connect to the
918+
[instance metadata endpoint](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html).
919+
If GitLab is [configured to use an Internet proxy](https://docs.gitlab.com/omnibus/settings/environment-variables.html), the endpoint IP
920+
address must be added to the `no_proxy` list.
921+
917922
#### Encrypted S3 buckets
918923
919924
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/466) in GitLab 13.1 for instance profiles only and [S3 default encryption](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html).

doc/architecture/blueprints/work_items/index.md

+16
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,22 @@ All Work Item types share the same pool of predefined widgets and are customized
7070

7171
\* status is not currently a widget, but a part of the root work item, similar to title
7272

73+
### Work item relationships
74+
75+
Work items can be related to other work items in a number of different ways:
76+
77+
- Parent: A direct ancestor to the current work item, whose completion relies on completing this work item.
78+
- Child: A direct descendant of the current work item, which contributes to this work item's completion.
79+
- Blocked by: A work item preventing the completion of the current work item.
80+
- Blocks: A work item whose completion is blocked by the current work item.
81+
- Related: A work item that is relevant to the subject of the current work item, but does not directly contribute to or block the completion of this work item.
82+
83+
#### Hierarchy
84+
85+
Parent-child relationships form the basis of **hierarchy** in work items. Each work item type has a defined set of types that can be parents or children of that type.
86+
87+
As types expand, and parent items have their own parent items, the hierarchy capability can grow exponentially.
88+
7389
### Work Item view
7490

7591
The new frontend view that renders Work Items of any type using global Work Item `id` as an identifier.

doc/ci/cloud_services/aws/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ group: Pipeline Authoring
44
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
55
---
66

7-
# Configure OpenID Connect in AWS to retrieve temporary credentials
7+
# Configure OpenID Connect in AWS to retrieve temporary credentials **(FREE)**
88

99
In this tutorial, we'll show you how to use a GitLab CI/CD job with a JSON web token (JWT) to retrieve temporary credentials from AWS without needing to store secrets.
1010
To do this, you must configure OpenID Connect (OIDC) for ID federation between GitLab and AWS. For background and requirements for integrating GitLab using OIDC, see [Connect to cloud services](../index.md).

doc/ci/cloud_services/azure/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ group: Pipeline Authoring
44
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
55
---
66

7-
# Configure OpenID Connect in Azure to retrieve temporary credentials
7+
# Configure OpenID Connect in Azure to retrieve temporary credentials **(FREE)**
88

99
This tutorial demonstrates how to use a JSON web token (JWT) in a GitLab CI/CD job
1010
to retrieve temporary credentials from Azure without needing to store secrets.

doc/ci/cloud_services/google_cloud/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ group: Pipeline Authoring
44
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
55
---
66

7-
# Configure OpenID Connect with GCP Workload Identity Federation
7+
# Configure OpenID Connect with GCP Workload Identity Federation **(FREE)**
88

99
WARNING:
1010
The `CI_JOB_JWT_V2` variable is under development [(alpha)](../../../policy/alpha-beta-support.md#alpha-features) and is not yet suitable for production use.

0 commit comments

Comments
 (0)