Commit 68d997b1 authored by Amy Qualls's avatar Amy Qualls Committed by Craig Norris

Update Possessive.yml to error status

Move the Possessive.yml rule to error status, to satisfy a request
from Legal.
parent 22a0aa4f
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles # For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
extends: existence extends: existence
message: 'Rewrite "%s" to not use "’s".' message: 'Rewrite "%s" to not use "’s".'
level: warning level: error
ignorecase: true ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#contractions link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#trademark
tokens: tokens:
- GitLab's # Straight apostrophe. - GitLab's # Straight apostrophe.
- GitLab’s # Curly closing apostrophe. - GitLab’s # Curly closing apostrophe.
......
...@@ -29,7 +29,7 @@ No matter how you use GitLab, we have documentation for you. ...@@ -29,7 +29,7 @@ No matter how you use GitLab, we have documentation for you.
| [**Contributing to GitLab**](#contributing-to-gitlab)<br/>At GitLab, everyone can contribute! | [**New to Git and GitLab?**](#new-to-git-and-gitlab)<br/>We have the resources to get you started. | | [**Contributing to GitLab**](#contributing-to-gitlab)<br/>At GitLab, everyone can contribute! | [**New to Git and GitLab?**](#new-to-git-and-gitlab)<br/>We have the resources to get you started. |
| [**Build an integration with GitLab**](#build-an-integration-with-gitlab)<br/>Consult our integration documentation. | [**Coming to GitLab from another platform?**](#coming-to-gitlab-from-another-platform)<br/>Consult our guides. | | [**Build an integration with GitLab**](#build-an-integration-with-gitlab)<br/>Consult our integration documentation. | [**Coming to GitLab from another platform?**](#coming-to-gitlab-from-another-platform)<br/>Consult our guides. |
| [**Install GitLab**](https://about.gitlab.com/install/)<br/>Installation options for different platforms. | [**Customers**](subscriptions/index.md)<br/>Information for new and existing customers. | | [**Install GitLab**](https://about.gitlab.com/install/)<br/>Installation options for different platforms. | [**Customers**](subscriptions/index.md)<br/>Information for new and existing customers. |
| [**Update GitLab**](update/README.md)<br/>Update your GitLab self-managed instance to the latest version. | [**Reference Architectures**](administration/reference_architectures/index.md)<br/>GitLab's reference architectures | | [**Update GitLab**](update/README.md)<br/>Update your GitLab self-managed instance to the latest version. | [**Reference Architectures**](administration/reference_architectures/index.md)<br/>GitLab reference architectures |
| [**GitLab releases**](https://about.gitlab.com/releases/)<br/>What's new in GitLab. | | | [**GitLab releases**](https://about.gitlab.com/releases/)<br/>What's new in GitLab. | |
## Popular topics ## Popular topics
...@@ -69,8 +69,8 @@ We have the following documentation to rapidly uplift your GitLab knowledge: ...@@ -69,8 +69,8 @@ We have the following documentation to rapidly uplift your GitLab knowledge:
| [GitLab basics guides](gitlab-basics/README.md) | Start working on the command line and with GitLab. | | [GitLab basics guides](gitlab-basics/README.md) | Start working on the command line and with GitLab. |
| [GitLab workflow overview](https://about.gitlab.com/blog/2016/10/25/gitlab-workflow-an-overview/) | Enhance your workflow with the best of GitLab Workflow. | | [GitLab workflow overview](https://about.gitlab.com/blog/2016/10/25/gitlab-workflow-an-overview/) | Enhance your workflow with the best of GitLab Workflow. |
| [Get started with GitLab CI/CD](ci/quick_start/README.md) | Quickly implement GitLab CI/CD. | | [Get started with GitLab CI/CD](ci/quick_start/README.md) | Quickly implement GitLab CI/CD. |
| [Auto DevOps](topics/autodevops/index.md) | Learn more about GitLab's Auto DevOps. | | [Auto DevOps](topics/autodevops/index.md) | Learn more about Auto DevOps in GitLab. |
| [GitLab Markdown](user/markdown.md) | GitLab's advanced formatting system (GitLab Flavored Markdown) | | [GitLab Markdown](user/markdown.md) | Advanced formatting system (GitLab Flavored Markdown) |
### User account ### User account
......
...@@ -72,7 +72,7 @@ of complexity, maintenance cost and enormous, negative impact on availability. ...@@ -72,7 +72,7 @@ of complexity, maintenance cost and enormous, negative impact on availability.
## New GitLab Pages Architecture ## New GitLab Pages Architecture
- GitLab Pages sources domains' configuration from GitLab's internal - GitLab Pages sources domains' configuration from the GitLab internal
API, instead of reading `config.json` files from a local shared storage. API, instead of reading `config.json` files from a local shared storage.
- GitLab Pages serves static content from Object Storage. - GitLab Pages serves static content from Object Storage.
...@@ -90,7 +90,7 @@ too. ...@@ -90,7 +90,7 @@ too.
## Iterations ## Iterations
1. ✓ Redesign GitLab Pages configuration source to use GitLab's API 1. ✓ Redesign GitLab Pages configuration source to use the GitLab API
1. ✓ Evaluate performance and build reliable caching mechanisms 1. ✓ Evaluate performance and build reliable caching mechanisms
1. ✓ Incrementally rollout the new source on GitLab.com 1. ✓ Incrementally rollout the new source on GitLab.com
1. ✓ Make GitLab Pages API domains configuration source enabled by default 1. ✓ Make GitLab Pages API domains configuration source enabled by default
......
...@@ -66,13 +66,13 @@ Complementary reads: ...@@ -66,13 +66,13 @@ Complementary reads:
- [Guidelines for implementing Enterprise Edition features](ee_features.md) - [Guidelines for implementing Enterprise Edition features](ee_features.md)
- [Danger bot](dangerbot.md) - [Danger bot](dangerbot.md)
- [Generate a changelog entry with `bin/changelog`](changelog.md) - [Generate a changelog entry with `bin/changelog`](changelog.md)
- [Requesting access to Chatops on GitLab.com](chatops_on_gitlabcom.md#requesting-access) (for GitLab team members) - [Requesting access to ChatOps on GitLab.com](chatops_on_gitlabcom.md#requesting-access) (for GitLab team members)
- [Patch release process for developers](https://gitlab.com/gitlab-org/release/docs/blob/master/general/patch/process.md#process-for-developers) - [Patch release process for developers](https://gitlab.com/gitlab-org/release/docs/blob/master/general/patch/process.md#process-for-developers)
- [Adding a new service component to GitLab](adding_service_component.md) - [Adding a new service component to GitLab](adding_service_component.md)
### Development guidelines review ### Development guidelines review
When you submit a change to GitLab's development guidelines, who When you submit a change to the GitLab development guidelines, who
you ask for reviews depends on the level of change. you ask for reviews depends on the level of change.
#### Wording, style, or link changes #### Wording, style, or link changes
...@@ -132,7 +132,7 @@ In these cases, use the following workflow: ...@@ -132,7 +132,7 @@ In these cases, use the following workflow:
1. After completing the reviews, consult with the EM/Staff Engineer 1. After completing the reviews, consult with the EM/Staff Engineer
author / approver of the MR. author / approver of the MR.
If this is a significant change across multiple areas, request final review If this is a significant change across multiple areas, request final review
and approval from the VP of Development, the DRI for Development Guidelines, and approval from the VP of Development, the DRI for Development Guidelines,
@clefelhocz1. @clefelhocz1.
......
...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# GraphQL API style guide # GraphQL API style guide
This document outlines the style guide for GitLab's [GraphQL API](../api/graphql/index.md). This document outlines the style guide for the GitLab [GraphQL API](../api/graphql/index.md).
## How GitLab implements GraphQL ## How GitLab implements GraphQL
...@@ -19,7 +19,7 @@ which is exposed as an API endpoint at `/api/graphql`. ...@@ -19,7 +19,7 @@ which is exposed as an API endpoint at `/api/graphql`.
## Deep Dive ## Deep Dive
In March 2019, Nick Thomas hosted a Deep Dive (GitLab team members only: `https://gitlab.com/gitlab-org/create-stage/issues/1`) In March 2019, Nick Thomas hosted a Deep Dive (GitLab team members only: `https://gitlab.com/gitlab-org/create-stage/issues/1`)
on GitLab's [GraphQL API](../api/graphql/index.md) to share his domain specific knowledge on the GitLab [GraphQL API](../api/graphql/index.md) to share his domain specific knowledge
with anyone who may work in this part of the codebase in the future. You can find the with anyone who may work in this part of the codebase in the future. You can find the
[recording on YouTube](https://www.youtube.com/watch?v=-9L_1MWrjkg), and the slides on [recording on YouTube](https://www.youtube.com/watch?v=-9L_1MWrjkg), and the slides on
[Google Slides](https://docs.google.com/presentation/d/1qOTxpkTdHIp1CRjuTvO-aXg0_rUtzE3ETfLUdnBB5uQ/edit) [Google Slides](https://docs.google.com/presentation/d/1qOTxpkTdHIp1CRjuTvO-aXg0_rUtzE3ETfLUdnBB5uQ/edit)
...@@ -44,7 +44,7 @@ add a `HTTP_PRIVATE_TOKEN` header. ...@@ -44,7 +44,7 @@ add a `HTTP_PRIVATE_TOKEN` header.
## Global IDs ## Global IDs
GitLab's GraphQL API uses Global IDs (i.e: `"gid://gitlab/MyObject/123"`) The GitLab GraphQL API uses Global IDs (i.e: `"gid://gitlab/MyObject/123"`)
and never database primary key IDs. and never database primary key IDs.
Global ID is [a convention](https://graphql.org/learn/global-object-identification/) Global ID is [a convention](https://graphql.org/learn/global-object-identification/)
...@@ -154,7 +154,7 @@ Further reading: ...@@ -154,7 +154,7 @@ Further reading:
### Exposing Global IDs ### Exposing Global IDs
In keeping with GitLab's use of [Global IDs](#global-ids), always convert In keeping with the GitLab use of [Global IDs](#global-ids), always convert
database primary key IDs into Global IDs when you expose them. database primary key IDs into Global IDs when you expose them.
All fields named `id` are All fields named `id` are
...@@ -403,11 +403,11 @@ end ...@@ -403,11 +403,11 @@ end
## Deprecating fields and enum values ## Deprecating fields and enum values
GitLab's GraphQL API is versionless, which means we maintain backwards The GitLab GraphQL API is versionless, which means we maintain backwards
compatibility with older versions of the API with every change. Rather compatibility with older versions of the API with every change. Rather
than removing a field or [enum value](#enums), we need to _deprecate_ it instead. than removing a field or [enum value](#enums), we need to _deprecate_ it instead.
The deprecated parts of the schema can then be removed in a future release The deprecated parts of the schema can then be removed in a future release
in accordance with [GitLab's deprecation process](../api/graphql/index.md#deprecation-process). in accordance with the [GitLab deprecation process](../api/graphql/index.md#deprecation-process).
Fields and enum values are deprecated using the `deprecated` property. Fields and enum values are deprecated using the `deprecated` property.
The value of the property is a `Hash` of: The value of the property is a `Hash` of:
...@@ -1106,7 +1106,7 @@ are returned as the result of the mutation. ...@@ -1106,7 +1106,7 @@ are returned as the result of the mutation.
#### Update mutation granularity #### Update mutation granularity
GitLab's service-oriented architecture means that most mutations call a Create, Delete, or Update The service-oriented architecture in GitLab means that most mutations call a Create, Delete, or Update
service, for example `UpdateMergeRequestService`. service, for example `UpdateMergeRequestService`.
For Update mutations, a you might want to only update one aspect of an object, and thus only need a For Update mutations, a you might want to only update one aspect of an object, and thus only need a
_fine-grained_ mutation, for example `MergeRequest::SetWip`. _fine-grained_ mutation, for example `MergeRequest::SetWip`.
...@@ -1233,7 +1233,7 @@ These arguments automatically generate an input type called ...@@ -1233,7 +1233,7 @@ These arguments automatically generate an input type called
### Object identifier arguments ### Object identifier arguments
In keeping with GitLab's use of [Global IDs](#global-ids), mutation In keeping with the GitLab use of [Global IDs](#global-ids), mutation
arguments should use Global IDs to identify an object and never database arguments should use Global IDs to identify an object and never database
primary key IDs. primary key IDs.
...@@ -1530,7 +1530,7 @@ In the future this may be able to be done using `InputUnions` if ...@@ -1530,7 +1530,7 @@ In the future this may be able to be done using `InputUnions` if
[this RFC](https://github.com/graphql/graphql-spec/blob/master/rfcs/InputUnion.md) [this RFC](https://github.com/graphql/graphql-spec/blob/master/rfcs/InputUnion.md)
is merged. is merged.
## GitLab's custom scalars ## GitLab custom scalars
### `Types::TimeType` ### `Types::TimeType`
...@@ -1695,7 +1695,7 @@ end ...@@ -1695,7 +1695,7 @@ end
## Notes about Query flow and GraphQL infrastructure ## Notes about Query flow and GraphQL infrastructure
GitLab's GraphQL infrastructure can be found in `lib/gitlab/graphql`. The GitLab GraphQL infrastructure can be found in `lib/gitlab/graphql`.
[Instrumentation](https://graphql-ruby.org/queries/instrumentation.html) is functionality [Instrumentation](https://graphql-ruby.org/queries/instrumentation.html) is functionality
that wraps around a query being executed. It is implemented as a module that uses the `Instrumentation` class. that wraps around a query being executed. It is implemented as a module that uses the `Instrumentation` class.
......
...@@ -94,7 +94,7 @@ The simplest way to ensure this, is to add support for your feature or service t ...@@ -94,7 +94,7 @@ The simplest way to ensure this, is to add support for your feature or service t
### Simplified component overview ### Simplified component overview
This is a simplified architecture diagram that can be used to This is a simplified architecture diagram that can be used to
understand GitLab's architecture. understand the GitLab architecture.
A complete architecture diagram is available in our A complete architecture diagram is available in our
[component diagram](#component-diagram) below. [component diagram](#component-diagram) below.
......
...@@ -144,7 +144,7 @@ Keep the following in mind when submitting merge requests: ...@@ -144,7 +144,7 @@ Keep the following in mind when submitting merge requests:
- When reviewers are reading through a merge request they may request guidance from other - When reviewers are reading through a merge request they may request guidance from other
reviewers. reviewers.
- If the code quality is found to not meet GitLab’s standards, the merge request reviewer will - If the code quality is found to not meet GitLab standards, the merge request reviewer will
provide guidance and refer the author to our: provide guidance and refer the author to our:
- [Documentation](../documentation/styleguide/index.md) style guide. - [Documentation](../documentation/styleguide/index.md) style guide.
- [Code style guides](style_guides.md). - [Code style guides](style_guides.md).
......
...@@ -46,7 +46,7 @@ bin/rake danger_local ...@@ -46,7 +46,7 @@ bin/rake danger_local
## Operation ## Operation
On startup, Danger reads a [`Dangerfile`](https://gitlab.com/gitlab-org/gitlab/blob/master/Dangerfile) On startup, Danger reads a [`Dangerfile`](https://gitlab.com/gitlab-org/gitlab/blob/master/Dangerfile)
from the project root. GitLab's Danger code is decomposed into a set of helpers from the project root. Danger code in GitLab is decomposed into a set of helpers
and plugins, all within the [`danger/`](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/danger/) and plugins, all within the [`danger/`](https://gitlab.com/gitlab-org/gitlab-foss/tree/master/danger/)
subdirectory, so ours just tells Danger to load it all. Danger then runs subdirectory, so ours just tells Danger to load it all. Danger then runs
each plugin against the merge request, collecting the output from each. A plugin each plugin against the merge request, collecting the output from each. A plugin
...@@ -66,7 +66,7 @@ continue to apply. However, there are a few things that deserve special emphasis ...@@ -66,7 +66,7 @@ continue to apply. However, there are a few things that deserve special emphasis
Danger is a powerful tool and flexible tool, but not always the most appropriate Danger is a powerful tool and flexible tool, but not always the most appropriate
way to solve a given problem or workflow. way to solve a given problem or workflow.
First, be aware of GitLab's [commitment to dogfooding](https://about.gitlab.com/handbook/engineering/#dogfooding). First, be aware of the GitLab [commitment to dogfooding](https://about.gitlab.com/handbook/engineering/#dogfooding).
The code we write for Danger is GitLab-specific, and it **may not** be most The code we write for Danger is GitLab-specific, and it **may not** be most
appropriate place to implement functionality that addresses a need we encounter. appropriate place to implement functionality that addresses a need we encounter.
Our users, customers, and even our own satellite projects, such as [Gitaly](https://gitlab.com/gitlab-org/gitaly), Our users, customers, and even our own satellite projects, such as [Gitaly](https://gitlab.com/gitlab-org/gitaly),
......
...@@ -15,7 +15,7 @@ We rely on different sources to present diffs. These include: ...@@ -15,7 +15,7 @@ We rely on different sources to present diffs. These include:
## Deep Dive ## Deep Dive
In January 2019, Oswaldo Ferreira hosted a Deep Dive (GitLab team members only: In January 2019, Oswaldo Ferreira hosted a Deep Dive (GitLab team members only:
`https://gitlab.com/gitlab-org/create-stage/issues/1`) on GitLab's Diffs and Commenting on Diffs `https://gitlab.com/gitlab-org/create-stage/issues/1`) on GitLab Diffs and Commenting on Diffs
functionality to share his domain specific knowledge with anyone who may work in this part of the functionality to share his domain specific knowledge with anyone who may work in this part of the
codebase in the future. You can find the [recording on YouTube](https://www.youtube.com/watch?v=K6G3gMcFyek), codebase in the future. You can find the [recording on YouTube](https://www.youtube.com/watch?v=K6G3gMcFyek),
and the slides on [Google Slides](https://docs.google.com/presentation/d/1bGutFH2AT3bxOPZuLMGl1ANWHqFnrxwQwjiwAZkF-TU/edit) and the slides on [Google Slides](https://docs.google.com/presentation/d/1bGutFH2AT3bxOPZuLMGl1ANWHqFnrxwQwjiwAZkF-TU/edit)
......
...@@ -32,7 +32,7 @@ updated using renovate are: ...@@ -32,7 +32,7 @@ updated using renovate are:
We discourage installing some dependencies in [GitLab repository](https://gitlab.com/gitlab-org/gitlab) We discourage installing some dependencies in [GitLab repository](https://gitlab.com/gitlab-org/gitlab)
because they can create conflicts in the dependency tree. Blocked dependencies are declared in the because they can create conflicts in the dependency tree. Blocked dependencies are declared in the
`blockDependencies` property of GitLab’s [`package.json` file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/package.json). `blockDependencies` property of the GitLab [`package.json` file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/package.json).
## Dependency notes ## Dependency notes
......
...@@ -85,7 +85,7 @@ With the purpose of being [respectful of others' time](https://about.gitlab.com/ ...@@ -85,7 +85,7 @@ With the purpose of being [respectful of others' time](https://about.gitlab.com/
### Share your work early ### Share your work early
1. Before writing code, ensure your vision of the architecture is aligned with 1. Before writing code, ensure your vision of the architecture is aligned with
GitLab's architecture. GitLab architecture.
1. Add a diagram to the issue and ask a frontend maintainer in the Slack channel `#frontend_maintainers` about it. 1. Add a diagram to the issue and ask a frontend maintainer in the Slack channel `#frontend_maintainers` about it.
![Diagram of Issue Boards Architecture](img/boards_diagram.png) ![Diagram of Issue Boards Architecture](img/boards_diagram.png)
......
...@@ -182,7 +182,7 @@ we're using that our target browsers don't support. You don't need to add `core- ...@@ -182,7 +182,7 @@ we're using that our target browsers don't support. You don't need to add `core-
polyfills manually. polyfills manually.
GitLab adds non-`core-js` polyfills for extending browser features (such as GitLab adds non-`core-js` polyfills for extending browser features (such as
GitLab's SVG polyfill), which allow us to reference SVGs by using `<use xlink:href>`. the GitLab SVG polyfill), which allow us to reference SVGs by using `<use xlink:href>`.
Be sure to add these polyfills to `app/assets/javascripts/commons/polyfills.js`. Be sure to add these polyfills to `app/assets/javascripts/commons/polyfills.js`.
To see what polyfills are being used: To see what polyfills are being used:
......
...@@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Frontend Development Guidelines # Frontend Development Guidelines
This document describes various guidelines to ensure consistency and quality This document describes various guidelines to ensure consistency and quality
across GitLab's frontend team. across the GitLab frontend team.
## Overview ## Overview
...@@ -24,7 +24,7 @@ Working with our frontend assets requires Node (v10.13.0 or greater) and Yarn ...@@ -24,7 +24,7 @@ Working with our frontend assets requires Node (v10.13.0 or greater) and Yarn
For our currently-supported browsers, see our [requirements](../../install/requirements.md#supported-web-browsers). For our currently-supported browsers, see our [requirements](../../install/requirements.md#supported-web-browsers).
Use [BrowserStack](https://www.browserstack.com/) to test with our supported browsers. Use [BrowserStack](https://www.browserstack.com/) to test with our supported browsers.
Sign in to BrowserStack with the credentials saved in the **Engineering** vault of GitLab's Sign in to BrowserStack with the credentials saved in the **Engineering** vault of the GitLab
[shared 1Password account](https://about.gitlab.com/handbook/security/#1password-guide). [shared 1Password account](https://about.gitlab.com/handbook/security/#1password-guide).
## Initiatives ## Initiatives
...@@ -41,7 +41,7 @@ How we [plan and execute](development_process.md) the work on the frontend. ...@@ -41,7 +41,7 @@ How we [plan and execute](development_process.md) the work on the frontend.
## Architecture ## Architecture
How we go about [making fundamental design decisions](architecture.md) in GitLab's frontend team How we go about [making fundamental design decisions](architecture.md) in the GitLab frontend team
or make changes to our frontend development guidelines. or make changes to our frontend development guidelines.
## Testing ## Testing
...@@ -56,7 +56,7 @@ Reusable components with technical and usage guidelines can be found in our ...@@ -56,7 +56,7 @@ Reusable components with technical and usage guidelines can be found in our
## Design Patterns ## Design Patterns
Common JavaScript [design patterns](design_patterns.md) in GitLab's codebase. Common JavaScript [design patterns](design_patterns.md) in the GitLab codebase.
## Vue.js Best Practices ## Vue.js Best Practices
......
...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# GraphQL development guidelines # GraphQL development guidelines
This guide contains all the information to successfully contribute to GitLab's This guide contains all the information to successfully contribute to the GitLab
GraphQL API. This is a living document, and we welcome contributions, GraphQL API. This is a living document, and we welcome contributions,
feedback, and suggestions. feedback, and suggestions.
......
...@@ -23,7 +23,7 @@ The first option is to simply [import the Project tarball file via the GitLab UI ...@@ -23,7 +23,7 @@ The first option is to simply [import the Project tarball file via the GitLab UI
It should take up to 15 minutes for the project to fully import. You can head to the project's main page for the current status. It should take up to 15 minutes for the project to fully import. You can head to the project's main page for the current status.
This method ignores all the errors silently (including the ones related to `GITALY_DISABLE_REQUEST_LIMITS`) and is used by GitLab's users. For development and testing, check the other methods below. This method ignores all the errors silently (including the ones related to `GITALY_DISABLE_REQUEST_LIMITS`) and is used by GitLab users. For development and testing, check the other methods below.
### Importing via the `import-project` script ### Importing via the `import-project` script
......
...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Frontend Development Guidelines # Frontend Development Guidelines
This guide contains all the information to successfully contribute to GitLab's frontend. This guide contains all the information to successfully contribute to the GitLab frontend.
This is a living document, and we welcome contributions, feedback, and suggestions. This is a living document, and we welcome contributions, feedback, and suggestions.
## [Development](development/index.md) ## [Development](development/index.md)
......
...@@ -305,7 +305,7 @@ bundle exec stackprof --stackcollapse /tmp/stackprof.55769.c6c3906452.profile | ...@@ -305,7 +305,7 @@ bundle exec stackprof --stackcollapse /tmp/stackprof.55769.c6c3906452.profile |
## RSpec profiling ## RSpec profiling
GitLab's development environment also includes the The GitLab development environment also includes the
[rspec_profiling](https://github.com/foraker/rspec_profiling) gem, which is used [rspec_profiling](https://github.com/foraker/rspec_profiling) gem, which is used
to collect data on spec execution times. This is useful for analyzing the to collect data on spec execution times. This is useful for analyzing the
performance of the test suite itself, or seeing how the performance of a spec performance of the test suite itself, or seeing how the performance of a spec
...@@ -358,7 +358,7 @@ We can use two approaches, often in combination, to track down memory issues: ...@@ -358,7 +358,7 @@ We can use two approaches, often in combination, to track down memory issues:
We can use `memory_profiler` for profiling. We can use `memory_profiler` for profiling.
The [`memory_profiler`](https://github.com/SamSaffron/memory_profiler) gem is already present in GitLab's `Gemfile`, The [`memory_profiler`](https://github.com/SamSaffron/memory_profiler) gem is already present in the GitLab `Gemfile`,
you just need to require it: you just need to require it:
```ruby ```ruby
......
...@@ -457,7 +457,7 @@ Consult the [Review Apps](testing_guide/review_apps.md) dedicated page for more ...@@ -457,7 +457,7 @@ Consult the [Review Apps](testing_guide/review_apps.md) dedicated page for more
### As-if-FOSS jobs ### As-if-FOSS jobs
The `* as-if-foss` jobs allows to run GitLab's test suite "as-if-FOSS", meaning as if the jobs would run in the context The `* as-if-foss` jobs allows the GitLab test suite "as-if-FOSS", meaning as if the jobs would run in the context
of the `gitlab-org/gitlab-foss` project. These jobs are only created in the following cases: of the `gitlab-org/gitlab-foss` project. These jobs are only created in the following cases:
- `gitlab-org/security/gitlab` merge requests. - `gitlab-org/security/gitlab` merge requests.
......
...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
## Deep Dive ## Deep Dive
In December 2018, Tiago Botelho hosted a Deep Dive (GitLab team members only: `https://gitlab.com/gitlab-org/create-stage/issues/1`) In December 2018, Tiago Botelho hosted a Deep Dive (GitLab team members only: `https://gitlab.com/gitlab-org/create-stage/issues/1`)
on GitLab's [Pull Repository Mirroring functionality](../user/project/repository/repository_mirroring.md#pulling-from-a-remote-repository) on the GitLab [Pull Repository Mirroring functionality](../user/project/repository/repository_mirroring.md#pulling-from-a-remote-repository)
to share his domain specific knowledge with anyone who may work in this part of the to share his domain specific knowledge with anyone who may work in this part of the
codebase in the future. You can find the [recording on YouTube](https://www.youtube.com/watch?v=sSZq0fpdY-Y), codebase in the future. You can find the [recording on YouTube](https://www.youtube.com/watch?v=sSZq0fpdY-Y),
and the slides in [PDF](https://gitlab.com/gitlab-org/create-stage/uploads/8693404888a941fd851f8a8ecdec9675/Gitlab_Create_-_Pull_Mirroring_Deep_Dive.pdf). and the slides in [PDF](https://gitlab.com/gitlab-org/create-stage/uploads/8693404888a941fd851f8a8ecdec9675/Gitlab_Create_-_Pull_Mirroring_Deep_Dive.pdf).
......
...@@ -22,7 +22,7 @@ fields. ...@@ -22,7 +22,7 @@ fields.
## Why do we need that? ## Why do we need that?
We need page objects because we need to reduce duplication and avoid problems We need page objects because we need to reduce duplication and avoid problems
whenever someone changes some selectors in GitLab's source code. whenever someone changes some selectors in the GitLab source code.
Imagine that we have a hundred specs in GitLab QA, and we need to sign into Imagine that we have a hundred specs in GitLab QA, and we need to sign into
GitLab each time, before we make assertions. Without a page object, one would GitLab each time, before we make assertions. Without a page object, one would
......
...@@ -18,7 +18,7 @@ This is a partial list of the [RSpec metadata](https://relishapp.com/rspec/rspec ...@@ -18,7 +18,7 @@ This is a partial list of the [RSpec metadata](https://relishapp.com/rspec/rspec
| `:jira` | The test requires a Jira Server. [GitLab-QA](https://gitlab.com/gitlab-org/gitlab-qa) provisions the Jira Server in a Docker container when the `Test::Integration::Jira` test scenario is run. | `:jira` | The test requires a Jira Server. [GitLab-QA](https://gitlab.com/gitlab-org/gitlab-qa) provisions the Jira Server in a Docker container when the `Test::Integration::Jira` test scenario is run.
| `:kubernetes` | The test includes a GitLab instance that is configured to be run behind an SSH tunnel, allowing a TLS-accessible GitLab. This test also includes provisioning of at least one Kubernetes cluster to test against. _This tag is often be paired with `:orchestrated`._ | | `:kubernetes` | The test includes a GitLab instance that is configured to be run behind an SSH tunnel, allowing a TLS-accessible GitLab. This test also includes provisioning of at least one Kubernetes cluster to test against. _This tag is often be paired with `:orchestrated`._ |
| `:only` | The test is only to be run against specific environments or pipelines. See [Environment selection](environment_selection.md) for more information. | | `:only` | The test is only to be run against specific environments or pipelines. See [Environment selection](environment_selection.md) for more information. |
| `:orchestrated` | The GitLab instance under test may be [configured by `gitlab-qa`](https://gitlab.com/gitlab-org/gitlab-qa/-/blob/master/docs/what_tests_can_be_run.md#orchestrated-tests) to be different to the default GitLab configuration, or `gitlab-qa` may launch additional services in separate Docker containers, or both. Tests tagged with `:orchestrated` are excluded when testing environments where we can't dynamically modify GitLab's configuration (for example, Staging). | | `:orchestrated` | The GitLab instance under test may be [configured by `gitlab-qa`](https://gitlab.com/gitlab-org/gitlab-qa/-/blob/master/docs/what_tests_can_be_run.md#orchestrated-tests) to be different to the default GitLab configuration, or `gitlab-qa` may launch additional services in separate Docker containers, or both. Tests tagged with `:orchestrated` are excluded when testing environments where we can't dynamically modify the GitLab configuration (for example, Staging). |
| `:quarantine` | The test has been [quarantined](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#quarantining-tests), runs in a separate job that only includes quarantined tests, and is allowed to fail. The test is skipped in its regular job so that if it fails it doesn't hold up the pipeline. Note that you can also [quarantine a test only when it runs against specific environment](environment_selection.md#quarantining-a-test-for-a-specific-environment). | | `:quarantine` | The test has been [quarantined](https://about.gitlab.com/handbook/engineering/quality/guidelines/debugging-qa-test-failures/#quarantining-tests), runs in a separate job that only includes quarantined tests, and is allowed to fail. The test is skipped in its regular job so that if it fails it doesn't hold up the pipeline. Note that you can also [quarantine a test only when it runs against specific environment](environment_selection.md#quarantining-a-test-for-a-specific-environment). |
| `:reliable` | The test has been [promoted to a reliable test](https://about.gitlab.com/handbook/engineering/quality/guidelines/reliable-tests/#promoting-an-existing-test-to-reliable) meaning it passes consistently in all pipelines, including merge requests. | | `:reliable` | The test has been [promoted to a reliable test](https://about.gitlab.com/handbook/engineering/quality/guidelines/reliable-tests/#promoting-an-existing-test-to-reliable) meaning it passes consistently in all pipelines, including merge requests. |
| `:requires_admin` | The test requires an admin account. Tests with the tag are excluded when run against Canary and Production environments. | | `:requires_admin` | The test requires an admin account. Tests with the tag are excluded when run against Canary and Production environments. |
......
...@@ -1088,7 +1088,7 @@ Some regressions only affect a specific browser version. We can install and test ...@@ -1088,7 +1088,7 @@ Some regressions only affect a specific browser version. We can install and test
[BrowserStack](https://www.browserstack.com/) allows you to test more than 1200 mobile devices and browsers. [BrowserStack](https://www.browserstack.com/) allows you to test more than 1200 mobile devices and browsers.
You can use it directly through the [live app](https://www.browserstack.com/live) or you can install the [chrome extension](https://chrome.google.com/webstore/detail/browserstack/nkihdmlheodkdfojglpcjjmioefjahjb) for easy access. You can use it directly through the [live app](https://www.browserstack.com/live) or you can install the [chrome extension](https://chrome.google.com/webstore/detail/browserstack/nkihdmlheodkdfojglpcjjmioefjahjb) for easy access.
Sign in to BrowserStack with the credentials saved in the **Engineering** vault of GitLab's Sign in to BrowserStack with the credentials saved in the **Engineering** vault of the GitLab
[shared 1Password account](https://about.gitlab.com/handbook/security/#1password-guide). [shared 1Password account](https://about.gitlab.com/handbook/security/#1password-guide).
### Firefox ### Firefox
......
...@@ -102,8 +102,8 @@ subgraph "CNG-mirror pipeline" ...@@ -102,8 +102,8 @@ subgraph "CNG-mirror pipeline"
- The manual `review-stop` can be used to - The manual `review-stop` can be used to
stop a Review App manually, and is also started by GitLab once a merge stop a Review App manually, and is also started by GitLab once a merge
request's branch is deleted after being merged. request's branch is deleted after being merged.
- The Kubernetes cluster is connected to the `gitlab` projects using - The Kubernetes cluster is connected to the `gitlab` projects using the
[GitLab's Kubernetes integration](../../user/project/clusters/index.md). This basically [GitLab Kubernetes integration](../../user/project/clusters/index.md). This basically
allows to have a link to the Review App directly from the merge request widget. allows to have a link to the Review App directly from the merge request widget.
### Auto-stopping of Review Apps ### Auto-stopping of Review Apps
......
...@@ -13,7 +13,7 @@ This is a guide for how to get a Windows development virtual machine on Google C ...@@ -13,7 +13,7 @@ This is a guide for how to get a Windows development virtual machine on Google C
## Why Windows in Google Cloud? ## Why Windows in Google Cloud?
Use of Microsoft Windows operating systems on company laptops is banned under GitLab's [Approved Operating Systems policy](https://about.gitlab.com/handbook/security/approved_os.html#windows). Use of Microsoft Windows operating systems on company laptops is banned under the GitLab [Approved Operating Systems policy](https://about.gitlab.com/handbook/security/approved_os.html#windows).
This can make it difficult to develop features for the Windows platforms. Using GCP allows us to have a temporary Windows machine that can be removed once we're done with it. This can make it difficult to develop features for the Windows platforms. Using GCP allows us to have a temporary Windows machine that can be removed once we're done with it.
......
...@@ -627,7 +627,7 @@ backups are copied to, and is created if it does not exist. If the ...@@ -627,7 +627,7 @@ backups are copied to, and is created if it does not exist. If the
directory that you want to copy the tarballs to is the root of your mounted directory that you want to copy the tarballs to is the root of your mounted
directory, use `.` instead. directory, use `.` instead.
Because file system performance may affect GitLab's overall performance, Because file system performance may affect overall GitLab performance,
[GitLab doesn't recommend using EFS for storage](../administration/nfs.md#avoid-using-awss-elastic-file-system-efs). [GitLab doesn't recommend using EFS for storage](../administration/nfs.md#avoid-using-awss-elastic-file-system-efs).
For Omnibus GitLab packages: For Omnibus GitLab packages:
...@@ -671,7 +671,7 @@ For installations from source: ...@@ -671,7 +671,7 @@ For installations from source:
The backup archives created by GitLab (`1393513186_2014_02_27_gitlab_backup.tar`) The backup archives created by GitLab (`1393513186_2014_02_27_gitlab_backup.tar`)
have the owner/group `git`/`git` and 0600 permissions by default. This is have the owner/group `git`/`git` and 0600 permissions by default. This is
meant to avoid other system users reading GitLab's data. If you need the backup meant to avoid other system users reading GitLab data. If you need the backup
archives to have different permissions, you can use the `archive_permissions` archives to have different permissions, you can use the `archive_permissions`
setting. setting.
......
...@@ -86,7 +86,7 @@ block_auto_created_users: false ...@@ -86,7 +86,7 @@ block_auto_created_users: false
## Disable two-factor authentication for all users ## Disable two-factor authentication for all users
This task disables two-factor authentication (2FA) for all users that have it enabled. This can be This task disables two-factor authentication (2FA) for all users that have it enabled. This can be
useful if GitLab's `config/secrets.yml` file has been lost and users are unable useful if the GitLab `config/secrets.yml` file has been lost and users are unable
to log in, for example. to log in, for example.
To disable two-factor authentication for all users, run: To disable two-factor authentication for all users, run:
......
...@@ -234,7 +234,7 @@ If you renew or upgrade, your data is accessible again. ...@@ -234,7 +234,7 @@ If you renew or upgrade, your data is accessible again.
## CI pipeline minutes ## CI pipeline minutes
CI pipeline minutes are the execution time for your CI pipeline minutes are the execution time for your
[pipelines](../../ci/pipelines/index.md) on GitLab's shared runners. Each [pipelines](../../ci/pipelines/index.md) on GitLab shared runners. Each
[GitLab.com tier](https://about.gitlab.com/pricing/) includes a monthly quota [GitLab.com tier](https://about.gitlab.com/pricing/) includes a monthly quota
of CI pipeline minutes: of CI pipeline minutes:
......
...@@ -27,7 +27,7 @@ When choosing a subscription, there are two factors to consider: ...@@ -27,7 +27,7 @@ When choosing a subscription, there are two factors to consider:
There are some differences in how a subscription applies, depending if you use There are some differences in how a subscription applies, depending if you use
GitLab.com or a self-managed instance: GitLab.com or a self-managed instance:
- [GitLab.com](gitlab_com/index.md): GitLab's software-as-a-service offering. - [GitLab.com](gitlab_com/index.md): The GitLab software-as-a-service offering.
You don't need to install anything to use GitLab.com, you only need to You don't need to install anything to use GitLab.com, you only need to
[sign up](https://gitlab.com/users/sign_up) and start using GitLab straight away. [sign up](https://gitlab.com/users/sign_up) and start using GitLab straight away.
- [GitLab self-managed](self_managed/index.md): Install, administer, and maintain - [GitLab self-managed](self_managed/index.md): Install, administer, and maintain
......
...@@ -42,7 +42,7 @@ with various cloud providers. ...@@ -42,7 +42,7 @@ with various cloud providers.
In order to provide modern DevOps workflows, our Application Development Platform relies on In order to provide modern DevOps workflows, our Application Development Platform relies on
[Auto DevOps](../autodevops/index.md) to provide those workflows. Auto DevOps works with [Auto DevOps](../autodevops/index.md) to provide those workflows. Auto DevOps works with
any Kubernetes cluster; you're not limited to running on GitLab's infrastructure. Additionally, Auto DevOps offers any Kubernetes cluster; you're not limited to running on GitLab infrastructure. Additionally, Auto DevOps offers
an incremental consumption path. Because it is [composable](../autodevops/customize.md#using-components-of-auto-devops), an incremental consumption path. Because it is [composable](../autodevops/customize.md#using-components-of-auto-devops),
you can use as much or as little of the default pipeline as you'd like, and deeply customize without having to integrate a completely different platform. you can use as much or as little of the default pipeline as you'd like, and deeply customize without having to integrate a completely different platform.
......
...@@ -12,7 +12,7 @@ Read them carefully to understand how each one works. ...@@ -12,7 +12,7 @@ Read them carefully to understand how each one works.
## Auto Build ## Auto Build
NOTE: NOTE:
Auto Build is not supported if Docker in Docker is not available for your GitLab Runners, like in OpenShift clusters. GitLab's OpenShift support is tracked [in a dedicated epic](https://gitlab.com/groups/gitlab-org/-/epics/2068). Auto Build is not supported if Docker in Docker is not available for your GitLab Runners, like in OpenShift clusters. The OpenShift support in GitLab is tracked [in a dedicated epic](https://gitlab.com/groups/gitlab-org/-/epics/2068).
Auto Build creates a build of the application using an existing `Dockerfile` or Auto Build creates a build of the application using an existing `Dockerfile` or
Heroku buildpacks. The resulting Docker image is pushed to the Heroku buildpacks. The resulting Docker image is pushed to the
......
...@@ -15,7 +15,7 @@ Once work on the development branch is complete, then the feature branch can be ...@@ -15,7 +15,7 @@ Once work on the development branch is complete, then the feature branch can be
GitLab frequently implements this process whenever there is an MVC that requires multiple MRs. GitLab frequently implements this process whenever there is an MVC that requires multiple MRs.
## Use case: GitLab's release posts ## Use case: GitLab release posts
This section describes the use case with GitLab [release posts](https://about.gitlab.com/handbook/marketing/blog/release-posts/). This section describes the use case with GitLab [release posts](https://about.gitlab.com/handbook/marketing/blog/release-posts/).
Dozens of GitLab team members contribute to each monthly release post. Dozens of GitLab team members contribute to each monthly release post.
......
...@@ -176,8 +176,8 @@ but commented out to help encourage others to add to it in the future. --> ...@@ -176,8 +176,8 @@ but commented out to help encourage others to add to it in the future. -->
- [Getting Started with Git LFS](https://about.gitlab.com/blog/2017/01/30/getting-started-with-git-lfs-tutorial/) - [Getting Started with Git LFS](https://about.gitlab.com/blog/2017/01/30/getting-started-with-git-lfs-tutorial/)
- [Migrate from Git Annex to Git LFS](migrate_from_git_annex_to_git_lfs.md) - [Migrate from Git Annex to Git LFS](migrate_from_git_annex_to_git_lfs.md)
- [GitLab's Git LFS user documentation](index.md) - [GitLab Git LFS user documentation](index.md)
- [GitLab's Git LFS administrator documentation](../../../administration/lfs/index.md) - [GitLab Git LFS administrator documentation](../../../administration/lfs/index.md)
- Alternative method to [migrate an existing repository to Git LFS](https://github.com/git-lfs/git-lfs/wiki/Tutorial#migrating-existing-repository-data-to-lfs) - Alternative method to [migrate an existing repository to Git LFS](https://github.com/git-lfs/git-lfs/wiki/Tutorial#migrating-existing-repository-data-to-lfs)
<!-- <!--
......
...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
Welcome to Topics! We have organized our content resources into topics Welcome to Topics! We have organized our content resources into topics
to get you started on areas of your interest. Each topic page to get you started on areas of your interest. Each topic page
consists of an index listing all related content. It guides consists of an index listing all related content. It guides
you through better understanding GitLab's concepts you through better understanding GitLab concepts
through our regular docs, and, when available, through articles (guides, through our regular docs, and, when available, through articles (guides,
tutorials, technical overviews, blog posts) and videos. tutorials, technical overviews, blog posts) and videos.
......
...@@ -51,7 +51,7 @@ The GitLab University curriculum is composed of GitLab videos, screencasts, pres ...@@ -51,7 +51,7 @@ The GitLab University curriculum is composed of GitLab videos, screencasts, pres
1. [Creating a Project in GitLab - Video](https://www.youtube.com/watch?v=7p0hrpNaJ14) 1. [Creating a Project in GitLab - Video](https://www.youtube.com/watch?v=7p0hrpNaJ14)
1. [How to Create Files and Directories](https://about.gitlab.com/blog/2016/02/10/feature-highlight-create-files-and-directories-from-files-page/) 1. [How to Create Files and Directories](https://about.gitlab.com/blog/2016/02/10/feature-highlight-create-files-and-directories-from-files-page/)
1. [GitLab To-Do List](https://about.gitlab.com/blog/2016/03/02/gitlab-todos-feature-highlight/) 1. [GitLab To-Do List](https://about.gitlab.com/blog/2016/03/02/gitlab-todos-feature-highlight/)
1. [GitLab's Work in Progress (WIP) Flag](https://about.gitlab.com/blog/2016/01/08/feature-highlight-wip/) 1. [GitLab Work in Progress (WIP) Flag](https://about.gitlab.com/blog/2016/01/08/feature-highlight-wip/)
### 1.5. Migrating from other Source Control ### 1.5. Migrating from other Source Control
......
...@@ -36,7 +36,7 @@ command on your active database server: ...@@ -36,7 +36,7 @@ command on your active database server:
sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dump -h /var/opt/gitlab/postgresql -p 5432 -U gitlab-psql -s -f /tmp/structure.sql gitlabhq_production sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dump -h /var/opt/gitlab/postgresql -p 5432 -U gitlab-psql -s -f /tmp/structure.sql gitlabhq_production
``` ```
If you're not using GitLab's Omnibus package you may have to adjust the paths to If you're not using the Omnibus GitLab package you may have to adjust the paths to
`pg_dump` and the PostgreSQL installation directory to match the paths of your `pg_dump` and the PostgreSQL installation directory to match the paths of your
configuration. configuration.
......
...@@ -20,9 +20,9 @@ To see DevOps Report, go to **Admin Area > Analytics > DevOps Report**. ...@@ -20,9 +20,9 @@ To see DevOps Report, go to **Admin Area > Analytics > DevOps Report**.
NOTE: NOTE:
Your GitLab instance's [usage ping](../settings/usage_statistics.md#usage-ping) must be activated in order to use this feature. Your GitLab instance's [usage ping](../settings/usage_statistics.md#usage-ping) must be activated in order to use this feature.
The DevOps Score tab displays the usage of GitLab's major features on your instance over The DevOps Score tab displays the usage of major GitLab features on your instance over
the last 30 days, averaged over the number of billable users in that time period. It also the last 30 days, averaged over the number of billable users in that time period. It also
provides a Lead score per feature, which is calculated based on GitLab's analysis provides a Lead score per feature, which is calculated based on GitLab analysis
of top-performing instances based on [usage ping data](../settings/usage_statistics.md#usage-ping) that GitLab has of top-performing instances based on [usage ping data](../settings/usage_statistics.md#usage-ping) that GitLab has
collected. Your score is compared to the lead score of each feature and then expressed as a percentage at the bottom of said feature. collected. Your score is compared to the lead score of each feature and then expressed as a percentage at the bottom of said feature.
Your overall **DevOps Score** is an average of your feature scores. You can use this score to compare your DevOps status to other organizations. Your overall **DevOps Score** is an average of your feature scores. You can use this score to compare your DevOps status to other organizations.
...@@ -32,7 +32,7 @@ Your overall **DevOps Score** is an average of your feature scores. You can use ...@@ -32,7 +32,7 @@ Your overall **DevOps Score** is an average of your feature scores. You can use
The page also provides helpful links to articles and GitLab docs, to help you The page also provides helpful links to articles and GitLab docs, to help you
improve your scores. improve your scores.
Usage ping data is aggregated on GitLab's servers for analysis. Your usage Usage ping data is aggregated on GitLab servers for analysis. Your usage
information is **not sent** to any other GitLab instances. If you have just started using GitLab, it may take a few weeks for data to be information is **not sent** to any other GitLab instances. If you have just started using GitLab, it may take a few weeks for data to be
collected before this feature is available. collected before this feature is available.
...@@ -40,7 +40,7 @@ collected before this feature is available. ...@@ -40,7 +40,7 @@ collected before this feature is available.
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/247112) in GitLab 13.7. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/247112) in GitLab 13.7.
The DevOps Adoption tab shows you which segments of your organization are using GitLab's most essential features: The DevOps Adoption tab shows you which segments of your organization are using the most essential features of GitLab:
- Issues - Issues
- Merge Requests - Merge Requests
......
...@@ -37,7 +37,7 @@ The Admin Area is made up of the following sections: ...@@ -37,7 +37,7 @@ The Admin Area is made up of the following sections:
| **{lock}** Credentials **(ULTIMATE ONLY)** | View [credentials](credentials_inventory.md) that can be used to access your instance. | | **{lock}** Credentials **(ULTIMATE ONLY)** | View [credentials](credentials_inventory.md) that can be used to access your instance. |
| **{template}** Service Templates | Create [service templates](../project/integrations/services_templates.md) for projects. | | **{template}** Service Templates | Create [service templates](../project/integrations/services_templates.md) for projects. |
| **{labels}** Labels | Create and maintain [labels](labels.md) for your GitLab instance. | | **{labels}** Labels | Create and maintain [labels](labels.md) for your GitLab instance. |
| **{appearance}** Appearance | Customize [GitLab's appearance](appearance.md). | | **{appearance}** Appearance | Customize [GitLab appearance](appearance.md). |
| **{settings}** Settings | Modify the [settings](settings/index.md) for your GitLab instance. | | **{settings}** Settings | Modify the [settings](settings/index.md) for your GitLab instance. |
## Admin Dashboard ## Admin Dashboard
......
...@@ -40,7 +40,7 @@ the [Omnibus GitLab documentation](https://docs.gitlab.com/omnibus/settings/logs ...@@ -40,7 +40,7 @@ the [Omnibus GitLab documentation](https://docs.gitlab.com/omnibus/settings/logs
## Configuration ## Configuration
The external authorization service can be enabled by an admin on the GitLab's The external authorization service can be enabled by an administrator on the GitLab
**Admin Area > Settings > General** page: **Admin Area > Settings > General** page:
![Enable external authorization service](img/external_authorization_service_settings.png) ![Enable external authorization service](img/external_authorization_service_settings.png)
......
...@@ -65,7 +65,7 @@ Access the default page for admin area settings by navigating to **Admin Area > ...@@ -65,7 +65,7 @@ Access the default page for admin area settings by navigating to **Admin Area >
| ------ | ----------- | | ------ | ----------- |
| [Continuous Integration and Deployment](continuous_integration.md) | Auto DevOps, runners and job artifacts. | | [Continuous Integration and Deployment](continuous_integration.md) | Auto DevOps, runners and job artifacts. |
| [Required pipeline configuration](continuous_integration.md#required-pipeline-configuration) **(PREMIUM ONLY)** | Set an instance-wide auto included [pipeline configuration](../../../ci/yaml/README.md). This pipeline configuration is run after the project's own configuration. | | [Required pipeline configuration](continuous_integration.md#required-pipeline-configuration) **(PREMIUM ONLY)** | Set an instance-wide auto included [pipeline configuration](../../../ci/yaml/README.md). This pipeline configuration is run after the project's own configuration. |
| [Package Registry](continuous_integration.md#package-registry-configuration) | Settings related to the use and experience of using GitLab's Package Registry. Note there are [risks involved](../../packages/container_registry/index.md#use-with-external-container-registries) in enabling some of these settings. | | [Package Registry](continuous_integration.md#package-registry-configuration) | Settings related to the use and experience of using the GitLab Package Registry. Note there are [risks involved](../../packages/container_registry/index.md#use-with-external-container-registries) in enabling some of these settings. |
## Reporting ## Reporting
......
...@@ -734,7 +734,7 @@ faults it reports. ...@@ -734,7 +734,7 @@ faults it reports.
## Viewing fuzzing faults ## Viewing fuzzing faults
The API Fuzzing analyzer produces a JSON report that is collected and used The API Fuzzing analyzer produces a JSON report that is collected and used
[to populate the faults into GitLab's vulnerability screens](../index.md#view-details-of-an-api-fuzzing-vulnerability). [to populate the faults into GitLab vulnerability screens](../index.md#view-details-of-an-api-fuzzing-vulnerability).
Fuzzing faults show up as vulnerabilities with a severity of Unknown. Fuzzing faults show up as vulnerabilities with a severity of Unknown.
The faults that API fuzzing finds require manual investigation and aren't associated with a specific The faults that API fuzzing finds require manual investigation and aren't associated with a specific
...@@ -754,7 +754,7 @@ pipelines. For more information, see the [Security Dashboard documentation](../s ...@@ -754,7 +754,7 @@ pipelines. For more information, see the [Security Dashboard documentation](../s
### Interacting with the vulnerabilities ### Interacting with the vulnerabilities
Fuzzing faults show up as vulnerabilities with a severity of Unknown. Fuzzing faults show up as vulnerabilities with a severity of Unknown.
Once a fault is found, you can interact with it. Read more on how to Once a fault is found, you can interact with it. Read more on how to
[interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities). [interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities).
......
...@@ -110,7 +110,7 @@ The scanning tools and vulnerabilities database are updated regularly. ...@@ -110,7 +110,7 @@ The scanning tools and vulnerabilities database are updated regularly.
| Secure scanning tool | Vulnerabilities database updates | | Secure scanning tool | Vulnerabilities database updates |
|:-------------------------------------------------------------|-------------------------------------------| |:-------------------------------------------------------------|-------------------------------------------|
| [Container Scanning](container_scanning/index.md) | Uses `clair`. The latest `clair-db` version is used for each job by running the [`latest` Docker image tag](https://gitlab.com/gitlab-org/gitlab/blob/438a0a56dc0882f22bdd82e700554525f552d91b/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L37). The `clair-db` database [is updated daily according to the author](https://github.com/arminc/clair-local-scan#clair-server-or-local). | | [Container Scanning](container_scanning/index.md) | Uses `clair`. The latest `clair-db` version is used for each job by running the [`latest` Docker image tag](https://gitlab.com/gitlab-org/gitlab/blob/438a0a56dc0882f22bdd82e700554525f552d91b/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L37). The `clair-db` database [is updated daily according to the author](https://github.com/arminc/clair-local-scan#clair-server-or-local). |
| [Dependency Scanning](dependency_scanning/index.md) | Relies on `bundler-audit` (for Ruby gems), `retire.js` (for NPM packages), and `gemnasium` (GitLab's own tool for all libraries). Both `bundler-audit` and `retire.js` fetch their vulnerabilities data from GitHub repositories, so vulnerabilities added to `ruby-advisory-db` and `retire.js` are immediately available. The tools themselves are updated once per month if there's a new version. The [Gemnasium DB](https://gitlab.com/gitlab-org/security-products/gemnasium-db) is updated at least once a week. See our [current measurement of time from CVE being issued to our product being updated](https://about.gitlab.com/handbook/engineering/development/performance-indicators/#cve-issue-to-update). | | [Dependency Scanning](dependency_scanning/index.md) | Relies on `bundler-audit` (for Ruby gems), `retire.js` (for NPM packages), and `gemnasium` (the GitLab tool for all libraries). Both `bundler-audit` and `retire.js` fetch their vulnerabilities data from GitHub repositories, so vulnerabilities added to `ruby-advisory-db` and `retire.js` are immediately available. The tools themselves are updated once per month if there's a new version. The [Gemnasium DB](https://gitlab.com/gitlab-org/security-products/gemnasium-db) is updated at least once a week. See our [current measurement of time from CVE being issued to our product being updated](https://about.gitlab.com/handbook/engineering/development/performance-indicators/#cve-issue-to-update). |
| [Dynamic Application Security Testing (DAST)](dast/index.md) | The scanning engine is updated on a periodic basis. See the [version of the underlying tool `zaproxy`](https://gitlab.com/gitlab-org/security-products/dast/blob/master/Dockerfile#L1). The scanning rules are downloaded at scan runtime. | | [Dynamic Application Security Testing (DAST)](dast/index.md) | The scanning engine is updated on a periodic basis. See the [version of the underlying tool `zaproxy`](https://gitlab.com/gitlab-org/security-products/dast/blob/master/Dockerfile#L1). The scanning rules are downloaded at scan runtime. |
| [Static Application Security Testing (SAST)](sast/index.md) | Relies exclusively on [the tools GitLab wraps](sast/index.md#supported-languages-and-frameworks). The underlying analyzers are updated at least once per month if a relevant update is available. The vulnerabilities database is updated by the upstream tools. | | [Static Application Security Testing (SAST)](sast/index.md) | Relies exclusively on [the tools GitLab wraps](sast/index.md#supported-languages-and-frameworks). The underlying analyzers are updated at least once per month if a relevant update is available. The vulnerabilities database is updated by the upstream tools. |
......
...@@ -92,7 +92,7 @@ which apply to the entire Web IDE screen. ...@@ -92,7 +92,7 @@ which apply to the entire Web IDE screen.
## Behavior ## Behavior
The following settings allow you to customize the behavior of GitLab's layout The following settings allow you to customize the behavior of the GitLab layout
and default views of your dashboard and the projects' landing pages. and default views of your dashboard and the projects' landing pages.
### Layout width ### Layout width
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment