Skip to content

Commit 84829ca

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 13bd14b commit 84829ca

33 files changed

+148
-3
lines changed

app/graphql/types/mutation_type.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,10 @@ class MutationType < BaseObject
192192
mount_mutation Mutations::Ci::Runner::Create, experiment: { milestone: '15.10' }
193193
mount_mutation Mutations::Ci::Runner::Delete
194194
mount_mutation Mutations::Ci::Runner::Update
195-
mount_mutation Mutations::Ci::RunnersRegistrationToken::Reset
195+
mount_mutation Mutations::Ci::RunnersRegistrationToken::Reset, deprecated: {
196+
reason: 'Underlying feature was deprecated in 15.6 and will be removed in 18.0',
197+
milestone: '17.7'
198+
}
196199
mount_mutation Mutations::Namespace::PackageSettings::Update
197200
mount_mutation Mutations::Groups::Update
198201
mount_mutation Mutations::UserCallouts::Create

data/deprecations/14-8-graphql-runner-active.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# The stage and GitLab username of the person reporting the change,
88
# and a link to the deprecation issue
99
reporter: pedropombeiro
10+
window: "3"
1011
stage: Verify
1112
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351109
1213
impact: low

data/deprecations/16-11-GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# The stage and GitLab username of the person reporting the change,
88
# and a link to the deprecation issue
99
reporter: pedropombeiro
10+
window: "2"
1011
stage: Verify
1112
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/453949
1213
impact: medium
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
- title: "RunnersRegistrationTokenReset GraphQL mutation is deprecated"
2+
# The milestones for the deprecation announcement, and the removal.
3+
removal_milestone: "18.0"
4+
announcement_milestone: "17.7"
5+
breaking_change: true
6+
window: "2"
7+
reporter: pedropombeiro
8+
stage: Verify
9+
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/505703
10+
# Use the impact calculator https://gitlab-com.gitlab.io/gl-infra/breaking-change-impact-calculator/?
11+
impact: high
12+
scope: instance, group, project
13+
resolution_role: Admin
14+
manual_task: true
15+
body: | # (required) Don't change this line.
16+
The support for runner registration tokens is deprecated. Consequently, the support for resetting a registration token has also been deprecated
17+
and will be removed in GitLab 18.0.
18+
19+
A new method to bind runners to a GitLab instance has been implemented
20+
as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html).
21+
For details, see [epic 7633](https://gitlab.com/groups/gitlab-org/-/epics/7633).
22+
This new architecture introduces a new method for registering runners and eliminates the legacy
23+
[runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens).
24+
In GitLab 18.0, only the runner registration methods implemented in the new GitLab Runner token architecture will be supported.
25+
#
26+
# When support for this feature ends, in XX.YY milestone format.
27+
end_of_support_milestone:
28+
# Array of tiers the feature is currently available to,
29+
# like [Free, Silver, Gold, Core, Premium, Ultimate]
30+
tiers:
31+
# Links to documentation and thumbnail image
32+
documentation_url: https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner # (optional) This is a link to the current documentation page
33+
image_url:
34+
# Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
35+
video_url:
Loading
Loading
Loading

doc/api/graphql/reference/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8376,8 +8376,10 @@ Input type: `ProjectSecretCreateInput`
83768376

83778377
| Name | Type | Description |
83788378
| ---- | ---- | ----------- |
8379+
| <a id="mutationprojectsecretcreatebranch"></a>`branch` | [`String!`](#string) | Branches that can access the secret. |
83798380
| <a id="mutationprojectsecretcreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
83808381
| <a id="mutationprojectsecretcreatedescription"></a>`description` | [`String`](#string) | Description of the project secret. |
8382+
| <a id="mutationprojectsecretcreateenvironment"></a>`environment` | [`String!`](#string) | Environments that can access the secret. |
83818383
| <a id="mutationprojectsecretcreatename"></a>`name` | [`String!`](#string) | Name of the project secret. |
83828384
| <a id="mutationprojectsecretcreateprojectpath"></a>`projectPath` | [`ID!`](#id) | Project of the secret. |
83838385
| <a id="mutationprojectsecretcreatevalue"></a>`value` | [`String!`](#string) | Value of the project secret. |
@@ -9150,6 +9152,10 @@ Input type: `RunnersExportUsageInput`
91509152

91519153
### `Mutation.runnersRegistrationTokenReset`
91529154

9155+
DETAILS:
9156+
**Deprecated** in GitLab 17.7.
9157+
Underlying feature was deprecated in 15.6 and will be removed in 18.0.
9158+
91539159
Input type: `RunnersRegistrationTokenResetInput`
91549160

91559161
#### Arguments
@@ -33339,7 +33345,9 @@ Representation of a project secret.
3333933345

3334033346
| Name | Type | Description |
3334133347
| ---- | ---- | ----------- |
33348+
| <a id="projectsecretbranch"></a>`branch` | [`String!`](#string) | Branches that can access the secret. |
3334233349
| <a id="projectsecretdescription"></a>`description` | [`String!`](#string) | Description of the project secret. |
33350+
| <a id="projectsecretenvironment"></a>`environment` | [`String!`](#string) | Environments that can access the secret. |
3334333351
| <a id="projectsecretname"></a>`name` | [`String!`](#string) | Name of the project secret. |
3334433352
| <a id="projectsecretproject"></a>`project` | [`Project!`](#project) | Project the secret belong to. |
3334533353

-40.7 KB
Loading
-90.9 KB
Loading
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
stage: Data Access
3+
group: Database Frameworks
4+
info: Any user with at least the Maintainer role can merge updates to this content.
5+
---
6+
7+
# Large tables limitations
8+
9+
GitLab implements some limitations on large database tables to improve manageability for both GitLab and its customers. The list of tables subject to these limitations is defined in [`rubocop/rubocop-migrations.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/rubocop/rubocop-migrations.yml).
10+
11+
## Table size restrictions
12+
13+
The following limitations apply to table modifications on GitLab.com:
14+
15+
| Action | Maximum size (including indexes) |
16+
| ------ | ------------------------------- |
17+
| Add an index | 50 GB |
18+
| Add a column with foreign key | 50 GB |
19+
| Add a new column | 100 GB |
20+
21+
These limitations align with our goal to maintain [all tables under 100 GB](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/database_size_limits/) for improved [stability and performance](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/database_size_limits/#motivation-gitlabcom-stability-and-performance).
22+
23+
## Exceptions
24+
25+
Exceptions to these size limitations should only granted for the following cases:
26+
27+
- Migrate a table's columns from `int4` to `int8`
28+
- Add a sharding key to support cells
29+
- Modify a table to assist in partitioning or data retention efforts
30+
- Replace an existing index to provide better query performance
31+
32+
## Alternatives to table modifications
33+
34+
Consider these alternatives when working with large tables:
35+
36+
1. Creates a separate table for new columns, especially if the column is not present in all rows. The new table references the original table through a foreign key.
37+
1. Work with the Global Search team to add your data to Elasticsearch for enhanced filter/search functionality.
38+
1. Simplify filtering/sorting options (for example, use `id` instead of `created_at` for sorting).
39+
40+
## Benefits of table size limitations
41+
42+
Table size limitations provide several advantages:
43+
44+
- Enable separate vacuum operations with different frequencies
45+
- Generate less Write-Ahead Log (WAL) data for column updates
46+
- Prevent unnecessary data copying during row updates
47+
48+
For more information about data model trade-offs, see the [database documentation](layout_and_access_patterns.md#data-model-trade-offs).
49+
50+
## Using `has_one` relationships
51+
52+
When a table becomes too large for new columns, create a new table with a `has_one` relation. For example, in [merge request !170371](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/170371), we track the total weight count of an issue in a separate table.
53+
54+
Benefits of this approach:
55+
56+
1. Keeps the main table narrower, reducing data load from PostgreSQL
57+
1. Creates an efficient narrow table for specific queries
58+
1. Allows selective population of the new table as needed
59+
60+
This approach is particularly effective when:
61+
62+
- The new column applies to a subset of the main table
63+
- Only specific queries need the new data
64+
65+
## Related links
66+
67+
- [Database size limits](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/database_size_limits/#solutions)
68+
- [Adding database indexes](adding_database_indexes.md)
69+
- [Database layout and access patterns](layout_and_access_patterns.md#data-model-trade-offs)

doc/development/documentation/styleguide/availability_details.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ For features introduced behind feature flags, add details about the feature flag
156156
Remove history items and inline text that refer to unsupported versions.
157157

158158
GitLab supports the current major version and two previous major versions.
159-
For example, if 16.0 is the current major version, all major and minor releases of
160-
GitLab 16.0, 15.0, and 14.0 are supported.
159+
For example, if 17.0 is the current major version, all major and minor releases of
160+
GitLab 17.0, 16.0, and 15.0 are supported.
161161

162162
For the list of current supported versions, see [Version support](https://about.gitlab.com/support/statement-of-support/#version-support).
163163

Loading
Loading
Loading
-162 KB
Loading
Loading
Loading
Loading

doc/development/migration_style_guide.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ includes the timing information for migrations.
112112
| Post-deployment migrations | `<= 10 minutes` | A valid exception are schema changes, since they must not happen in background migrations. |
113113
| Background migrations | `> 10 minutes` | Since these are suitable for larger tables, it's not possible to set a precise timing guideline, however, any single query must stay below [`1 second` execution time](database/query_performance.md#timing-guidelines-for-queries) with cold caches. |
114114

115+
## Large Tables Limitations
116+
117+
For tables exceeding size thresholds, read our [large tables limitations](database/large_tables_limitations.md) before adding new columns or indexes.
118+
115119
## Decide which database to target
116120

117121
GitLab connects to two different Postgres databases: `main` and `ci`. This split can affect migrations
Loading
-40.2 KB
Loading
Loading

doc/update/deprecations.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,30 @@ Occurrences of the `active` identifier in the GitLab GraphQL API endpoints will
901901

902902
<div class="deprecation breaking-change" data-milestone="18.0">
903903

904+
### RunnersRegistrationTokenReset GraphQL mutation is deprecated
905+
906+
<div class="deprecation-notes">
907+
908+
- Announced in GitLab <span class="milestone">17.7</span>
909+
- Removal in GitLab <span class="milestone">18.0</span> ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
910+
- To discuss this change or learn more, see the [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/505703).
911+
912+
</div>
913+
914+
The support for runner registration tokens is deprecated. Consequently, the support for resetting a registration token has also been deprecated
915+
and will be removed in GitLab 18.0.
916+
917+
A new method to bind runners to a GitLab instance has been implemented
918+
as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html).
919+
For details, see [epic 7633](https://gitlab.com/groups/gitlab-org/-/epics/7633).
920+
This new architecture introduces a new method for registering runners and eliminates the legacy
921+
[runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens).
922+
In GitLab 18.0, only the runner registration methods implemented in the new GitLab Runner token architecture will be supported.
923+
924+
</div>
925+
926+
<div class="deprecation breaking-change" data-milestone="18.0">
927+
904928
### Slack notifications integration
905929

906930
<div class="deprecation-notes">
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)