Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
42d323de78
commit
f26782b146
32 changed files with 203 additions and 219 deletions
|
@ -10,5 +10,4 @@ lint-yaml:
|
|||
variables:
|
||||
LINT_PATHS: .gitlab-ci.yml .gitlab/ci lib/gitlab/ci/templates changelogs
|
||||
script:
|
||||
- '[[ ! -d "ee/" ]] || export LINT_PATHS="$LINT_PATHS ee/changelogs"'
|
||||
- yamllint -f colored $LINT_PATHS
|
||||
|
|
|
@ -10,6 +10,7 @@ export default {
|
|||
TopNavMenuItem,
|
||||
VuexModuleProvider,
|
||||
},
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
frequentItemsVuexModule: {
|
||||
type: String,
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
key_path: git.version
|
||||
description: ''
|
||||
product_section: ''
|
||||
product_stage: ''
|
||||
product_group: ''
|
||||
description: Information about Git version
|
||||
product_section: enablement
|
||||
product_stage: enablement
|
||||
product_group: group::distribution
|
||||
product_category: ''
|
||||
value_type: string
|
||||
status: data_available
|
||||
|
@ -11,6 +11,8 @@ time_frame: none
|
|||
data_source: system
|
||||
distribution:
|
||||
- ce
|
||||
- ee
|
||||
tier:
|
||||
- free
|
||||
skip_validation: true
|
||||
- premium
|
||||
- ultimate
|
||||
|
|
|
@ -98,6 +98,9 @@ Note the following when promoting a secondary:
|
|||
- If you encounter an `ActiveRecord::RecordInvalid: Validation failed: Name has already been taken`
|
||||
error message during this process, for more information, see this
|
||||
[troubleshooting advice](../replication/troubleshooting.md#fixing-errors-during-a-failover-or-when-promoting-a-secondary-to-a-primary-node).
|
||||
- If you run into errors when using `--force` or `--skip-preflight-checks` before 13.5 during this process,
|
||||
for more information, see this
|
||||
[troubleshooting advice](../replication/troubleshooting.md#errors-when-using---skip-preflight-checks-or---force).
|
||||
|
||||
#### Promoting a **secondary** node running on a single machine
|
||||
|
||||
|
|
|
@ -756,6 +756,30 @@ this command reports `ERROR - Replication is not up-to-date` even if
|
|||
replication is actually up-to-date. If replication and verification output
|
||||
shows that it is complete, you can add `--skip-preflight-checks` to make the command complete promotion. This bug was fixed in GitLab 13.8 and later.
|
||||
|
||||
### Errors when using `--skip-preflight-checks` or `--force`
|
||||
|
||||
Before GitLab 13.5, you could bump into one of the following errors when using
|
||||
`--skip-preflight-checks` or `--force`:
|
||||
|
||||
```plaintext
|
||||
get_ctl_options': invalid option: --skip-preflight-checks (OptionParser::InvalidOption)
|
||||
|
||||
get_ctl_options': invalid option: --force (OptionParser::InvalidOption)
|
||||
```
|
||||
|
||||
This can happen with XFS or filesystems that list files in lexical order, because the
|
||||
load order of the Omnibus command files can be different than expected, and a global function would get redefined.
|
||||
More details can be found in [the related issue](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6076).
|
||||
|
||||
The workaround is to manually run the preflight checks and promote the database, by running
|
||||
the following commands on the Geo secondary site:
|
||||
|
||||
```shell
|
||||
sudo gitlab-ctl promotion-preflight-checks
|
||||
sudo /opt/gitlab/embedded/bin/gitlab-pg-ctl promote
|
||||
sudo gitlab-ctl reconfigure
|
||||
sudo gitlab-rake geo:set_secondary_as_primary
|
||||
|
||||
## Expired artifacts
|
||||
|
||||
If you notice for some reason there are more artifacts on the Geo
|
||||
|
|
|
@ -82,6 +82,12 @@ paused fails. Do not pause replication before promoting a secondary. If the
|
|||
node is paused, be sure to resume before promoting. To avoid this issue,
|
||||
upgrade to GitLab 13.4 or later.
|
||||
|
||||
WARNING:
|
||||
Promoting the database during a failover can fail on XFS and filesystems ordering files lexically,
|
||||
when using `--force` or `--skip-preflight-checks`, due to [an issue](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/6076) fixed in 13.5.
|
||||
The [troubleshooting steps](troubleshooting.md#errors-when-using---skip-preflight-checks-or---force)
|
||||
contain a workaround if you run into errors during the failover.
|
||||
|
||||
## Updating to GitLab 13.2
|
||||
|
||||
In GitLab 13.2, promoting a secondary node to a primary while the secondary is
|
||||
|
|
|
@ -996,7 +996,7 @@ POST /projects/:id/issues
|
|||
| `issue_type` | string | no | The type of issue. One of `issue`, `incident`, or `test_case`. Default is `issue`. |
|
||||
| `labels` | string | no | Comma-separated label names for an issue |
|
||||
| `merge_request_to_resolve_discussions_of` | integer | no | The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.|
|
||||
| `milestone_id` | integer | no | The global ID of a milestone to assign issue |
|
||||
| `milestone_id` | integer | no | The global ID of a milestone to assign issue. To find the `milestone_id` associated with a milestone, view an issue with the milestone assigned and [use the API](#single-project-issue) to retrieve the issue's details. |
|
||||
| `title` | string | yes | The title of an issue |
|
||||
| `weight` **(PREMIUM)** | integer | no | The weight of the issue. Valid values are greater than or equal to 0. |
|
||||
|
||||
|
|
|
@ -1238,7 +1238,7 @@ POST /projects/user/:user_id
|
|||
| `show_default_award_emojis` | boolean | **{dotted-circle}** No | Show default award emojis. |
|
||||
| `snippets_access_level` | string | **{dotted-circle}** No | One of `disabled`, `private`, or `enabled`. |
|
||||
| `snippets_enabled` | boolean | **{dotted-circle}** No | _(Deprecated)_ Enable snippets for this project. Use `snippets_access_level` instead. |
|
||||
| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request suggestions. |
|
||||
| `suggestion_commit_message` | string | **{dotted-circle}** No | The commit message used to apply merge request [suggestions](../user/project/merge_requests/reviews/suggestions.md). |
|
||||
| `tag_list` | array | **{dotted-circle}** No | The list of tags for a project; put array of tags, that should be finally assigned to a project. |
|
||||
| `template_name` | string | **{dotted-circle}** No | When used without `use_custom_template`, name of a [built-in project template](../user/project/working_with_projects.md#built-in-templates). When used with `use_custom_template`, name of a custom project template. |
|
||||
| `use_custom_template` **(PREMIUM)** | boolean | **{dotted-circle}** No | Use either custom [instance](../user/admin_area/custom_project_templates.md) or [group](../user/group/custom_project_templates.md) (with `group_with_project_templates_id`) project template. |
|
||||
|
|
|
@ -7,6 +7,8 @@ type: reference, api
|
|||
|
||||
# Suggest Changes API **(FREE)**
|
||||
|
||||
This page describes the API for [suggesting changes](../user/project/merge_requests/reviews/suggestions.md).
|
||||
|
||||
Every API call to suggestions must be authenticated.
|
||||
|
||||
## Applying suggestions
|
||||
|
|
|
@ -33,7 +33,8 @@ In the Markdown doc for a resource (AKA endpoint):
|
|||
|
||||
## API topic template
|
||||
|
||||
The following can be used as a template to get started:
|
||||
Use the following template to help you get started. Be sure to list any
|
||||
required attributes first in the table.
|
||||
|
||||
````markdown
|
||||
## Descriptive title
|
||||
|
@ -50,8 +51,10 @@ Supported attributes:
|
|||
|
||||
| Attribute | Type | Required | Description |
|
||||
|:------------|:---------|:---------|:----------------------|
|
||||
| `attribute` | datatype | yes/no | Detailed description. |
|
||||
| `attribute` | datatype | yes/no | Detailed description. |
|
||||
| `attribute` | datatype | **{check-circle}** Yes | Detailed description. |
|
||||
| `attribute` | datatype | **{dotted-circle}** No | Detailed description. |
|
||||
| `attribute` | datatype | **{dotted-circle}** No | Detailed description. |
|
||||
| `attribute` | datatype | **{dotted-circle}** No | Detailed description. |
|
||||
|
||||
Example request:
|
||||
|
||||
|
|
|
@ -60,3 +60,17 @@ feature flags, and there is currently no strong suggestion to use one over the o
|
|||
Historical Context: `Experimentation Module` was built iteratively with the needs that
|
||||
appeared while implementing Growth sub-department experiments, while GLEX was built
|
||||
with the findings of the team and an easier to use API.
|
||||
|
||||
### Add new icons and illustrations for experiments
|
||||
|
||||
Some experiments may require you to add custom icons or illustrations to our codebase.
|
||||
This process is lengthy and at this stage, the outcome of the experiment uncertain.
|
||||
Therefore, you should postpone this effort until the [experiment cleanup process](https://about.gitlab.com/handbook/engineering/development/growth/#experiment-cleanup-issue).
|
||||
|
||||
We recommend the following workflow:
|
||||
|
||||
1. Add an icon or illustration as an `.svg` file in the `/app/assets/images` (or EE) path in the GitLab repository.
|
||||
1. Use `image_tag` or `image_path` to render it via the asset pipeline.
|
||||
1. **If the experiment is a success**, designers add the new icon or illustration to the Pajamas UI kit as part of the cleanup process.
|
||||
Engineers can then add it to the [SVG library](https://gitlab-org.gitlab.io/gitlab-svgs/) and modify the implementation based on the
|
||||
[Frontend Development Guidelines](../fe_guide/icons.md#usage-in-hamlrails-2).
|
||||
|
|
|
@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
CrowdIn automatically syncs the `gitlab.pot` file with the CrowdIn service, presenting
|
||||
newly added externalized strings to the community of translators.
|
||||
|
||||
[GitLab CrowdIn Bot](https://gitlab.com/gitlab-crowdin-bot) also creates merge requests
|
||||
The [GitLab CrowdIn Bot](https://gitlab.com/gitlab-crowdin-bot) also creates merge requests
|
||||
to take newly approved translation submissions and merge them into the `locale/<language>/gitlab.po`
|
||||
files. Check the [merge requests created by `gitlab-crowdin-bot`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)
|
||||
to see new and merged merge requests.
|
||||
|
@ -17,35 +17,34 @@ to see new and merged merge requests.
|
|||
## Validation
|
||||
|
||||
By default CrowdIn commits translations with `[skip ci]` in the commit
|
||||
message. This is done to avoid a bunch of pipelines being run. Before
|
||||
merging translations, make sure to trigger a pipeline to validate
|
||||
translations, we have static analysis validating things CrowdIn
|
||||
doesn't do. Create a new pipeline at `https://gitlab.com/gitlab-org/gitlab/pipelines/new`
|
||||
(need Developer access permissions) for the `master-i18n` branch.
|
||||
message. This avoids an excessive number of pipelines from running.
|
||||
Before merging translations, make sure to trigger a pipeline to validate
|
||||
translations. Static analysis validates things CrowdIn doesn't do. Create
|
||||
a new pipeline at [`https://gitlab.com/gitlab-org/gitlab/pipelines/new`](https://gitlab.com/gitlab-org/gitlab/pipelines/new)
|
||||
(need developer permissions) for the `master-i18n` branch.
|
||||
|
||||
If there are validation errors, the easiest solution is to disapprove
|
||||
the offending string in CrowdIn, leaving a comment with what is
|
||||
required to fix the offense. There is an
|
||||
required to fix the errors. There's an
|
||||
[issue](https://gitlab.com/gitlab-org/gitlab/-/issues/23256)
|
||||
suggesting to automate this process. Disapproving excludes the
|
||||
invalid translation, the merge request is then updated within a few
|
||||
that suggests automating this process. Disapproving excludes the
|
||||
invalid translation. The merge request is then updated within a few
|
||||
minutes.
|
||||
|
||||
If the translation has failed validation due to angle brackets `<` or `>`
|
||||
it should be disapproved on CrowdIn as our strings should be
|
||||
using [variables](externalization.md#html) for HTML instead.
|
||||
If the translation fails validation due to angle brackets (`<` or `>`),
|
||||
it should be disapproved in CrowdIn. Our strings must use [variables](externalization.md#html)
|
||||
for HTML instead.
|
||||
|
||||
It might be handy to pause the integration on the CrowdIn side for a
|
||||
little while so translations don't keep coming. This can be done by
|
||||
clicking `Pause sync` on the [CrowdIn integration settings
|
||||
page](https://translate.gitlab.com/project/gitlab-ee/settings#integration).
|
||||
It might be useful to pause the integration on the CrowdIn side for a
|
||||
moment so translations don't keep coming. You can do this by clicking
|
||||
**Pause sync** on the [CrowdIn integration settings page](https://translate.gitlab.com/project/gitlab-ee/settings#integration).
|
||||
|
||||
## Merging translations
|
||||
|
||||
After all translations are determined to be appropriate and the pipelines pass,
|
||||
you can merge the translations into the default branch. When merging translations,
|
||||
be sure to select the **Remove source branch** check box, which causes CrowdIn
|
||||
to recreate the `master-i18n` from the default branch after merging the new
|
||||
be sure to select the **Remove source branch** checkbox. This causes CrowdIn
|
||||
to recreate the `master-i18n` branch from the default branch after merging the new
|
||||
translation.
|
||||
|
||||
We are discussing [automating this entire process](https://gitlab.com/gitlab-org/gitlab/-/issues/19896).
|
||||
|
@ -54,10 +53,8 @@ We are discussing [automating this entire process](https://gitlab.com/gitlab-org
|
|||
|
||||
CrowdIn creates a new merge request as soon as the old one is closed
|
||||
or merged. But it does not recreate the `master-i18n` branch every
|
||||
time. To force CrowdIn to recreate the branch, close any [open merge
|
||||
request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)
|
||||
and delete the
|
||||
[`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n).
|
||||
time. To force CrowdIn to recreate the branch, close any [open merge requests](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)
|
||||
and delete the [`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n) branch.
|
||||
|
||||
This might be needed when the merge request contains failures that
|
||||
have been fixed on the default branch.
|
||||
|
@ -76,8 +73,8 @@ recreate it with the following steps:
|
|||
1. Sign in to CrowdIn with the GitLab integration.
|
||||
1. Go to **Settings > Integrations > GitLab > Set Up Integration**.
|
||||
1. Select the `gitlab-org/gitlab` repository.
|
||||
1. In `Select Branches for Translation`, select `master`.
|
||||
1. Ensure the `Service Branch Name` is `master-i18n`.
|
||||
1. In **Select Branches for Translation**, select `master`.
|
||||
1. Ensure the **Service Branch Name** is `master-i18n`.
|
||||
|
||||
## Manually update the translation levels
|
||||
|
||||
|
|
|
@ -121,35 +121,35 @@ are very appreciative of the work done by translators and proofreaders!
|
|||
|
||||
## Become a proofreader
|
||||
|
||||
Before requesting Proofreader permissions in CrowdIn, be sure you have a history
|
||||
of contributing translations to the GitLab project.
|
||||
Before requesting proofreader permissions in CrowdIn, be sure you have a history of contributing
|
||||
translations to the GitLab project.
|
||||
|
||||
1. Contribute translations to GitLab. See instructions for
|
||||
[translating GitLab](translation.md).
|
||||
|
||||
Translating GitLab is a community effort that requires team work and
|
||||
attention to detail. Proofreaders play an important role helping new
|
||||
contributors, and ensuring the consistency and quality of translations.
|
||||
Your conduct and contributions as a translator should reflect this before
|
||||
requesting to be a proofreader.
|
||||
Translating GitLab is a community effort that requires teamwork and attention to detail.
|
||||
Proofreaders play an important role helping new contributors, and ensuring the consistency and
|
||||
quality of translations. Your conduct and contributions as a translator should reflect this
|
||||
before requesting to be a proofreader.
|
||||
|
||||
1. Request proofreader permissions by opening a merge request to add yourself
|
||||
to the list of proofreaders.
|
||||
1. Request proofreader permissions by opening a merge request to add yourself to the list of
|
||||
proofreaders.
|
||||
|
||||
Open the [proofreader.md source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**.
|
||||
Open the [`proofreader.md` source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**.
|
||||
|
||||
Add your language in alphabetical order, and add yourself to the list
|
||||
including:
|
||||
- name
|
||||
- link to your GitLab profile
|
||||
- link to your CrowdIn profile
|
||||
Add your language in alphabetical order and add yourself to the list, including:
|
||||
|
||||
In the merge request description, include links to any projects you have
|
||||
previously translated.
|
||||
- Name
|
||||
- Link to your GitLab profile
|
||||
- Link to your CrowdIn profile
|
||||
|
||||
1. Your request to become a proofreader is considered on the merits of
|
||||
your previous translations by [GitLab team members](https://about.gitlab.com/company/team/)
|
||||
or [Core team members](https://about.gitlab.com/community/core-team/) who are fluent in
|
||||
the language or current proofreaders.
|
||||
- When a request is made for the first proofreader for a language and there are no [GitLab team members](https://about.gitlab.com/company/team/)
|
||||
or [Core team members](https://about.gitlab.com/community/core-team/) who speak the language, we shall request links to previous translation work in other communities or projects.
|
||||
In the merge request description, include links to any projects you have previously translated.
|
||||
|
||||
1. [GitLab team members](https://about.gitlab.com/company/team/),
|
||||
[Core team members](https://about.gitlab.com/community/core-team/),
|
||||
or current proofreaders fluent in the language consider your request to become a proofreader
|
||||
based on the merits of your previous translations.
|
||||
|
||||
- If you request to become the first proofreader for a language and there are no GitLab or Core
|
||||
team members who speak that language, we request links to previous translation work in other
|
||||
communities or projects.
|
||||
|
|
|
@ -6,47 +6,39 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
# Translating GitLab
|
||||
|
||||
For managing the translation process we use [CrowdIn](https://crowdin.com).
|
||||
For managing the translation process, we use [CrowdIn](https://crowdin.com).
|
||||
To contribute translations at [`translate.gitlab.com`](https://translate.gitlab.com),
|
||||
you must create a CrowdIn account. You may create a new account or use any of their supported
|
||||
sign-in services.
|
||||
|
||||
## Using CrowdIn
|
||||
## Language selections
|
||||
|
||||
The first step is to get familiar with CrowdIn.
|
||||
GitLab is being translated into many languages. To select a language to contribute to:
|
||||
|
||||
### Sign In
|
||||
|
||||
To contribute translations at <https://translate.gitlab.com>
|
||||
you must create a CrowdIn account.
|
||||
You may create a new account or use any of their supported sign in services.
|
||||
|
||||
### Language Selections
|
||||
|
||||
GitLab is being translated into many languages.
|
||||
|
||||
1. Find the language that you want to contribute to, in our
|
||||
1. Find the language that you want to contribute to, in the
|
||||
[GitLab CrowdIn project](https://crowdin.com/project/gitlab-ee).
|
||||
- If the language that you're looking for is available, proceed
|
||||
to the next step.
|
||||
- If the language you are looking for is not available,
|
||||
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization). Notify our CrowdIn
|
||||
administrators by including `@gitlab-org/manage/import` in your issue.
|
||||
- After the issue/Merge Request is complete, restart this procedure.
|
||||
1. Next, you can view list of files and folders.
|
||||
Select `gitlab.pot` to open the translation editor.
|
||||
|
||||
### Translation Editor
|
||||
- If the language you want is available, proceed to the next step.
|
||||
- If the language you want is not available,
|
||||
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization).
|
||||
Notify our CrowdIn administrators by including `@gitlab-org/manage/import` in your issue.
|
||||
- After the issue and any merge requests are complete, restart this procedure.
|
||||
|
||||
1. View the list of files and folders. Select `gitlab.pot` to open the translation editor.
|
||||
|
||||
### Translation editor
|
||||
|
||||
The online translation editor is the easiest way to contribute translations.
|
||||
|
||||
![CrowdIn Editor](img/crowdin-editor.png)
|
||||
|
||||
1. Strings for translation are listed in the left panel
|
||||
1. Translations are entered into the central panel.
|
||||
Multiple translations are required for strings that contains plurals.
|
||||
The string to be translated is shown above with glossary terms highlighted.
|
||||
If the string to be translated is not clear, you can 'Request Context'
|
||||
- Strings for translation are listed in the left panel.
|
||||
- Translations are entered into the central panel. Multiple translations are required for strings
|
||||
that contain plurals. The string to translate is shown in the above image with glossary terms
|
||||
highlighted. If the string to translate isn't clear, you can request context.
|
||||
|
||||
A glossary of common terms is available in the right panel by clicking Terms.
|
||||
Comments can be added to discuss a translation with the community.
|
||||
A glossary of common terms is available in the **Terms** tab in the right panel. In the **Comments**
|
||||
tab, you can add comments to discuss a translation with the community.
|
||||
|
||||
Remember to **Save** each translation.
|
||||
|
||||
|
@ -56,21 +48,18 @@ Be sure to check the following guidelines before you translate any strings.
|
|||
|
||||
### Namespaced strings
|
||||
|
||||
When an externalized string is prepended with a namespace, e.g.
|
||||
`s_('OpenedNDaysAgo|Opened')`, the namespace should be removed from the final
|
||||
translation.
|
||||
For example in French `OpenedNDaysAgo|Opened` would be translated to
|
||||
`Ouvert•e`, not `OpenedNDaysAgo|Ouvert•e`.
|
||||
When an externalized string is prepended with a namespace (for example,
|
||||
`s_('OpenedNDaysAgo|Opened')`), the namespace should be removed from the final translation. For
|
||||
example, in French, `OpenedNDaysAgo|Opened` is translated to `Ouvert•e`, not
|
||||
`OpenedNDaysAgo|Ouvert•e`.
|
||||
|
||||
### Technical terms
|
||||
|
||||
Some technical terms should be treated like proper nouns and not be translated.
|
||||
|
||||
Technical terms that should always be in English are noted in the glossary when
|
||||
using <https://translate.gitlab.com>.
|
||||
|
||||
This helps maintain a logical connection and consistency between tools (e.g.
|
||||
`git` client) and GitLab.
|
||||
You should treat some technical terms like proper nouns and not translate them. Technical terms that
|
||||
should always be in English are noted in the glossary when using
|
||||
[`translate.gitlab.com`](https://translate.gitlab.com).
|
||||
This helps maintain a logical connection and consistency between tools (for example, a Git client)
|
||||
and GitLab.
|
||||
|
||||
### Formality
|
||||
|
||||
|
@ -78,36 +67,33 @@ The level of formality used in software varies by language:
|
|||
|
||||
| Language | Formality | Example |
|
||||
| -------- | --------- | ------- |
|
||||
| French | formal | `vous` for `you` |
|
||||
| German | informal | `du` for `you` |
|
||||
| French | formal | `vous` for `you` |
|
||||
| German | informal | `du` for `you` |
|
||||
|
||||
You can refer to other translated strings and notes in the glossary to assist
|
||||
determining a suitable level of formality.
|
||||
Refer to other translated strings and notes in the glossary to assist you in determining a suitable
|
||||
level of formality.
|
||||
|
||||
### Inclusive language
|
||||
|
||||
[Diversity](https://about.gitlab.com/handbook/values/#diversity) is a GitLab value.
|
||||
We ask you to avoid translations which exclude people based on their gender or
|
||||
ethnicity.
|
||||
In languages which distinguish between a male and female form, use both or
|
||||
choose a neutral formulation.
|
||||
[Diversity, inclusion, and belonging](https://about.gitlab.com/handbook/values/#diversity-inclusion)
|
||||
are GitLab values. We ask you to avoid translations that exclude people based on their gender or
|
||||
ethnicity. In languages that distinguish between a male and female form, use both or choose a
|
||||
neutral formulation.
|
||||
|
||||
<!-- vale gitlab.Spelling = NO -->
|
||||
For example in German, the word "user" can be translated into "Benutzer" (male) or "Benutzerin" (female).
|
||||
Therefore "create a new user" would translate into "Benutzer(in) anlegen".
|
||||
For example, in German, the word _user_ can be translated into _Benutzer_ (male) or _Benutzerin_
|
||||
(female). Therefore, _create a new user_ translates to _Benutzer(in) anlegen_.
|
||||
<!-- vale gitlab.Spelling = YES -->
|
||||
|
||||
### Updating the glossary
|
||||
|
||||
To propose additions to the glossary please
|
||||
To propose additions to the glossary, please
|
||||
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization).
|
||||
|
||||
## French Translation Guidelines
|
||||
|
||||
### Inclusive language in French
|
||||
## French translation guidelines
|
||||
|
||||
<!-- vale gitlab.Spelling = NO -->
|
||||
In French, the "écriture inclusive" is now over (see on [Legifrance](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000036068906/)).
|
||||
So, to include both genders, write "Utilisateurs et utilisatrices" instead of "Utilisateur·rice·s".
|
||||
When space is missing, the male gender should be used alone.
|
||||
In French, the _écriture inclusive_ is now over (see on [Legifrance](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000036068906/)).
|
||||
To include both genders, write _Utilisateurs et utilisatrices_ instead of _Utilisateur·rice·s_. If
|
||||
there is not enough space, use the male gender alone.
|
||||
<!-- vale gitlab.Spelling = YES -->
|
||||
|
|
|
@ -6960,15 +6960,15 @@ Tiers: `premium`, `ultimate`
|
|||
|
||||
### `git.version`
|
||||
|
||||
Missing description
|
||||
Information about Git version
|
||||
|
||||
[YAML definition](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/license/20210216183237_version.yml)
|
||||
|
||||
Group: ``
|
||||
Group: `group::distribution`
|
||||
|
||||
Status: `data_available`
|
||||
|
||||
Tiers: `free`
|
||||
Tiers: `free`, `premium`, `ultimate`
|
||||
|
||||
### `gitaly.clusters`
|
||||
|
||||
|
|
|
@ -1069,7 +1069,6 @@ You can install the following applications with one click:
|
|||
- [Knative](#knative)
|
||||
- [Crossplane](#crossplane)
|
||||
- [Elastic Stack](#elastic-stack)
|
||||
- [Fluentd](#fluentd)
|
||||
|
||||
With the exception of Knative, the applications are installed in a dedicated
|
||||
namespace called `gitlab-managed-apps`.
|
||||
|
@ -1561,27 +1560,6 @@ kubectl port-forward svc/kibana-kibana 5601:5601
|
|||
|
||||
Then, you can visit Kibana at `http://localhost:5601`.
|
||||
|
||||
### Fluentd
|
||||
|
||||
> Introduced in GitLab 12.10 for project- and group-level clusters.
|
||||
|
||||
[Fluentd](https://www.fluentd.org/) is an open source data collector, which enables
|
||||
you to unify the data collection and consumption to better use and understand
|
||||
your data. Fluentd sends logs in syslog format.
|
||||
|
||||
To enable Fluentd:
|
||||
|
||||
1. Navigate to **Operations > Kubernetes** and click
|
||||
**Applications**. Enter a host, port, and protocol
|
||||
for sending the WAF logs with syslog.
|
||||
1. Provide the host domain name or URL in **SIEM Hostname**.
|
||||
1. Provide the host port number in **SIEM Port**.
|
||||
1. Select a **SIEM Protocol**.
|
||||
1. Select at least one of the available logs (such as WAF or Cilium).
|
||||
1. Click **Save changes**.
|
||||
|
||||
![Fluentd input fields](img/fluentd_v13_0.png)
|
||||
|
||||
## Upgrading applications
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/24789) in GitLab 11.8.
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 32 KiB |
|
@ -7,7 +7,8 @@ type: reference, howto
|
|||
|
||||
# Threads **(FREE)**
|
||||
|
||||
GitLab encourages communication through comments, threads, and suggestions.
|
||||
GitLab encourages communication through comments, threads, and
|
||||
[code suggestions](../project/merge_requests/reviews/suggestions.md).
|
||||
|
||||
For example, you can create a comment in the following places:
|
||||
|
||||
|
@ -22,7 +23,9 @@ There are standard comments, and you also have the option to create a comment
|
|||
in the form of a thread. A comment can also be [turned into a thread](#start-a-thread-by-replying-to-a-standard-comment)
|
||||
when it receives a reply.
|
||||
|
||||
The comment area supports [Markdown](../markdown.md) and [quick actions](../project/quick_actions.md). You can edit your own
|
||||
The comment area supports [Markdown](../markdown.md) and [quick actions](../project/quick_actions.md).
|
||||
You can [suggest code changes](../project/merge_requests/reviews/suggestions.md) in your comment,
|
||||
which the user can accept through the user interface. You can edit your own
|
||||
comment at any time, and anyone with [Maintainer access level](../permissions.md) or
|
||||
higher can also edit a comment made by someone else.
|
||||
|
||||
|
|
|
@ -28,8 +28,8 @@ users define profiles for these technologies.
|
|||
|
||||
See the [installation guide](quick_start_guide.md) for the recommended steps to install the
|
||||
Container Host Security capabilities. This guide shows the recommended way of installing Container
|
||||
Host Security through GMAv2. However, it's also possible to do a manual installation through our
|
||||
Helm chart.
|
||||
Host Security through the Cluster Management Project. However, it's also possible to do a manual
|
||||
installation through our Helm chart.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
|
@ -6,9 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
# Getting started with Container Host Security
|
||||
|
||||
The following steps are recommended for installing Container Host Security. Although you can install
|
||||
some capabilities through GMAv1, we [recommend](#using-gmav1-with-gmav2) that you install
|
||||
applications through GMAv2 exclusively when using Container Network Security.
|
||||
The following steps are recommended for installing Container Host Security.
|
||||
|
||||
## Installation steps
|
||||
|
||||
|
@ -21,7 +19,7 @@ The following steps are recommended to install and use Container Host Security t
|
|||
|
||||
1. Install and configure an Ingress node:
|
||||
|
||||
- [Install the Ingress node via CI/CD (GMAv2)](../../../../clusters/applications.md#install-ingress-using-gitlab-cicd).
|
||||
- [Install the Ingress node via CI/CD (Cluster Management Project)](../../../../clusters/applications.md#install-ingress-using-gitlab-cicd).
|
||||
- [Determine the external endpoint via the manual method](../../../../clusters/applications.md#determining-the-external-endpoint-manually).
|
||||
- Navigate to the Kubernetes page and enter the [DNS address for the external endpoint](../../index.md#base-domain)
|
||||
into the **Base domain** field on the **Details** tab. Save the changes to the Kubernetes
|
||||
|
@ -63,19 +61,6 @@ initial troubleshooting steps that resolve the most common problems:
|
|||
`kubectl delete namespaces <insert-some-namespace-name>` in your Kubernetes cluster.
|
||||
- Rerun the application project pipeline to redeploy the application.
|
||||
|
||||
### Using GMAv1 with GMAv2
|
||||
|
||||
When GMAv1 and GMAv2 are used together on the same cluster, users may experience problems with
|
||||
applications being uninstalled or removed from the cluster. This is because GMAv2 actively
|
||||
uninstalls applications that are installed with GMAv1 and not configured to be installed with GMAv2.
|
||||
It's possible to use a mixture of applications installed with GMAv1 and GMAv2 by ensuring that the
|
||||
GMAv1 applications are installed **after** the GMAv2 cluster management project pipeline runs. GMAv1
|
||||
applications must be reinstalled after each run of that pipeline. This approach isn't recommended as
|
||||
it's error-prone and can lead to downtime as applications are uninstalled and later reinstalled.
|
||||
When using Container Network Security, the preferred and recommended path is to install all
|
||||
necessary components with GMAv2 and the cluster management project.
|
||||
|
||||
**Related documentation links:**
|
||||
|
||||
- [GitLab Managed Apps v1 (GMAv1)](../../../../clusters/applications.md#install-with-one-click-deprecated)
|
||||
- [GitLab Managed Apps v2 (GMAv2)](../../../../clusters/management_project.md)
|
||||
- [Cluster Management Project](../../../../clusters/management_project.md)
|
||||
|
|
|
@ -20,8 +20,8 @@ disabled by default, as they must usually be customized to match application-spe
|
|||
|
||||
See the [installation guide](quick_start_guide.md) for the recommended steps to install GitLab
|
||||
Container Network Security. This guide shows the recommended way of installing Container Network
|
||||
Security through GMAv2. However, it's also possible to install Cilium manually through our Helm
|
||||
chart.
|
||||
Security through the Cluster Management Project. However, it's also possible to install Cilium
|
||||
manually through our Helm chart.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
|
@ -6,9 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
# Getting started with Container Network Security
|
||||
|
||||
The following steps are recommended for installing Container Network Security. Although you can
|
||||
install some capabilities through GMAv1, we [recommend](#using-gmav1-with-gmav2) that you install
|
||||
applications through GMAv2 exclusively when using Container Network Security.
|
||||
The following steps are recommended for installing Container Network Security.
|
||||
|
||||
## Installation steps
|
||||
|
||||
|
@ -21,7 +19,7 @@ The following steps are recommended to install and use Container Network Securit
|
|||
|
||||
1. Install and configure an Ingress node:
|
||||
|
||||
- [Install the Ingress node via CI/CD (GMAv2)](../../../../clusters/applications.md#install-ingress-using-gitlab-cicd).
|
||||
- [Install the Ingress node via CI/CD (Cluster Management Project)](../../../../clusters/applications.md#install-ingress-using-gitlab-cicd).
|
||||
- [Determine the external endpoint via the manual method](../../../../clusters/applications.md#determining-the-external-endpoint-manually).
|
||||
- Navigate to the Kubernetes page and enter the [DNS address for the external endpoint](../../index.md#base-domain)
|
||||
into the **Base domain** field on the **Details** tab. Save the changes to the Kubernetes
|
||||
|
@ -83,12 +81,8 @@ Additional information about the statistics page is available in the
|
|||
## Forwarding logs to a SIEM
|
||||
|
||||
Cilium logs can be forwarded to a SIEM or an external logging system through syslog protocol by
|
||||
installing and configuring Fluentd. Fluentd can be installed through GitLab in two ways:
|
||||
|
||||
- The [GMAv1 method](../../../../clusters/applications.md#fluentd)
|
||||
- The [GMAv2 method](../../../../clusters/applications.md#install-fluentd-using-gitlab-cicd)
|
||||
|
||||
GitLab strongly encourages using only the GMAv2 method to install Fluentd.
|
||||
installing and configuring Fluentd. Fluentd can be installed through the GitLab
|
||||
[Cluster Management Project](../../../../clusters/applications.md#install-fluentd-using-gitlab-cicd).
|
||||
|
||||
## Viewing the logs
|
||||
|
||||
|
@ -135,19 +129,6 @@ initial troubleshooting steps that resolve the most common problems:
|
|||
- Delete the relevant namespace in Kubernetes by running `kubectl delete namespaces <insert-some-namespace-name>` in your Kubernetes cluster.
|
||||
- Rerun the application project pipeline to redeploy the application.
|
||||
|
||||
### Using GMAv1 with GMAv2
|
||||
|
||||
When GMAv1 and GMAv2 are used together on the same cluster, users may experience problems with
|
||||
applications being uninstalled or removed from the cluster. This is because GMAv2 actively
|
||||
uninstalls applications that are installed with GMAv1 and not configured to be installed with GMAv2.
|
||||
It's possible to use a mixture of applications installed with GMAv1 and GMAv2 by ensuring that the
|
||||
GMAv1 applications are installed **after** the GMAv2 cluster management project pipeline runs. GMAv1
|
||||
applications must be reinstalled after each run of that pipeline. This approach isn't recommended as
|
||||
it's error-prone and can lead to downtime as applications are uninstalled and later reinstalled.
|
||||
When using Container Network Security, the preferred and recommended path is to install all
|
||||
necessary components with GMAv2 and the cluster management project.
|
||||
|
||||
**Related documentation links:**
|
||||
|
||||
- [GitLab Managed Apps v1 (GMAv1)](../../../../clusters/applications.md#install-with-one-click-deprecated)
|
||||
- [GitLab Managed Apps v2 (GMAv2)](../../../../clusters/management_project.md)
|
||||
- [Cluster Management Project](../../../../clusters/management_project.md)
|
||||
|
|
|
@ -9,9 +9,9 @@ type: index, reference
|
|||
|
||||
[Merge requests](../index.md) are the primary method of making changes to files in a
|
||||
GitLab project. [Create and submit a merge request](../creating_merge_requests.md)
|
||||
to propose changes. Your team makes [suggestions](suggestions.md) and leaves
|
||||
[comments](../../../discussions/index.md). When your work is reviewed, your team
|
||||
members can choose to accept or reject it.
|
||||
to propose changes. Your team leaves [comments](../../../discussions/index.md), and
|
||||
makes [code suggestions](suggestions.md) you can accept from the user interface.
|
||||
When your work is reviewed, your team members can choose to accept or reject it.
|
||||
|
||||
## View merge requests
|
||||
|
||||
|
|
|
@ -140,3 +140,7 @@ to your branch to address your reviewers' requests.
|
|||
|
||||
WARNING:
|
||||
Suggestions applied from multiple authors creates a commit authored by the user applying the suggestions.
|
||||
|
||||
## Related links
|
||||
|
||||
- [Suggestions API](../../../../api/suggestions.md)
|
||||
|
|
|
@ -11,9 +11,11 @@ module Gitlab
|
|||
end
|
||||
|
||||
def self.too_large?(size)
|
||||
return false unless size.to_i > Gitlab.config.extra['maximum_text_highlight_size_kilobytes']
|
||||
file_size_limit = Gitlab.config.extra['maximum_text_highlight_size_kilobytes']
|
||||
|
||||
over_highlight_size_limit.increment(source: "text highlighter") if Feature.enabled?(:track_file_size_over_highlight_limit)
|
||||
return false unless size.to_i > file_size_limit
|
||||
|
||||
over_highlight_size_limit.increment(source: "file size: #{file_size_limit}") if Feature.enabled?(:track_file_size_over_highlight_limit)
|
||||
|
||||
true
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ module QA
|
|||
end
|
||||
|
||||
where(:template) do
|
||||
%w[rails spring express]
|
||||
%w[express]
|
||||
end
|
||||
|
||||
with_them do
|
||||
|
@ -45,7 +45,7 @@ module QA
|
|||
Flow::Login.sign_in
|
||||
end
|
||||
|
||||
it 'works with Auto DevOps', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/240946', type: :flaky } do
|
||||
it 'works with Auto DevOps' do
|
||||
%w[build code_quality test].each do |job|
|
||||
pipeline.visit!
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
lint_paths="changelogs/unreleased"
|
||||
[ -d "ee/" ] && lint_paths="$lint_paths ee/changelogs/unreleased"
|
||||
|
||||
invalid_files=$(find $lint_paths -type f -not -name "*.yml" -not -name ".gitkeep")
|
||||
|
||||
if [ -n "$invalid_files" ]; then
|
||||
echo "Changelog files must end in .yml, but these did not:"
|
||||
echo "$invalid_files" | sed -e "s/^/* /"
|
||||
exit 1
|
||||
fi
|
|
@ -38,8 +38,7 @@ class StaticAnalysis
|
|||
%w[yarn run block-dependencies] => 0.35,
|
||||
%w[scripts/lint-rugged] => 0.23,
|
||||
%w[scripts/gemfile_lock_changed.sh] => 0.02,
|
||||
%w[scripts/frontend/check_no_partial_karma_jest.sh] => 0.01,
|
||||
%w[scripts/lint-changelog-filenames] => 0.01
|
||||
%w[scripts/frontend/check_no_partial_karma_jest.sh] => 0.01
|
||||
}.reject { |k| k.nil? }.sort_by { |a| -a[1] }.to_h.keys.freeze
|
||||
|
||||
def run_tasks!
|
||||
|
|
|
@ -23,13 +23,14 @@ const TEST_OTHER_PROPS = {
|
|||
describe('~/nav/components/top_nav_container_view.vue', () => {
|
||||
let wrapper;
|
||||
|
||||
const createComponent = (props = {}) => {
|
||||
const createComponent = (props = {}, options = {}) => {
|
||||
wrapper = shallowMount(TopNavContainerView, {
|
||||
propsData: {
|
||||
...DEFAULT_PROPS,
|
||||
...TEST_OTHER_PROPS,
|
||||
...props,
|
||||
},
|
||||
...options,
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -44,6 +45,7 @@ describe('~/nav/components/top_nav_container_view.vue', () => {
|
|||
return {
|
||||
vuexModule: parent.props('vuexModule'),
|
||||
props: parent.findComponent(FrequentItemsApp).props(),
|
||||
attributes: parent.findComponent(FrequentItemsApp).attributes(),
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -67,14 +69,23 @@ describe('~/nav/components/top_nav_container_view.vue', () => {
|
|||
);
|
||||
|
||||
describe('default', () => {
|
||||
const EXTRA_ATTRS = { 'data-test-attribute': 'foo' };
|
||||
|
||||
beforeEach(() => {
|
||||
createComponent();
|
||||
createComponent({}, { attrs: EXTRA_ATTRS });
|
||||
});
|
||||
|
||||
it('does not inherit extra attrs', () => {
|
||||
expect(wrapper.attributes()).toEqual({
|
||||
class: expect.any(String),
|
||||
});
|
||||
});
|
||||
|
||||
it('renders frequent items app', () => {
|
||||
expect(findFrequentItemsApp()).toEqual({
|
||||
vuexModule: DEFAULT_PROPS.frequentItemsVuexModule,
|
||||
props: TEST_OTHER_PROPS,
|
||||
attributes: expect.objectContaining(EXTRA_ATTRS),
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ RSpec.describe Gitlab::Highlight do
|
|||
end
|
||||
|
||||
it 'increments the metric for oversized files' do
|
||||
expect { result }.to change { over_highlight_size_limit('text highlighter') }.by(1)
|
||||
expect { result }.to change { over_highlight_size_limit('file size: 0.0001') }.by(1)
|
||||
end
|
||||
|
||||
it 'returns plain version for long content' do
|
||||
|
|
|
@ -162,8 +162,6 @@ RSpec.describe Tooling::Danger::ProjectHelper do
|
|||
'workhorse/main.go' | [:workhorse]
|
||||
'workhorse/internal/upload/upload.go' | [:workhorse]
|
||||
|
||||
'changelogs/foo' | [:none]
|
||||
'ee/changelogs/foo' | [:none]
|
||||
'locale/gitlab.pot' | [:none]
|
||||
|
||||
'FOO' | [:unknown]
|
||||
|
|
|
@ -38,8 +38,6 @@ module Tooling
|
|||
|
||||
%r{\A(ee/)?config/feature_flags/} => :feature_flag,
|
||||
|
||||
%r{\A(ee/)?(changelogs/unreleased)(-ee)?/} => :changelog,
|
||||
|
||||
%r{\Adoc/development/usage_ping/dictionary\.md\z} => [:docs, :product_intelligence],
|
||||
%r{\Adoc/.*(\.(md|png|gif|jpg))\z} => :docs,
|
||||
%r{\A(CONTRIBUTING|LICENSE|MAINTENANCE|PHILOSOPHY|PROCESS|README)(\.md)?\z} => :docs,
|
||||
|
|
Loading…
Reference in a new issue