Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
b51258eac2
commit
0daaf2c2ba
|
|
@ -454,7 +454,7 @@ That's all of the required database changes.
|
|||
```
|
||||
|
||||
- [ ] Update `REGISTRY_CLASSES` in `ee/app/workers/geo/secondary/registry_consistency_worker.rb`.
|
||||
- [ ] Update `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`.
|
||||
- [ ] Add a custom factory name if needed in `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`.
|
||||
- [ ] Update `it 'creates missing registries for each registry class'` in `ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb`.
|
||||
- [ ] Add `cool_widget_registry` to `ActiveSupport::Inflector.inflections` in `config/initializers_before_autoloader/000_inflections.rb`.
|
||||
- [ ] Create `ee/spec/factories/geo/cool_widget_registry.rb`:
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ That's all of the required database changes.
|
|||
```
|
||||
|
||||
- [ ] Update `REGISTRY_CLASSES` in `ee/app/workers/geo/secondary/registry_consistency_worker.rb`.
|
||||
- [ ] Update `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`.
|
||||
- [ ] Add a custom factory name if needed in `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`.
|
||||
- [ ] Update `it 'creates missing registries for each registry class'` in `ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb`.
|
||||
- [ ] Add `cool_widget_registry` to `ActiveSupport::Inflector.inflections` in `config/initializers_before_autoloader/000_inflections.rb`.
|
||||
- [ ] Create `ee/spec/factories/geo/cool_widget_registry.rb`:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
name: debian_packages
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42670
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/5835
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/337288
|
||||
milestone: '13.5'
|
||||
type: development
|
||||
group: group::package
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/333034
|
|||
milestone: '14.0'
|
||||
type: development
|
||||
group: group::gitaly
|
||||
default_enabled: false
|
||||
default_enabled: true
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ On the **secondary** node:
|
|||
objects aren't yet replicated (shown in gray), consider giving the node more
|
||||
time to complete
|
||||
|
||||

|
||||

|
||||
|
||||
If any objects are failing to replicate, this should be investigated before
|
||||
scheduling the maintenance window. Following a planned failover, anything that
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ On the **secondary** node:
|
|||
objects aren't yet replicated (shown in gray), consider giving the node more
|
||||
time to complete.
|
||||
|
||||

|
||||

|
||||
|
||||
If any objects are failing to replicate, this should be investigated before
|
||||
scheduling the maintenance window. After a planned failover, anything that
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ and there should be no failures (shown in red). If a large proportion of
|
|||
objects aren't yet replicated (shown in gray), consider giving the node more
|
||||
time to complete.
|
||||
|
||||

|
||||

|
||||
|
||||
If any objects are failing to replicate, this should be investigated before
|
||||
scheduling the maintenance window. After a planned failover, anything that
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ keys must be manually replicated to the **secondary** site.
|
|||
1. On the top bar, select **Menu >** **{admin}** **Admin**.
|
||||
1. On the left sidebar, select **Geo > Sites**.
|
||||
1. Select **New site**.
|
||||

|
||||

|
||||
1. Fill in **Name** with the `gitlab_rails['geo_node_name']` in
|
||||
`/etc/gitlab/gitlab.rb`. These values must always match *exactly*, character
|
||||
for character.
|
||||
|
|
@ -276,7 +276,7 @@ The initial replication, or 'backfill', is probably still in progress. You
|
|||
can monitor the synchronization process on each Geo site from the **primary**
|
||||
site's **Geo Sites** dashboard in your browser.
|
||||
|
||||

|
||||

