Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
b91ad674ec
commit
1224c67607
|
|
@ -147,3 +147,19 @@ export const generateHelpTextWithLinks = (error) => {
|
|||
const links = generateLinks(error.links);
|
||||
return sprintf(error.message, links, false);
|
||||
};
|
||||
|
||||
/**
|
||||
* Receives an error code and an error dictionary and returns true
|
||||
* if the error code is found in the dictionary and false otherwise.
|
||||
*
|
||||
* @param {String} errorCode
|
||||
* @param {Object} errorDictionary
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
export const isKnownErrorCode = (errorCode, errorDictionary) => {
|
||||
if (errorCode instanceof String || typeof errorCode === 'string') {
|
||||
return Object.keys(errorDictionary).includes(errorCode.toLowerCase());
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ identifiers:
|
|||
- namespace
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
milestone: "15.3"
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93468
|
||||
distributions:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: counts.projects_phorge_active
|
|||
description: Count of groups with active integrations for Phorge
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.11"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: counts.projects_inheriting_phorge_active
|
|||
description: Count of active projects inheriting integrations for Phorge
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.11"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: counts.instances_phorge_active
|
|||
description: Count of active instance-level integrations for Phorge
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.11"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: counts.groups_phorge_active
|
|||
description: Count of groups with active integrations for Phorge
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.11"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ key_path: counts.groups_inheriting_phorge_active
|
|||
description: Count of active groups inheriting integrations for Phorge
|
||||
product_section: dev
|
||||
product_stage: manage
|
||||
product_group: integrations
|
||||
product_group: import_and_integrate
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: "16.11"
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
]
|
||||
},
|
||||
"product_group": {
|
||||
"type": "string"
|
||||
"$ref": "product_groups.json"
|
||||
},
|
||||
"value_type": {
|
||||
"type": "string",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
{
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"5-min-app",
|
||||
"acquisition",
|
||||
"activation",
|
||||
"ai_framework",
|
||||
"ai_model_validation",
|
||||
"analytics_instrumentation",
|
||||
"anti-abuse",
|
||||
"authentication",
|
||||
"authorization",
|
||||
"cloud_connector",
|
||||
"code_creation",
|
||||
"code_review",
|
||||
"compliance",
|
||||
"composition_analysis",
|
||||
"container_registry",
|
||||
"contributor_success",
|
||||
"custom_models",
|
||||
"database",
|
||||
"dataops",
|
||||
"dedicated",
|
||||
"delivery",
|
||||
"distribution_build",
|
||||
"distribution_deploy",
|
||||
"duo_chat",
|
||||
"dynamic_analysis",
|
||||
"editor_extensions",
|
||||
"engineering_analytics",
|
||||
"engineering_productivity",
|
||||
"environments",
|
||||
"foundations",
|
||||
"fulfillment_platform",
|
||||
"gdk",
|
||||
"geo",
|
||||
"gitaly_cluster",
|
||||
"gitaly_git",
|
||||
"global_search",
|
||||
"hosted_runners",
|
||||
"ide",
|
||||
"import_and_integrate",
|
||||
"infrastructure",
|
||||
"knowledge",
|
||||
"mlops",
|
||||
"mobile_devops",
|
||||
"observability",
|
||||
"optimize",
|
||||
"package_registry",
|
||||
"pipeline_authoring",
|
||||
"pipeline_execution",
|
||||
"pipeline_security",
|
||||
"product_analytics",
|
||||
"product_planning",
|
||||
"project_management",
|
||||
"provision",
|
||||
"pubsec_services",
|
||||
"quality",
|
||||
"respond",
|
||||
"runner",
|
||||
"scalability",
|
||||
"secret_detection",
|
||||
"security_policies",
|
||||
"source_code",
|
||||
"static_analysis",
|
||||
"subscription_management",
|
||||
"switchboard",
|
||||
"technical_writing",
|
||||
"tenant_scale",
|
||||
"threat_insights",
|
||||
"utilization",
|
||||
"ux_paper_cuts",
|
||||
"vulnerability_research"
|
||||
]
|
||||
}
|
||||
|
|
@ -44,6 +44,7 @@ classes:
|
|||
- Integrations::MockCi
|
||||
- Integrations::MockMonitoring
|
||||
- Integrations::Packagist
|
||||
- Integrations::Phorge
|
||||
- Integrations::PipelinesEmail
|
||||
- Integrations::Pivotaltracker
|
||||
- Integrations::Prometheus
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#
|
||||
# For a list of all options, see https://vale.sh/docs/topics/styles/
|
||||
extends: existence
|
||||
message: "Remove the extra space: '%s'"
|
||||
message: "Use exactly one space between sentences and clauses. Check '%s' for spacing problems."
|
||||
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
|
||||
level: error
|
||||
nonword: true
|
||||
|
|
|
|||
|
|
@ -866,7 +866,7 @@ For self-compiled installations:
|
|||
# Turns on AWS Server-Side Encryption with Amazon Customer-Provided Encryption Keys for backups, this is optional
|
||||
# 'encryption' must be set in order for this to have any effect.
|
||||
# 'encryption_key' should be set to the 256-bit encryption key for Amazon S3 to use to encrypt or decrypt.
|
||||
# To avoid storing the key on disk, the key can also be specified via the `GITLAB_BACKUP_ENCRYPTION_KEY` your data.
|
||||
# To avoid storing the key on disk, the key can also be specified via the `GITLAB_BACKUP_ENCRYPTION_KEY` your data.
|
||||
# encryption: 'AES256'
|
||||
# encryption_key: '<key>'
|
||||
#
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ sudo gitlab-rake gitlab:geo:check
|
|||
```
|
||||
|
||||
Verify the correct password is set for `gitlab_rails['db_password']` that was
|
||||
used when creating the hash in `postgresql['sql_user_password']` by running
|
||||
used when creating the hash in `postgresql['sql_user_password']` by running
|
||||
`gitlab-ctl pg-password-md5 gitlab` and entering the password.
|
||||
|
||||
- Check returns `not a secondary node`.
|
||||
|
|
|
|||
|
|
@ -97,6 +97,6 @@ the feature continues working the same way as if you had `gitlab_rails['better_c
|
|||
However, setting the old version of the configuration prints out a deprecation
|
||||
notice at the end of installation/upgrade/reconfigure run.
|
||||
|
||||
In GitLab 11, `gitlab_rails['configuration'] = true` no longer works and you must manually change the configuration in `/etc/gitlab/gitlab.rb` to the new valid configuration.
|
||||
In GitLab 11, `gitlab_rails['configuration'] = true` no longer works and you must manually change the configuration in `/etc/gitlab/gitlab.rb` to the new valid configuration.
|
||||
**Note** If this configuration option is sensitive and can put integrity of the installation or
|
||||
data in danger,the installation or upgrade is aborted.
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ sourced from the [`doc` directory](https://gitlab.com/gitlab-org/gitlab/-/tree/m
|
|||
When redirecting `/help`, GitLab:
|
||||
|
||||
- Redirects requests to the specified URL.
|
||||
- Appends `ee` and the documentation path, which includes the version number, to the URL.
|
||||
- Appends `ee` and the documentation path, which includes the version number, to the URL.
|
||||
- Appends `.html` to the URL, and removes `.md` if necessary.
|
||||
|
||||
For example, if the URL is set to `https://docs.gitlab.com`, requests for
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ GitLab. For example:
|
|||
- Erase `Gitlab-Bypass-Rate-Limiting`.
|
||||
- Set `Gitlab-Bypass-Rate-Limiting` to a value other than `1` on all requests that
|
||||
should be affected by rate limiting.
|
||||
1. Set the environment variable `GITLAB_THROTTLE_BYPASS_HEADER`.
|
||||
1. Set the environment variable `GITLAB_THROTTLE_BYPASS_HEADER`.
|
||||
- For [Linux package installations](https://docs.gitlab.com/omnibus/settings/environment-variables.html),
|
||||
set `'GITLAB_THROTTLE_BYPASS_HEADER' => 'Gitlab-Bypass-Rate-Limiting'` in `gitlab_rails['env']`.
|
||||
- For self-compiled installations, set `export GITLAB_THROTTLE_BYPASS_HEADER=Gitlab-Bypass-Rate-Limiting`
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ Auto-deploy shall continue to work as it does today as our Primary Cell is equiv
|
|||
- Ring 1 contains main stage of the .com infra - this is the cut off for release tools
|
||||
- All cells will deploy the same way; this eliminates needing to deal with differing deployment technologies
|
||||
- `release-tools` will interact with the Coordinator to pilot the deployments to Ring 0 as part of its coordinator pipeline
|
||||
- Release-tools must be able to `graduate` a package:
|
||||
- Release-tools must be able to `graduate` a package:
|
||||
- A `graduate` version of GitLab is any `auto-deploy` version which has a successful deploy onto the Main Stage of Production and the [Post Deploy Migration (PDM)](https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/post_deploy_migration/readme.md) has completed.
|
||||
- This could mean we expect to see a single package deploy each day to our Secondary Cells. Currently, the PDM is only run 1 time per day. Note that there are exceptions to this rule.
|
||||
- This will enable us to use our existing procedures to remediate high severity incidents where application code may be at fault.
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ standard for database related code contributions.
|
|||
## Opportunity
|
||||
|
||||
- Automated test suites already generate a large number of SQL queries, for
|
||||
instance `rspec` test suites, that can be captured and used to perform
|
||||
instance `rspec` test suites, that can be captured and used to perform
|
||||
automated analysis.
|
||||
- We already utilize `postgres.ai` to analyze query performance, and it has an
|
||||
API that will allow us to automate the creation of database clones with
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ We should then schedule `mail_room` for removal (GitLab 17.0 or later). This wil
|
|||
|
||||
### Do nothing
|
||||
|
||||
The current setup limits us and only allows to fetch two email addresses. To publish Service Desk custom email addresses with IMAP or API integration we would need to deliver the same architecture as described above. Because of that we should act now and include general email ingestion for `incoming_email` and `service_desk_email` first and remove the infrastructure overhead.
|
||||
The current setup limits us and only allows to fetch two email addresses. To publish Service Desk custom email addresses with IMAP or API integration we would need to deliver the same architecture as described above. Because of that we should act now and include general email ingestion for `incoming_email` and `service_desk_email` first and remove the infrastructure overhead.
|
||||
|
||||
## Additional resources
|
||||
|
||||
|
|
|
|||
|
|
@ -229,13 +229,11 @@ Certain tables can be exempted from having sharding keys by adding
|
|||
exempt_from_sharding: true
|
||||
```
|
||||
|
||||
to the table's database dictionary file. This is currently the case for tables that do not contain any data for the
|
||||
`.com` database, like
|
||||
to the table's database dictionary file. This can be used for:
|
||||
|
||||
- JiHu specific tables
|
||||
- tables that are marked to be dropped soon, like `operations_feature_flag_scopes`
|
||||
|
||||
This was implemented in [!145905](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/145905).
|
||||
- JiHu specific tables, since they do not have any data on the .com database. [!145905](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/145905)
|
||||
- tables that are marked to be dropped soon, like `operations_feature_flag_scopes`. [!147541](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/147541)
|
||||
- tables that mandatorily need to be present per cell to support a cell's operations, have unique data per cell, but cannot have a sharding key defined. For example, `zoekt_nodes`.
|
||||
|
||||
When tables are exempted from sharding key requirements, they also do not show up in our [progress dashboard](https://cells-progress-tracker-gitlab-org-tenant-scale-g-f4ad96bf01d25f.gitlab.io/sharding_keys).
|
||||
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ Include in the MR description:
|
|||
|
||||
#### Preparation when using bulk update operations
|
||||
|
||||
Using `update`, `upsert`, `delete`, `update_all`, `upsert_all`, `delete_all` or `destroy_all`
|
||||
Using `update`, `upsert`, `delete`, `update_all`, `upsert_all`, `delete_all` or `destroy_all`
|
||||
ActiveRecord methods requires extra care because they modify data and can perform poorly, or they
|
||||
can destroy data if improperly scoped. These methods are also
|
||||
[incompatible with Common Table Expression (CTE) statements](sql.md#when-to-use-common-table-expressions).
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ Instead of creating an mutation to toggle the loading state, we should:
|
|||
- `PUT`: `updateSomething`
|
||||
- `DELETE`: `deleteSomething`
|
||||
|
||||
As a result, we can dispatch the `fetchNamespace` action from the component and it is responsible to commit `REQUEST_NAMESPACE`, `RECEIVE_NAMESPACE_SUCCESS` and `RECEIVE_NAMESPACE_ERROR` mutations.
|
||||
As a result, we can dispatch the `fetchNamespace` action from the component and it is responsible to commit `REQUEST_NAMESPACE`, `RECEIVE_NAMESPACE_SUCCESS` and `RECEIVE_NAMESPACE_ERROR` mutations.
|
||||
|
||||
> Previously, we were dispatching actions from the `fetchNamespace` action instead of committing mutation, so don't be confused if you find a different pattern in the older parts of the codebase. However, we encourage leveraging a new pattern whenever you write new Vuex stores.
|
||||
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ For consistency, we manually set the pagination cursors based on values returned
|
|||
|
||||
You can see an example implementation in the following files:
|
||||
|
||||
- [`types/error__tracking/sentry_error_collection_type.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/graphql/types/error_tracking/sentry_error_collection_type.rb) which adds an extension to `field :errors`.
|
||||
- [`types/error__tracking/sentry_error_collection_type.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/graphql/types/error_tracking/sentry_error_collection_type.rb) which adds an extension to `field :errors`.
|
||||
- [`resolvers/error_tracking/sentry_errors_resolver.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/graphql/resolvers/error_tracking/sentry_errors_resolver.rb) which returns the data from the resolver.
|
||||
|
||||
## Testing
|
||||
|
|
|
|||
|
|
@ -263,8 +263,8 @@ The reason for this was that we'd like to add the abilities to hide and order st
|
|||
- Responsible for composing the initial query.
|
||||
- Deals with `Stage` specific configuration: events and their query customizations.
|
||||
- Parameters coming from the UI: date ranges.
|
||||
- `Median`: Calculates the median duration for a stage using the query from `BaseQueryBuilder`.
|
||||
- `RecordsFetcher`: Loads relevant records for a stage using the query from `BaseQueryBuilder` and specific `Finder` classes to apply visibility rules.
|
||||
- `Median`: Calculates the median duration for a stage using the query from `BaseQueryBuilder`.
|
||||
- `RecordsFetcher`: Loads relevant records for a stage using the query from `BaseQueryBuilder` and specific `Finder` classes to apply visibility rules.
|
||||
- `DataForDurationChart`: Loads calculated durations with the finish time (end event timestamp) for the scatterplot chart.
|
||||
|
||||
For a new calculation or a query, implement it as a new method call in the `DataCollector` class.
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ below:
|
|||
|
||||
1. Copy the `/etc/gitlab/gitlab-secrets.json` file from the primary site Rails node to the secondary site Rails node if they're different. The file must be the same on all of a site's nodes.
|
||||
|
||||
1. Ensure no migrations are configured to be run automatically by setting `gitlab_rails['auto_migrate'] = false` and `geo_secondary['auto_migrate'] = false` in the
|
||||
1. Ensure no migrations are configured to be run automatically by setting `gitlab_rails['auto_migrate'] = false` and `geo_secondary['auto_migrate'] = false` in the
|
||||
`/etc/gitlab/gitlab.rb` configuration file.
|
||||
|
||||
1. Run the `reconfigure` command to get the latest code in place as well as restart:
|
||||
|
|
@ -453,7 +453,7 @@ below:
|
|||
|
||||
1. [Upgrade the GitLab package](package/index.md#upgrade-to-a-specific-version-using-the-official-repositories).
|
||||
|
||||
1. Ensure no migrations are configured to be run automatically by setting `gitlab_rails['auto_migrate'] = false` and `geo_secondary['auto_migrate'] = false` in the
|
||||
1. Ensure no migrations are configured to be run automatically by setting `gitlab_rails['auto_migrate'] = false` and `geo_secondary['auto_migrate'] = false` in the
|
||||
`/etc/gitlab/gitlab.rb` configuration file.
|
||||
|
||||
1. Run the `reconfigure` command to get the latest code in place as well as restart:
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ The environment variable `FUZZAPI_OPENAPI_ALL_MEDIA_TYPES` lets you specify whet
|
|||
|
||||
Alternatively, the variable `FUZZAPI_OPENAPI_MEDIA_TYPES` is used to provide a list of media types that each is tested. Providing more than one media type causes testing to take longer, as testing is performed for each media type selected. When the environment variable `FUZZAPI_OPENAPI_MEDIA_TYPES` is set to a list of media types, only the listed media types are included when creating requests.
|
||||
|
||||
Multiple media types in `FUZZAPI_OPENAPI_MEDIA_TYPES` must separated by a colon (`:`). For example, to limit request generation to the media types `application/x-www-form-urlencoded` and `multipart/form-data`, set the environment variable `FUZZAPI_OPENAPI_MEDIA_TYPES` to `application/x-www-form-urlencoded:multipart/form-data`. Only supported media types in this list are included when creating requests, though unsupported media types are always skipped. A media type text may contain different sections. For example, `application/vnd.api+json; charset=UTF-8` is a compound of `type "/" [tree "."] subtype ["+" suffix]* [";" parameter]`. Parameters are not taken into account when filtering media types on request generation.
|
||||
Multiple media types in `FUZZAPI_OPENAPI_MEDIA_TYPES` must separated by a colon (`:`). For example, to limit request generation to the media types `application/x-www-form-urlencoded` and `multipart/form-data`, set the environment variable `FUZZAPI_OPENAPI_MEDIA_TYPES` to `application/x-www-form-urlencoded:multipart/form-data`. Only supported media types in this list are included when creating requests, though unsupported media types are always skipped. A media type text may contain different sections. For example, `application/vnd.api+json; charset=UTF-8` is a compound of `type "/" [tree "."] subtype ["+" suffix]* [";" parameter]`. Parameters are not taken into account when filtering media types on request generation.
|
||||
|
||||
The environment variables `FUZZAPI_OPENAPI_ALL_MEDIA_TYPES` and `FUZZAPI_OPENAPI_MEDIA_TYPES` allow you to decide how to handle media types. These settings are mutually exclusive. If both are enabled, API Fuzzing reports an error.
|
||||
|
||||
|
|
|
|||
|
|
@ -857,6 +857,12 @@ variables:
|
|||
AWS_DEFAULT_REGION: <AWS_REGION_FOR_ECR>
|
||||
```
|
||||
|
||||
### `unable to open a file: open /home/gitlab/.cache/trivy/ee/db/metadata.json: no such file or directory`
|
||||
|
||||
The compressed Trivy database is stored in the `/tmp` folder of the container and it is extracted to `/home/gitlab/.cache/trivy/{ee|ce}/db` at runtime. This error can happen if you have a volume mount for `/tmp` directory in your runner configuration.
|
||||
|
||||
To resolve this, instead of binding the `/tmp` folder, bind specific files or folders in `/tmp` (for example `/tmp/myfile.txt`).
|
||||
|
||||
## Changes
|
||||
|
||||
Changes to the container scanning analyzer can be found in the project's
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Only run DAST scans against a test server.
|
|||
## On-demand scans
|
||||
|
||||
> - Auditing for DAST profile management [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/217872) in GitLab 14.1.
|
||||
> - Scheduled on-demand DAST scans [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328749) in GitLab 14.3 [with a flag](../../../administration/feature_flags.md) named `dast_on_demand_scans_scheduler`. Disabled by default.
|
||||
> - Scheduled on-demand DAST scans [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/328749) in GitLab 14.3 [with a flag](../../../administration/feature_flags.md) named `dast_on_demand_scans_scheduler`. Disabled by default.
|
||||
> - Scheduled on-demand DAST scans [generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/328749) in GitLab 14.5. Feature flag `dast_on_demand_scans_scheduler` removed.
|
||||
> - Runner tags selection [enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111499) in GitLab 16.3.
|
||||
> - Browser based on-demand DAST scans [deployed behind the feature flag `dast_ods_browser_based_scanner`](https://gitlab.com/gitlab-org/gitlab/-/issues/430212) in GitLab 16.8.
|
||||
|
|
|
|||
|
|
@ -646,7 +646,7 @@ variables:
|
|||
DAST_API_REQUEST_HEADERS_BASE64: $SECRET_REQUEST_HEADERS_BASE64
|
||||
```
|
||||
|
||||
Consider using `DAST_API_REQUEST_HEADERS_BASE64` when storing secret header values in a [masked variable](../../../../ci/variables/index.md#mask-a-cicd-variable), which has character set restrictions.
|
||||
Consider using `DAST_API_REQUEST_HEADERS_BASE64` when storing secret header values in a [masked variable](../../../../ci/variables/index.md#mask-a-cicd-variable), which has character set restrictions.
|
||||
|
||||
## Exclude Paths
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ The environment variable `DAST_API_OPENAPI_ALL_MEDIA_TYPES` lets you specify whe
|
|||
|
||||
Alternatively, the variable `DAST_API_OPENAPI_MEDIA_TYPES` is used to provide a list of media types that will each be tested. Providing more than one media type causes testing to take longer, as testing is performed for each media type selected. When the environment variable `DAST_API_OPENAPI_MEDIA_TYPES` is set to a list of media types, only the listed media types are included when creating requests.
|
||||
|
||||
Multiple media types in `DAST_API_OPENAPI_MEDIA_TYPES` are separated by a colon (`:`). For example, to limit request generation to the media types `application/x-www-form-urlencoded` and `multipart/form-data`, set the environment variable `DAST_API_OPENAPI_MEDIA_TYPES` to `application/x-www-form-urlencoded:multipart/form-data`. Only supported media types in this list are included when creating requests, though non-supported media types are always skipped. A media type text may contain different sections. For example, `application/vnd.api+json; charset=UTF-8`, is a compound of `type "/" [tree "."] subtype ["+" suffix]* [";" parameter]`. Parameters are not taken into account when performing the filtering media types on request generation.
|
||||
Multiple media types in `DAST_API_OPENAPI_MEDIA_TYPES` are separated by a colon (`:`). For example, to limit request generation to the media types `application/x-www-form-urlencoded` and `multipart/form-data`, set the environment variable `DAST_API_OPENAPI_MEDIA_TYPES` to `application/x-www-form-urlencoded:multipart/form-data`. Only supported media types in this list are included when creating requests, though non-supported media types are always skipped. A media type text may contain different sections. For example, `application/vnd.api+json; charset=UTF-8`, is a compound of `type "/" [tree "."] subtype ["+" suffix]* [";" parameter]`. Parameters are not taken into account when performing the filtering media types on request generation.
|
||||
|
||||
The environment variables `DAST_API_OPENAPI_ALL_MEDIA_TYPES` and `DAST_API_OPENAPI_MEDIA_TYPES` allow you to decide how to handle media types. These settings are mutually exclusive. If both are enabled, DAST API reports an error.
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ To configure DAST API to use a GraphQL schema file that provides information abo
|
|||
1. [Include](../../../../ci/yaml/index.md#includetemplate)
|
||||
the [`DAST-API.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/DAST-API.gitlab-ci.yml) in your `.gitlab-ci.yml` file.
|
||||
|
||||
1. Provide the GraphQL endpoint path, for example `/api/graphql`. Specify the path by adding the `DAST_API_GRAPHQL` variable.
|
||||
1. Provide the GraphQL endpoint path, for example `/api/graphql`. Specify the path by adding the `DAST_API_GRAPHQL` variable.
|
||||
|
||||
1. Provide the location of the GraphQL schema file. You can provide the location as a file path
|
||||
or URL. Specify the location by adding the `DAST_API_GRAPHQL_SCHEMA` variable.
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ The following are possible solutions for problems where users cannot sign in:
|
|||
Alternatively, self-managed administrators can [add a user identity](../../../administration/admin_area.md#user-identities).
|
||||
- The **Identity** (`extern_uid`) value stored by GitLab is updated by SCIM whenever `id` or `externalId` changes. Users
|
||||
cannot sign in unless the GitLab identifier (`extern_uid`) of the sign-in method matches the ID sent by the provider, such as
|
||||
the `NameId` sent by SAML. This value is also used by SCIM to match users on the `id`, and is updated by SCIM whenever the `id` or `externalId` values change.
|
||||
the `NameId` sent by SAML. This value is also used by SCIM to match users on the `id`, and is updated by SCIM whenever the `id` or `externalId` values change.
|
||||
- On GitLab.com, the SCIM `id` and SCIM `externalId` must be configured to the same value as the SAML `NameId`. You can trace SAML responses
|
||||
using [debugging tools](troubleshooting.md#saml-debugging-tools), and check any errors against the
|
||||
[SAML troubleshooting](troubleshooting.md) information.
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ To purge files from a GitLab repository:
|
|||
This contains a `project.bundle` file, which was created by
|
||||
[`git bundle`](https://git-scm.com/docs/git-bundle).
|
||||
|
||||
1. Clone a fresh copy of the repository from the bundle using `--bare` and `--mirror` options:
|
||||
1. Clone a fresh copy of the repository from the bundle using `--bare` and `--mirror` options:
|
||||
|
||||
```shell
|
||||
git clone --bare --mirror /path/to/project.bundle
|
||||
|
|
|
|||
|
|
@ -8344,9 +8344,6 @@ msgstr ""
|
|||
msgid "Billing|Error un-assigning GitLab Duo Pro add-on"
|
||||
msgstr ""
|
||||
|
||||
msgid "Billing|Error unassigning GitLab Duo Pro add-on"
|
||||
msgstr ""
|
||||
|
||||
msgid "Billing|Explore paid plans"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -8394,10 +8391,10 @@ msgstr ""
|
|||
msgid "Billing|Something went wrong when assigning the add-on to this member. If the problem persists, please %{supportLinkStart}contact support%{supportLinkEnd}."
|
||||
msgstr ""
|
||||
|
||||
msgid "Billing|Something went wrong when un-assigning the add-on to this member. If the problem persists, please %{supportLinkStart}contact support%{supportLinkEnd}."
|
||||
msgid "Billing|Something went wrong when un-assigning the add-on to the selected members. If the problem persists, please %{supportLinkStart}contact support%{supportLinkEnd}."
|
||||
msgstr ""
|
||||
|
||||
msgid "Billing|Something went wrong when unassigning the add-on to the selected members. If the problem persists, please %{supportLinkStart}contact support%{supportLinkEnd}."
|
||||
msgid "Billing|Something went wrong when un-assigning the add-on to this member. If the problem persists, please %{supportLinkStart}contact support%{supportLinkEnd}."
|
||||
msgstr ""
|
||||
|
||||
msgid "Billing|There are not enough seats to assign the GitLab Duo Pro add-on to all selected members. To purchase more seats for your subscription, please %{salesLinkStart}contact sales%{salesLinkEnd}."
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {
|
|||
ActiveModelError,
|
||||
generateHelpTextWithLinks,
|
||||
mapSystemToFriendlyError,
|
||||
isKnownErrorCode,
|
||||
} from '~/lib/utils/error_utils';
|
||||
import { convertObjectPropsToLowerCase } from '~/lib/utils/common_utils';
|
||||
|
||||
|
|
@ -191,4 +192,25 @@ describe('Error Alert Utils', () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('isKnownErrorCode', () => {
|
||||
const errorDictionary = {
|
||||
known_error_code: 'Friendly error for known error code',
|
||||
};
|
||||
|
||||
it.each`
|
||||
error | result
|
||||
${'known_error_code'} | ${true}
|
||||
${'unknown_error_code'} | ${false}
|
||||
${new Error()} | ${false}
|
||||
${1000} | ${false}
|
||||
${''} | ${false}
|
||||
${{}} | ${false}
|
||||
${[]} | ${false}
|
||||
${undefined} | ${false}
|
||||
${null} | ${false}
|
||||
`('returns $result when error is $error', ({ error, result }) => {
|
||||
expect(isKnownErrorCode(error, errorDictionary)).toBe(result);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -98,6 +98,16 @@ RSpec.describe Gitlab::Usage::MetricDefinition, feature_category: :service_ping
|
|||
end
|
||||
end
|
||||
|
||||
describe 'invalid product_group' do
|
||||
before do
|
||||
attributes[:product_group] = 'a_product_group'
|
||||
end
|
||||
|
||||
it 'has validation errors' do
|
||||
expect_validation_errors
|
||||
end
|
||||
end
|
||||
|
||||
describe '#with_instrumentation_class' do
|
||||
let(:all_definitions) do
|
||||
metrics_definitions = [
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ RSpec.describe Groups::TransferService, :sidekiq_inline, feature_category: :grou
|
|||
context 'with namespaced packages present' do
|
||||
let_it_be(:package) { create(:npm_package, project: project, name: "@#{project.root_namespace.path}/test") }
|
||||
|
||||
it 'does not allow transfer' do
|
||||
it 'does not allow transfer', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/444687' do
|
||||
transfer_service.execute(new_group)
|
||||
|
||||
expect(transfer_service.error).to eq('Transfer failed: Group contains projects with NPM packages scoped to the current root level group.')
|
||||
|
|
|
|||
Loading…
Reference in New Issue