|
||||
|
||||
If your installation isn't working properly, check the
|
||||
[troubleshooting document](troubleshooting.md).
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ verification methods:
|
|||
| Blobs | Container registry _(file system)_ | Geo with API/Docker API | _Not implemented_ |
|
||||
| Blobs | Container registry _(object storage)_ | Geo with API/Managed/Docker API (*2*) | _Not implemented_ |
|
||||
| Blobs | Package registry _(file system)_ | Geo with API | SHA256 checksum |
|
||||
| Blobs | Package registry _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
|
||||
| Blobs | Versioned Terraform State _(file system)_ | Geo with API | SHA256 checksum |
|
||||
| Blobs | Package registry _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
|
||||
| Blobs | Versioned Terraform State _(file system)_ | Geo with API | SHA256 checksum |
|
||||
| Blobs | Versioned Terraform State _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
|
||||
| Blobs | External Merge Request Diffs _(file system)_ | Geo with API | _Not implemented_ |
|
||||
| Blobs | External Merge Request Diffs _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ |
|
||||
|
|
@ -200,7 +200,7 @@ successfully, you must replicate their data using some other means.
|
|||
|[Package Registry for generic packages](../../../user/packages/generic_packages/index.md) | **Yes** (13.5) | [**Yes**](#limitation-of-verification-for-files-in-object-storage) (13.10) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default. |
|
||||
|[Versioned Terraform State](../../terraform_state.md) | **Yes** (13.5) | [**Yes**](#limitation-of-verification-for-files-in-object-storage) (13.12) | Via Object Storage provider if supported. Native Geo support (Beta). | Replication is behind the feature flag `geo_terraform_state_version_replication`, enabled by default. Verification was behind the feature flag `geo_terraform_state_version_verification`, which was removed in 14.0|
|
||||
|[External merge request diffs](../../merge_request_diffs.md) | **Yes** (13.5) | No | Via Object Storage provider if supported. Native Geo support (Beta). | Replication is behind the feature flag `geo_merge_request_diff_replication`, enabled by default. Verification is under development, behind the feature flag `geo_merge_request_diff_verification`, introduced in 14.0.|
|
||||
|[Versioned snippets](../../../user/snippets.md#versioned-snippets) | [**Yes** (13.7)](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [No](https://gitlab.com/groups/gitlab-org/-/epics/2810) | No | |
|
||||
|[Versioned snippets](../../../user/snippets.md#versioned-snippets) | [**Yes** (13.7)](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [**Yes**](https://gitlab.com/groups/gitlab-org/-/epics/2810) | No | Verification was implemented behind the feature flag `geo_snippet_repository_verification` in 13.11, and the feature flag was removed in 14.2. |
|
||||
|[Server-side Git hooks](../../server_hooks.md) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | No | |
|
||||
|[Elasticsearch integration](../../../integration/elasticsearch.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | |
|
||||
|[GitLab Pages](../../pages/index.md) | [No](https://gitlab.com/groups/gitlab-org/-/epics/589) | No | Via Object Storage provider if supported. **No** native Geo support (Beta). | |
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
|
@ -39,7 +39,7 @@ to help identify if something is wrong:
|
|||
- Is the node's secondary tracking database connected?
|
||||
- Is the node's secondary tracking database up-to-date?
|
||||
|
||||

|
||||

|
||||
|
||||
For information on how to resolve common errors reported from the UI, see
|
||||
[Fixing Common Errors](#fixing-common-errors).
|
||||
|
|
|
|||
|
|
@ -568,12 +568,12 @@ in the second step, do not supply the `EXTERNAL_URL` value.
|
|||
|
||||
# Sets `max_replication_slots` to double the number of database nodes.
|
||||
# Patroni uses one extra slot per node when initiating the replication.
|
||||
patroni['postgresql']['max_replication_slots'] = 8
|
||||
patroni['postgresql']['max_replication_slots'] = 6
|
||||
|
||||
# Set `max_wal_senders` to one more than the number of replication slots in the cluster.
|
||||
# This is used to prevent replication from using up all of the
|
||||
# available database connections.
|
||||
patroni['postgresql']['max_wal_senders'] = 9
|
||||
patroni['postgresql']['max_wal_senders'] = 7
|
||||
|
||||
# Incoming recommended value for max connections is 500. See https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5691.
|
||||
patroni['postgresql']['max_connections'] = 500
|
||||
|
|
|
|||
|
|
@ -570,12 +570,12 @@ in the second step, do not supply the `EXTERNAL_URL` value.
|
|||
|
||||
# Sets `max_replication_slots` to double the number of database nodes.
|
||||
# Patroni uses one extra slot per node when initiating the replication.
|
||||
patroni['postgresql']['max_replication_slots'] = 8
|
||||
patroni['postgresql']['max_replication_slots'] = 6
|
||||
|
||||
# Set `max_wal_senders` to one more than the number of replication slots in the cluster.
|
||||
# This is used to prevent replication from using up all of the
|
||||
# available database connections.
|
||||
patroni['postgresql']['max_wal_senders'] = 9
|
||||
patroni['postgresql']['max_wal_senders'] = 7
|
||||
|
||||
# Incoming recommended value for max connections is 500. See https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5691.
|
||||
patroni['postgresql']['max_connections'] = 500
|
||||
|
|
|
|||
|
|
@ -577,12 +577,12 @@ in the second step, do not supply the `EXTERNAL_URL` value.
|
|||
|
||||
# Sets `max_replication_slots` to double the number of database nodes.
|
||||
# Patroni uses one extra slot per node when initiating the replication.
|
||||
patroni['postgresql']['max_replication_slots'] = 8
|
||||
patroni['postgresql']['max_replication_slots'] = 6
|
||||
|
||||
# Set `max_wal_senders` to one more than the number of replication slots in the cluster.
|
||||
# This is used to prevent replication from using up all of the
|
||||
# available database connections.
|
||||
patroni['postgresql']['max_wal_senders'] = 9
|
||||
patroni['postgresql']['max_wal_senders'] = 7
|
||||
|
||||
# Incoming recommended value for max connections is 500. See https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5691.
|
||||
patroni['postgresql']['max_connections'] = 500
|
||||
|
|
|
|||
|
|
@ -841,12 +841,12 @@ in the second step, do not supply the `EXTERNAL_URL` value.
|
|||
|
||||
# Sets `max_replication_slots` to double the number of database nodes.
|
||||
# Patroni uses one extra slot per node when initiating the replication.
|
||||
patroni['postgresql']['max_replication_slots'] = 8
|
||||
patroni['postgresql']['max_replication_slots'] = 6
|
||||
|
||||
# Set `max_wal_senders` to one more than the number of replication slots in the cluster.
|
||||
# This is used to prevent replication from using up all of the
|
||||
# available database connections.
|
||||
patroni['postgresql']['max_wal_senders'] = 9
|
||||
patroni['postgresql']['max_wal_senders'] = 7
|
||||
|
||||
# Incoming recommended value for max connections is 500. See https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5691.
|
||||
patroni['postgresql']['max_connections'] = 500
|
||||
|
|
|
|||
|
|
@ -259,3 +259,27 @@ job1:
|
|||
- echo 'this line should be hidden automatically after loading the job log'
|
||||
- echo -e "\e[0Ksection_end:`date +%s`:my_first_section\r\e[0K"
|
||||
```
|
||||
|
||||
## Deployment jobs
|
||||
|
||||
Deployment jobs are a specific kind of CI job in that they deploy code to
|
||||
[environments](../environments/index.md). A deployment job is any job that
|
||||
uses the `environment` keyword and the [`start` environment `action`](../yaml/index.md#environmentaction).
|
||||
Deployment jobs do not need to be in the `deploy` stage. The following `deploy me`
|
||||
job is an example of a deployment job. `action: start` is the default behavior and
|
||||
is defined for the sake of the example, but you can omit it:
|
||||
|
||||
```yaml
|
||||
deploy me:
|
||||
script:
|
||||
- deploy-to-cats.sh
|
||||
environment:
|
||||
name: production
|
||||
url: https://cats.example.com
|
||||
action: start
|
||||
```
|
||||
|
||||
The behavior of deployment jobs can be controlled with
|
||||
[deployment safety](../environments/deployment_safety.md) settings like
|
||||
[skipping outdated deployment jobs](../environments/deployment_safety.md#prevent-deployments-during-deploy-freeze-windows)
|
||||
and [ensuring only one deployment job runs at a time](../environments/deployment_safety.md#ensure-only-one-deployment-job-runs-at-a-time).
|
||||
|
|
|
|||
|
|
@ -1472,3 +1472,47 @@ If this happens, examine the following:
|
|||
- Confirm there is sufficient disk space for the Gzip operation.
|
||||
- If NFS is being used, check if the mount option `timeout` is set. The
|
||||
default is `600`, and changing this to smaller values results in this error.
|
||||
|
||||
### `gitaly-backup` for repository backup and restore **(FREE SELF)**
|
||||
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/333034) in GitLab 14.2.
|
||||
> - [Deployed behind a feature flag](../user/feature_flags.md), enabled by default.
|
||||
> - Recommended for production use.
|
||||
> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#disable-or-enable-gitaly-backup).
|
||||
|
||||
There can be
|
||||
[risks when disabling released features](../user/feature_flags.md#risks-when-disabling-released-features).
|
||||
Refer to this feature's version history for more details.
|
||||
|
||||
`gitaly-backup` is used by the backup Rake task to create and restore repository backups from Gitaly.
|
||||
`gitaly-backup` replaces the previous backup method that directly calls RPCs on Gitaly from GitLab.
|
||||
|
||||
The backup Rake task must be able to find this executable. It can be configured in Omnibus GitLab packages:
|
||||
|
||||
1. Add the following to `/etc/gitlab/gitlab.rb`:
|
||||
|
||||
```ruby
|
||||
gitlab_rails['backup_gitaly_backup_path'] = '/path/to/gitaly-backup'
|
||||
```
|
||||
|
||||
1. [Reconfigure GitLab](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure)
|
||||
for the changes to take effect
|
||||
|
||||
#### Disable or enable `gitaly-backup`
|
||||
|
||||
`gitaly-backup` is under development but ready for production use.
|
||||
It is deployed behind a feature flag that is **enabled by default**.
|
||||
[GitLab administrators with access to the GitLab Rails console](../administration/feature_flags.md)
|
||||
can opt to disable it.
|
||||
|
||||
To disable it:
|
||||
|
||||
```ruby
|
||||
Feature.disable(:gitaly_backup)
|
||||
```
|
||||
|
||||
To enable it:
|
||||
|
||||
```ruby
|
||||
Feature.enable(:gitaly_backup)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ release tag. When the `released_at` date and time has passed, the badge is autom
|
|||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26016) in GitLab 12.6. Asset link editing was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9427) in GitLab 12.10.
|
||||
|
||||
Only users with at least the Developer can edit releases.
|
||||
Only users with at least the Developer role can edit releases.
|
||||
Read more about [Release permissions](#release-permissions).
|
||||
|
||||
To edit the details of a release:
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ namespace :gitlab do
|
|||
end
|
||||
|
||||
def repository_backup_strategy
|
||||
if Feature.enabled?(:gitaly_backup)
|
||||
if Feature.enabled?(:gitaly_backup, default_enabled: :yaml)
|
||||
max_concurrency = ENV['GITLAB_BACKUP_MAX_CONCURRENCY'].presence
|
||||
max_storage_concurrency = ENV['GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY'].presence
|
||||
Backup::GitalyBackup.new(progress, parallel: max_concurrency, parallel_storage: max_storage_concurrency)
|
||||
|
|
|
|||
Loading…
Reference in New Issue