diff --git a/app/assets/javascripts/design_management/pages/design/index.vue b/app/assets/javascripts/design_management/pages/design/index.vue index e07279ba39d..fb86568c304 100644 --- a/app/assets/javascripts/design_management/pages/design/index.vue +++ b/app/assets/javascripts/design_management/pages/design/index.vue @@ -4,6 +4,7 @@ import { GlLoadingIcon, GlAlert } from '@gitlab/ui'; import { ApolloMutation } from 'vue-apollo'; import createFlash from '~/flash'; import { fetchPolicies } from '~/lib/graphql'; +import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import allVersionsMixin from '../../mixins/all_versions'; import Toolbar from '../../components/toolbar/index.vue'; import DesignDestroyer from '../../components/design_destroyer.vue'; @@ -37,7 +38,7 @@ import { TOGGLE_TODO_ERROR, designDeletionError, } from '../../utils/error_messages'; -import { trackDesignDetailView } from '../../utils/tracking'; +import { trackDesignDetailView, usagePingDesignDetailView } from '../../utils/tracking'; import { DESIGNS_ROUTE_NAME } from '../../router/constants'; import { ACTIVE_DISCUSSION_SOURCE_TYPES, DESIGN_DETAIL_LAYOUT_CLASSLIST } from '../../constants'; @@ -55,7 +56,7 @@ export default { GlAlert, DesignSidebar, }, - mixins: [allVersionsMixin], + mixins: [allVersionsMixin, glFeatureFlagsMixin()], props: { id: { type: String, @@ -150,7 +151,7 @@ export default { }, mounted() { Mousetrap.bind('esc', this.closeDesign); - this.trackEvent(); + this.trackPageViewEvent(); // Set active discussion immediately. // This will ensure that, if a note is specified in the URL hash, @@ -274,7 +275,7 @@ export default { query: this.$route.query, }); }, - trackEvent() { + trackPageViewEvent() { // TODO: This needs to be made aware of referers, or if it's rendered in a different context than a Issue trackDesignDetailView( 'issue-design-collection', @@ -282,6 +283,10 @@ export default { this.$route.query.version || this.latestVersionId, this.isLatestVersion, ); + + if (this.glFeatures.usageDataDesignAction) { + usagePingDesignDetailView(); + } }, updateActiveDiscussion(id, source = ACTIVE_DISCUSSION_SOURCE_TYPES.discussion) { this.$apollo.mutate({ diff --git a/app/assets/javascripts/design_management/utils/tracking.js b/app/assets/javascripts/design_management/utils/tracking.js index 4a39268c38b..fccb49b574b 100644 --- a/app/assets/javascripts/design_management/utils/tracking.js +++ b/app/assets/javascripts/design_management/utils/tracking.js @@ -1,6 +1,7 @@ import Tracking from '~/tracking'; +import api from '~/api'; -// Tracking Constants +// Snowplow tracking constants const DESIGN_TRACKING_CONTEXT_SCHEMAS = { VIEW_DESIGN_SCHEMA: 'iglu:com.gitlab/design_management_context/jsonschema/1-0-0', }; @@ -10,8 +11,14 @@ const DESIGN_TRACKING_EVENTS = { UPDATE_DESIGN: 'update_design', }; +// Usage ping tracking constants +const DESIGN_ACTION = 'design_action'; + export const DESIGN_TRACKING_PAGE_NAME = 'projects:issues:design'; +/** + * Track "design detail" view in Snowplow + */ export function trackDesignDetailView( referer = '', owner = '', @@ -19,6 +26,7 @@ export function trackDesignDetailView( latestVersion = false, ) { const eventName = DESIGN_TRACKING_EVENTS.VIEW_DESIGN; + Tracking.event(DESIGN_TRACKING_PAGE_NAME, eventName, { label: eventName, context: { @@ -40,3 +48,10 @@ export function trackDesignCreate() { export function trackDesignUpdate() { return Tracking.event(DESIGN_TRACKING_PAGE_NAME, DESIGN_TRACKING_EVENTS.UPDATE_DESIGN); } + +/** + * Track "design detail" view via usage ping + */ +export function usagePingDesignDetailView() { + api.trackRedisHllUserEvent(DESIGN_ACTION); +} diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index eb0714c0282..b2b0c423da2 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -44,6 +44,7 @@ class Projects::IssuesController < Projects::ApplicationController push_frontend_feature_flag(:vue_issuable_sidebar, project.group) push_frontend_feature_flag(:tribute_autocomplete, @project) push_frontend_feature_flag(:vue_issuables_list, project) + push_frontend_feature_flag(:usage_data_design_action, project, default_enabled: true) end before_action only: :show do diff --git a/changelogs/unreleased/270093-add-primary-key-to-mrcc-diff-files.yml b/changelogs/unreleased/270093-add-primary-key-to-mrcc-diff-files.yml new file mode 100644 index 00000000000..2bb5a496057 --- /dev/null +++ b/changelogs/unreleased/270093-add-primary-key-to-mrcc-diff-files.yml @@ -0,0 +1,5 @@ +--- +title: Add primary key to merge_request_context_commit_diff_files +merge_request: 49024 +author: +type: changed diff --git a/changelogs/unreleased/fe-design0view-usage-ping.yml b/changelogs/unreleased/fe-design0view-usage-ping.yml new file mode 100644 index 00000000000..f897beee262 --- /dev/null +++ b/changelogs/unreleased/fe-design0view-usage-ping.yml @@ -0,0 +1,5 @@ +--- +title: Capture design detail views via usage ping +merge_request: 46751 +author: +type: added diff --git a/changelogs/unreleased/jimcser-master-patch-94937.yml b/changelogs/unreleased/jimcser-master-patch-94937.yml new file mode 100644 index 00000000000..a666e737a84 --- /dev/null +++ b/changelogs/unreleased/jimcser-master-patch-94937.yml @@ -0,0 +1,5 @@ +--- +title: Add link in Access Request API +merge_request: 48081 +author: jimcser +type: fixed diff --git a/config/feature_flags/development/usage_data_design_action.yml b/config/feature_flags/development/usage_data_design_action.yml new file mode 100644 index 00000000000..e013237ecca --- /dev/null +++ b/config/feature_flags/development/usage_data_design_action.yml @@ -0,0 +1,8 @@ +--- +name: usage_data_design_action +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46626 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/287630 +milestone: '13.7' +type: development +group: group::knowledge +default_enabled: true diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb index 7ac2559073e..9f5323426d9 100644 --- a/config/object_store_settings.rb +++ b/config/object_store_settings.rb @@ -128,6 +128,7 @@ class ObjectStoreSettings if section['enabled'] && target_config['bucket'].blank? missing_bucket_for(store_type) + next end # If a storage type such as Pages defines its own connection and does not diff --git a/db/migrate/20201202155913_add_primary_key_to_merge_request_context_commit_diff_files.rb b/db/migrate/20201202155913_add_primary_key_to_merge_request_context_commit_diff_files.rb new file mode 100644 index 00000000000..90c7b2731c8 --- /dev/null +++ b/db/migrate/20201202155913_add_primary_key_to_merge_request_context_commit_diff_files.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class AddPrimaryKeyToMergeRequestContextCommitDiffFiles < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def up + execute(<<~SQL) + DELETE FROM merge_request_context_commit_diff_files + WHERE merge_request_context_commit_id IS NULL; + + DELETE FROM merge_request_context_commit_diff_files df1 + USING merge_request_context_commit_diff_files df2 + WHERE df1.ctid < df2.ctid + AND df1.merge_request_context_commit_id = df2.merge_request_context_commit_id + AND df1.relative_order = df2.relative_order; + + ALTER TABLE merge_request_context_commit_diff_files + ADD CONSTRAINT merge_request_context_commit_diff_files_pkey PRIMARY KEY (merge_request_context_commit_id, relative_order); + SQL + end + + def down + execute(<<~SQL) + ALTER TABLE merge_request_context_commit_diff_files + DROP CONSTRAINT merge_request_context_commit_diff_files_pkey, + ALTER COLUMN merge_request_context_commit_id DROP NOT NULL + SQL + end +end diff --git a/db/migrate/20201202161021_remove_redundant_index_on_merge_request_context_commit_diff_files.rb b/db/migrate/20201202161021_remove_redundant_index_on_merge_request_context_commit_diff_files.rb new file mode 100644 index 00000000000..a9c0a079955 --- /dev/null +++ b/db/migrate/20201202161021_remove_redundant_index_on_merge_request_context_commit_diff_files.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class RemoveRedundantIndexOnMergeRequestContextCommitDiffFiles < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + remove_concurrent_index_by_name :merge_request_context_commit_diff_files, 'idx_mr_cc_diff_files_on_mr_cc_id' + end + + def down + # no-op: this index is not tracked in structure.sql, and is redundant due to idx_mr_cc_diff_files_on_mr_cc_id_and_sha + end +end diff --git a/db/schema_migrations/20201202155913 b/db/schema_migrations/20201202155913 new file mode 100644 index 00000000000..7cb0055455d --- /dev/null +++ b/db/schema_migrations/20201202155913 @@ -0,0 +1 @@ +926f54b5756fa9495e71f2340823418b5679195d5720212dddda0d0c6396629e \ No newline at end of file diff --git a/db/schema_migrations/20201202161021 b/db/schema_migrations/20201202161021 new file mode 100644 index 00000000000..eae05342e40 --- /dev/null +++ b/db/schema_migrations/20201202161021 @@ -0,0 +1 @@ +696c1d9f8cc90337549530e129e6abf4429d218f151cefaacacacb6e3f33d1c7 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 76f6f1561f8..12626548d9e 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -13695,7 +13695,7 @@ CREATE TABLE merge_request_context_commit_diff_files ( old_path text NOT NULL, diff text, "binary" boolean, - merge_request_context_commit_id bigint + merge_request_context_commit_id bigint NOT NULL ); CREATE TABLE merge_request_context_commits ( @@ -19550,6 +19550,9 @@ ALTER TABLE ONLY merge_request_blocks ALTER TABLE ONLY merge_request_cleanup_schedules ADD CONSTRAINT merge_request_cleanup_schedules_pkey PRIMARY KEY (merge_request_id); +ALTER TABLE ONLY merge_request_context_commit_diff_files + ADD CONSTRAINT merge_request_context_commit_diff_files_pkey PRIMARY KEY (merge_request_context_commit_id, relative_order); + ALTER TABLE ONLY merge_request_context_commits ADD CONSTRAINT merge_request_context_commits_pkey PRIMARY KEY (id); diff --git a/doc/.vale/gitlab/AlertBoxNoteTip.yml b/doc/.vale/gitlab/AlertBoxNoteTip.yml index 0b480794476..62bd89f7ca6 100644 --- a/doc/.vale/gitlab/AlertBoxNoteTip.yml +++ b/doc/.vale/gitlab/AlertBoxNoteTip.yml @@ -5,7 +5,7 @@ # # For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles extends: substitution -message: "NOTE: and TIP: alert boxes must be of the format 'NOTE: **Note:**' or 'TIP: **Tip:**" +message: "NOTE: and TIP: alert boxes must be of the format 'NOTE:' or 'TIP: **Tip:**" link: https://docs.gitlab.com/ee/development/documentation/styleguide.html#alert-boxes level: warning nonword: true diff --git a/doc/README.md b/doc/README.md index ad7a494c3ee..0168709566f 100644 --- a/doc/README.md +++ b/doc/README.md @@ -23,14 +23,14 @@ Here you can access the complete documentation for GitLab, the single applicatio No matter how you use GitLab, we have documentation for you. -| Essential documentation | Essential documentation | -|:------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------| -| [**User documentation**](user/index.md)
Discover features and concepts for GitLab users. | [**Administrator documentation**](administration/index.md)
Everything GitLab self-managed administrators need to know. | -| [**Contributing to GitLab**](#contributing-to-gitlab)
At GitLab, everyone can contribute! | [**New to Git and GitLab?**](#new-to-git-and-gitlab)
We have the resources to get you started. | -| [**Build an integration with GitLab**](#build-an-integration-with-gitlab)
Consult our automation and integration documentation. | [**Coming to GitLab from another platform?**](#coming-to-gitlab-from-another-platform)
Consult our guides. | -| [**Install GitLab**](https://about.gitlab.com/install/)
Installation options for different platforms. | [**Customers**](subscriptions/index.md)
Information for new and existing customers. | -| [**Update GitLab**](update/README.md)
Update your GitLab self-managed instance to the latest version. | [**Reference Architectures**](administration/reference_architectures/index.md)
GitLab's reference architectures | -| [**GitLab releases**](https://about.gitlab.com/releases/)
What's new in GitLab. | | +| Essential documentation | Essential documentation | +|:---------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------| +| [**User documentation**](user/index.md)
Discover features and concepts for GitLab users. | [**Administrator documentation**](administration/index.md)
Everything GitLab self-managed administrators need to know. | +| [**Contributing to GitLab**](#contributing-to-gitlab)
At GitLab, everyone can contribute! | [**New to Git and GitLab?**](#new-to-git-and-gitlab)
We have the resources to get you started. | +| [**Build an integration with GitLab**](#build-an-integration-with-gitlab)
Consult our integration documentation. | [**Coming to GitLab from another platform?**](#coming-to-gitlab-from-another-platform)
Consult our guides. | +| [**Install GitLab**](https://about.gitlab.com/install/)
Installation options for different platforms. | [**Customers**](subscriptions/index.md)
Information for new and existing customers. | +| [**Update GitLab**](update/README.md)
Update your GitLab self-managed instance to the latest version. | [**Reference Architectures**](administration/reference_architectures/index.md)
GitLab's reference architectures | +| [**GitLab releases**](https://about.gitlab.com/releases/)
What's new in GitLab. | | ## Popular topics @@ -53,349 +53,10 @@ Have a look at some of our most popular topics: ## The entire DevOps lifecycle GitLab is the first single application for software development, security, -and operations that enables [Concurrent DevOps](https://about.gitlab.com/topics/concurrent-devops/), -making the software lifecycle faster and radically improving the speed of business. +and operations that enables [Concurrent DevOps](https://about.gitlab.com/topics/concurrent-devops/). +GitLab makes the software lifecycle faster and radically improves the speed of business. -GitLab provides solutions for [each of the stages of the DevOps lifecycle](https://about.gitlab.com/stages-devops-lifecycle/): - -![DevOps Stages](img/devops-stages-13_3.png) - -GitLab is like a top-of-the-line kitchen for making software. As the executive -chef, you decide what software you want to serve. Using your recipe, GitLab handles -all the prep work, cooking, and delivery, so you can turn around orders faster -than ever. - -The following sections provide links to documentation for each DevOps stage: - -| DevOps stage | Documentation for | -|:------------------------|:------------------------------------------------------------| -| [Manage](#manage) | Statistics and analytics features. | -| [Plan](#plan) | Project planning and management features. | -| [Create](#create) | Source code, data creation, and management features. | -| [Verify](#verify) | Testing, code quality, and continuous integration features. | -| [Package](#package) | Docker container registry. | -| [Secure](#secure) | Security capability features. | -| [Release](#release) | Application release and delivery features. | -| [Configure](#configure) | Application and infrastructure configuration tools. | -| [Monitor](#monitor) | Application monitoring and metrics features. | -| [Defend](#defend) | Protection against security intrusions. | - -
- - Back to Overview - -
- -### Manage - -GitLab provides statistics and insights into ways you can maximize the value of GitLab in your organization. - -The following documentation relates to the DevOps **Manage** stage: - -| Manage topics | Description | -|:--------------------------------------------------------------------------------------|:---------------------------------------------------------------------------| -| [Authentication and
Authorization](administration/auth/README.md) **(CORE ONLY)** | Supported authentication and authorization providers. | -| [GitLab Value Stream Analytics](user/analytics/value_stream_analytics.md) | Measure the time it takes to go from an [idea to production](https://about.gitlab.com/blog/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#from-idea-to-production-with-gitlab) for each project you have. | -| [Instance-level analytics](user/admin_area/analytics/index.md) | Discover statistics on how many GitLab features you use and user activity. | - -
- - Back to Overview - -
- -### Plan - -Whether you use Waterfall, Agile, or Conversational Development, GitLab streamlines your collaborative workflows. - -Visualize, prioritize, coordinate, and track your progress your way with GitLab’s flexible project -management tools. - -The following documentation relates to the DevOps **Plan** stage: - -| Plan topics | Description | -|:-----------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------| -| [Burndown charts](user/project/milestones/burndown_and_burnup_charts.md) **(STARTER)** | Watch your project's progress throughout a specific milestone. | -| [Discussions](user/discussions/index.md) | Threads, comments, and resolvable threads in issues, commits, and merge requests. | -| [Due dates](user/project/issues/due_dates.md) | Keep track of issue deadlines. | -| [Epics](user/group/epics/index.md) **(ULTIMATE)** | Tracking groups of issues that share a theme. | -| [Issues](user/project/issues/index.md), including [confidential issues](user/project/issues/confidential_issues.md),
[issue and merge request templates](user/project/description_templates.md),
and [moving issues](user/project/issues/managing_issues.md#moving-issues) | Project issues and restricting access to issues as well as creating templates for submitting new issues and merge requests. Also, moving issues between projects. | -| [Labels](user/project/labels.md) | Categorize issues or merge requests with descriptive labels. | -| [Milestones](user/project/milestones/index.md) | Set milestones for delivery of issues and merge requests, with optional due date. | -| [Project Issue Board](user/project/issue_board.md) | Display issues on a Scrum or Kanban board. | -| [Quick Actions](user/project/quick_actions.md) | Shortcuts for common actions on issues or merge requests, replacing the need to click buttons or use dropdowns in GitLab's UI. | -| [Related issues](user/project/issues/related_issues.md) | Create a relationship between issues. | -| [Requirements Management](user/project/requirements/index.md) **(ULTIMATE)** | Check your products against a set of criteria. | -| [Roadmap](user/group/roadmap/index.md) **(ULTIMATE)** | Visualize epic timelines. | -| [Service Desk](user/project/service_desk.md) | A simple way to allow people to create issues in your GitLab instance without needing their own user account. | -| [Time Tracking](user/project/time_tracking.md) | Track time spent on issues and merge requests. | -| [To-Do list](user/todos.md) | Keep track of work requiring attention with a chronological list displayed on a simple dashboard. | - -
- - Back to Overview - -
- -### Create - -Consolidate source code into a single [distributed version control system](https://en.wikipedia.org/wiki/Distributed_version_control) -that’s easily managed and controlled without disrupting your workflow. - -GitLab repositories come complete with branching tools and access -controls, providing a scalable, single source of truth for collaborating -on projects and code. - -The following documentation relates to the DevOps **Create** stage: - -#### Projects and groups - -| Create topics - Projects and Groups | Description | -|:-----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------| -| [Advanced search](user/search/advanced_global_search.md) **(STARTER)** | Leverage Elasticsearch for faster, more advanced code search across your entire GitLab instance. | -| [Advanced syntax search](user/search/advanced_search_syntax.md) **(STARTER)** | Use advanced queries for more targeted search results. | -| [Contribution analytics](user/group/contribution_analytics/index.md) **(STARTER)** | See detailed statistics of group contributors. | -| [Create](gitlab-basics/create-project.md) and [fork](gitlab-basics/fork-project.md) projects, and
[import and export projects
between instances](user/project/settings/import_export.md) | Create, duplicate, and move projects. | -| [File locking](user/project/file_lock.md) **(PREMIUM)** | Lock files to avoid merge conflicts. | -| [GitLab Pages](user/project/pages/index.md) | Build, test, and deploy your static website with GitLab Pages. | -| [Groups](user/group/index.md) and [Subgroups](user/group/subgroups/index.md) | Organize your projects in groups. | -| [Issue analytics](user/group/issues_analytics/index.md) **(PREMIUM)** | Check how many issues were created per month. | -| [Merge Request analytics](user/analytics/merge_request_analytics.md) **(PREMIUM)** | Check your throughput productivity - how many merge requests were merged per month. | -| [Projects](user/project/index.md), including [project access](public_access/public_access.md)
and [settings](user/project/settings/index.md) | Host source code, and control your project's visibility and set configuration. | -| [Search through GitLab](user/search/index.md) | Search for issues, merge requests, projects, groups, and to-dos. | -| [Snippets](user/snippets.md) | Snippets allow you to create little bits of code. | -| [Web IDE](user/project/web_ide/index.md) | Edit files within GitLab's user interface. | -| [Static Site Editor](user/project/static_site_editor/index.md) | Edit content on static websites. | -| [Wikis](user/project/wiki/index.md) | Enhance your repository documentation with built-in wikis. | - -
- - Back to Overview - -
- -#### Repositories - -| Create topics - Repositories | Description | -|:-----------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------| -| [Branches](user/project/repository/branches/index.md) and the [default branch](user/project/repository/branches/index.md#default-branch) | How to use branches in GitLab. | -| [Commits](user/project/repository/index.md#commits) and [signing commits](user/project/repository/gpg_signed_commits/index.md) | Work with commits, and use GPG to sign your commits. | -| [Create branches](user/project/repository/web_editor.md#create-a-new-branch), [create](user/project/repository/web_editor.md#create-a-file)
and [upload](user/project/repository/web_editor.md#upload-a-file) files, and [create directories](user/project/repository/web_editor.md#create-a-directory) | Create branches, create and upload files, and create directories within GitLab. | -| [Delete merged branches](user/project/repository/branches/index.md#delete-merged-branches) | Bulk delete branches after their changes are merged. | -| [File templates](user/project/repository/web_editor.md#template-dropdowns) | File templates for common files. | -| [Files](user/project/repository/index.md#files) | Files management. | -| [Jupyter Notebook files](user/project/repository/jupyter_notebooks/index.md#jupyter-notebook-files) | GitLab's support for `.ipynb` files. | -| [Protected branches](user/project/protected_branches.md) | Use protected branches. | -| [Push rules](push_rules/push_rules.md) **(STARTER)** | Additional control over pushes to your projects. | -| [Repositories](user/project/repository/index.md) | Manage source code repositories in GitLab's user interface. | -| [Repository mirroring](user/project/repository/repository_mirroring.md) **(STARTER)** | Push to or pull from repositories outside of GitLab | -| [Start a merge request](user/project/repository/web_editor.md#tips) | Start merge request when committing via GitLab's user interface. | - -
- - Back to Overview - -
- -#### Merge requests - -| Create topics - Merge Requests | Description | -|:---------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------| -| [Checking out merge requests locally](user/project/merge_requests/reviewing_and_managing_merge_requests.md#checkout-merge-requests-locally-through-the-head-ref) | Tips for working with merge requests locally. | -| [Cherry-picking](user/project/merge_requests/cherry_pick_changes.md) | Use GitLab for cherry-picking changes. | -| [Merge request thread resolution](user/discussions/index.md#moving-a-single-thread-to-a-new-issue) | Resolve threads, move threads in a merge request to an issue, and only allow merge requests to be merged if all threads are resolved. | -| [Merge requests](user/project/merge_requests/index.md) | Merge request management. | -| [Draft merge requests](user/project/merge_requests/work_in_progress_merge_requests.md) | Prevent merges of draft merge requests. | - -
- - Back to Overview - -
- -#### Integration and Automation - -| Create topics - Integration and Automation | Description | -|:----------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------| -| [GitLab REST API](api/README.md) | Integrate with GitLab using our REST API. | -| [GitLab GraphQL API](api/graphql/index.md) | Integrate with GitLab using our GraphQL API. | -| [GitLab integrations](integration/README.md) | Integrate with multiple third-party services with GitLab to allow external issue trackers and external authentication. | -| [GitLab Webhooks](user/project/integrations/webhooks.md) | Let GitLab notify you when new code has been pushed to your project. | -| [Jira Development Panel](integration/jira_development_panel.md) | See GitLab information in the Jira Development Panel. | -| [Integrations](user/project/integrations/overview.md) | Integrate a project with external services, such as CI and chat. | -| [Trello Power-Up](integration/trello_power_up.md) | Integrate with GitLab's Trello Power-Up. | - -
- - Back to Overview - -
- -### Verify - -Spot errors sooner, improve security and shorten feedback cycles with built-in -static code analysis, code testing, code quality, dependency checking, and Review -Apps. Customize your approval workflow controls, automatically test the quality -of your code, and spin up a staging environment for every code change. - -GitLab Continuous Integration is the most popular next generation testing system that -scales to run your tests faster. - -The following documentation relates to the DevOps **Verify** stage: - -| Verify topics | Description | -|:-----------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------| -| [Code Quality reports](user/project/merge_requests/code_quality.md) | Analyze source code quality. | -| [GitLab CI/CD](ci/README.md) | Explore the features and capabilities of Continuous Integration with GitLab. | -| [Unit test reports](ci/unit_test_reports.md) | Display Unit test reports on merge requests. | -| [Multi-project pipelines](ci/multi_project_pipelines.md) **(PREMIUM)** | Visualize entire pipelines that span multiple projects, including all cross-project inter-dependencies. | -| [Pipeline graphs](ci/pipelines/index.md#visualize-pipelines) | Visualize builds. | -| [Review Apps](ci/review_apps/index.md) | Preview changes to your application right from a merge request. | - -
- - Back to Overview - -
- -### Package - -GitLab Packages allows organizations to use GitLab as a private repository -for a variety of common package managers. Users are able to build and publish -packages, which can be consumed as a dependency in downstream projects. - -The following documentation relates to the DevOps **Package** stage: - -| Package topics | Description | -|:----------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------| -| [Container Registry](user/packages/container_registry/index.md) | The GitLab Container Registry enables every project in GitLab to have its own space to store [Docker](https://www.docker.com/) images. | -| [Dependency Proxy](user/packages/dependency_proxy/index.md) | The GitLab Dependency Proxy sets up a local proxy for frequently used upstream images/packages. | -| [Package Registry](user/packages/package_registry/index.md) | Use GitLab as a private or public registry for a variety of common package managers, including [NPM](user/packages/npm_registry/index.md), [Maven](user/packages/maven_repository/index.md), [PyPI](user/packages/pypi_repository/index.md), and others. You can also store generic files. | - -
- - Back to Overview - -
- -### Secure - -Check your application for security vulnerabilities that may lead to unauthorized access, data -leaks, or denial of service. GitLab can perform static and dynamic tests on your application's code, -looking for known flaws and reporting them in the merge request. You can then fix flaws prior to -merge. Security teams can use dashboards to get a high-level view on projects and groups, and start -remediation processes when needed. - -The following documentation relates to the DevOps **Secure** stage: - -| Secure topics | Description | -|:------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------| -| [Compliance Dashboard](user/compliance/compliance_dashboard/index.md) **(ULTIMATE)** | View the most recent Merge Request activity in a group. | -| [Container Scanning](user/application_security/container_scanning/index.md) **(ULTIMATE)** | Use Clair to scan Docker images for known vulnerabilities. | -| [Dependency List](user/application_security/dependency_list/index.md) **(ULTIMATE)** | View your project's dependencies and their known vulnerabilities. | -| [Dependency Scanning](user/application_security/dependency_scanning/index.md) **(ULTIMATE)** | Analyze your dependencies for known vulnerabilities. | -| [Dynamic Application Security Testing (DAST)](user/application_security/dast/index.md) **(ULTIMATE)** | Analyze running web applications for known vulnerabilities. | -| [Group Security Dashboard](user/application_security/security_dashboard/index.md#group-security-dashboard) **(ULTIMATE)** | View vulnerabilities in all the projects in a group and its subgroups. | -| [Instance Security Center](user/application_security/security_dashboard/index.md#instance-security-center) **(ULTIMATE)** | View vulnerabilities in all the projects you're interested in. | -| [License Compliance](user/compliance/license_compliance/index.md) **(ULTIMATE)** | Search your project's dependencies for their licenses. | -| [Pipeline Security](user/application_security/security_dashboard/index.md#pipeline-security) **(ULTIMATE)** | View the security reports for your project's pipelines. | -| [Project Security Dashboard](user/application_security/security_dashboard/index.md#project-security-dashboard) **(ULTIMATE)** | View the latest security reports for your project. | -| [Static Application Security Testing (SAST)](user/application_security/sast/index.md) **(ULTIMATE)** | Analyze source code for known vulnerabilities. | - -### Release - -Spend less time configuring your tools, and more time creating. Whether you’re -deploying to one server or thousands, build, test, and release your code -confidently and securely with GitLab’s built-in Continuous Delivery and Deployment. - -The following documentation relates to the DevOps **Release** stage: - -| Release topics | Description | -|:---------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------| -| [Auto Deploy](topics/autodevops/stages.md#auto-deploy) | Configure GitLab for the deployment of your application. | -| [Canary Deployments](user/project/canary_deployments.md) **(PREMIUM)** | Employ a popular CI strategy where a small portion of the fleet is updated to the new version first. | -| [Deploy Boards](user/project/deploy_boards.md) **(PREMIUM)** | View the current health and status of each CI environment running on Kubernetes, displaying the status of the pods in the deployment. | -| [Environments and deployments](ci/environments/index.md) | With environments, you can control the continuous deployment of your software within GitLab. | -| [Environment-specific variables](ci/variables/README.md#limit-the-environment-scopes-of-environment-variables) | Limit the scope of variables to specific environments. | -| [GitLab CI/CD](ci/README.md) | Explore the features and capabilities of Continuous Deployment and Delivery with GitLab. | -| [GitLab Pages](user/project/pages/index.md) | Build, test, and deploy a static site directly from GitLab. | -| [Protected runners](ci/runners/README.md#prevent-runners-from-revealing-sensitive-information) | Select Runners to only pick jobs for protected branches and tags. | -| [Schedule pipelines](ci/pipelines/schedules.md) | Execute pipelines on a schedule. | - -
- - Back to Overview - -
- -### Configure - -Automate your entire workflow from build to deploy and monitoring with GitLab -Auto DevOps. Best practice templates help get you started with minimal to zero -configuration. Then customize everything from buildpacks to CI/CD. - -The following documentation relates to the DevOps **Configure** stage: - -| Configure topics | Description | -|:----------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------| -| [Auto DevOps](topics/autodevops/index.md) | Automatically employ a complete DevOps lifecycle. | -| [Create Kubernetes clusters](user/project/clusters/add_remove_clusters.md#create-new-cluster) | Use Kubernetes and GitLab. | -| [Executable Runbooks](user/project/clusters/runbooks/index.md) | Documented procedures that explain how to carry out particular processes. | -| [GitLab ChatOps](ci/chatops/README.md) | Interact with CI/CD jobs through chat services. | -| [Installing applications](user/project/clusters/index.md#installing-applications) | Install Helm charts such as Ingress and Prometheus on Kubernetes. | -| [Mattermost slash commands](user/project/integrations/mattermost_slash_commands.md) | Enable and use slash commands from within Mattermost. | -| [Multiple Kubernetes clusters](user/project/clusters/index.md#multiple-kubernetes-clusters) | Associate more than one Kubernetes clusters to your project. | -| [Protected variables](ci/variables/README.md#protect-a-custom-variable) | Restrict variables to protected branches and tags. | -| [Serverless](user/project/clusters/serverless/index.md) | Run serverless workloads on Kubernetes. | -| [Slack slash commands](user/project/integrations/slack_slash_commands.md) | Enable and use slash commands from within Slack. | -| [Manage your infrastructure with Terraform](user/infrastructure/index.md) | Manage your infrastructure as you run your CI/CD pipeline. | - -
- - Back to Overview - -
- -### Monitor - -Ensure your applications are always responsive and available. - -GitLab collects and displays performance metrics for deployed applications so you can know in an -instant how code changes impact your production environment. - -The following documentation relates to the DevOps **Monitor** stage: - -| Monitor topics | Description | -|:------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------| -| [GitLab Performance Monitoring](administration/monitoring/performance/index.md) **(CORE ONLY)** | Use Prometheus and Grafana to monitor the performance of your GitLab instance. | -| [GitLab Prometheus](administration/monitoring/prometheus/index.md) **(CORE ONLY)** | Configure the bundled Prometheus to collect various metrics from your GitLab instance. | -| [Health check](user/admin_area/monitoring/health_check.md) | GitLab provides liveness and readiness probes to indicate service health and reachability to required services. | -| [Prometheus project integration](user/project/integrations/prometheus.md) | Configure the Prometheus integration per project and monitor your CI/CD environments. | -| [Prometheus metrics](user/project/integrations/prometheus_library/index.md) | Let Prometheus collect metrics from various services, like Kubernetes, NGINX, NGINX Ingress controller, HAProxy, and Amazon Cloud Watch. | -| [Incident management](operations/incident_management/index.md) | Use GitLab to help you better respond to incidents that may occur in your systems. | - -
- - Back to Overview - -
- -### Defend - -GitLab Defend enables organizations to proactively protect cloud-native environments by providing -context-aware technologies to reduce overall security risk. Defend is a natural extension of your -existing operation's practices and provides security visibility across the entire DevSecOps -lifecycle. This visibility empowers your organization to apply DevSecOps best practices from the -first line of code written and extends all the way through to greater monitoring and protection for -your applications that are deployed in production. - -The following documentation relates to the DevOps **Defend** stage: - -| Defend topics | Description | -|:---------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| -| [Web Application Firewall with ModSecurity](user/compliance/compliance_dashboard/index.md) | Filter, monitor, and block HTTP traffic to and from a web application. | -| [Container host security](user/clusters/applications.md#install-falco-using-gitlab-cicd) | Detect and respond to security threats at the Kubernetes, network, and host level. | -| [Container network security](user/clusters/applications.md#install-cilium-using-gitlab-cicd) | Detect and block unauthorized network traffic between pods and to/from the internet. | +GitLab provides solutions for [each of the stages of the DevOps lifecycle](https://about.gitlab.com/stages-devops-lifecycle/). ## New to Git and GitLab? @@ -411,12 +72,6 @@ We have the following documentation to rapidly uplift your GitLab knowledge: | [Auto DevOps](topics/autodevops/index.md) | Learn more about GitLab's Auto DevOps. | | [GitLab Markdown](user/markdown.md) | GitLab's advanced formatting system (GitLab Flavored Markdown) | -
- - Back to Overview - -
- ### User account Learn more about GitLab account management: @@ -428,12 +83,6 @@ Learn more about GitLab account management: | [Profile settings](user/profile/index.md#profile-settings) | Manage your profile settings, two factor authentication, and more. | | [User permissions](user/permissions.md) | Learn what each role in a project can do. | -
- - Back to Overview - -
- ### Git and GitLab Learn more about using Git, and using Git with GitLab: @@ -444,12 +93,6 @@ Learn more about using Git, and using Git with GitLab: | [Git cheat sheet](https://about.gitlab.com/images/press/git-cheat-sheet.pdf) | Download a PDF describing the most used Git operations. | | [GitLab Flow](topics/gitlab_flow.md) | Explore the best of Git with the GitLab Flow strategy. | -
- - Back to Overview - -
- ## Coming to GitLab from another platform If you are coming to GitLab from another platform, the following information is useful: @@ -459,27 +102,15 @@ If you are coming to GitLab from another platform, the following information is | [Importing to GitLab](user/project/import/index.md) | Import your projects from GitHub, Bitbucket, GitLab.com, FogBugz, and SVN into GitLab. | | [Migrating from SVN](user/project/import/svn.md) | Convert a SVN repository to Git and GitLab. | -
- - Back to Overview - -
- ## Build an integration with GitLab There are many ways to integrate with GitLab, including: -| Topic | Description | -|:-----------------------------------------------------------|:-----------------------------------------------| -| [GitLab REST API](api/README.md) | Integrate with GitLab using our REST API. | -| [GitLab GraphQL API](api/graphql/index.md) | Integrate with GitLab using our GraphQL API. | -| [Integrations and automation](#integration-and-automation) | All GitLab integration and automation options. | - -
- - Back to Overview - -
+| Topic | Description | +|:-------------------------------------------|:---------------------------------------------| +| [GitLab REST API](api/README.md) | Integrate with GitLab using our REST API. | +| [GitLab GraphQL API](api/graphql/index.md) | Integrate with GitLab using our GraphQL API. | +| [Integrations](integration/README.md) | Integrations with third-party products. | ## Contributing to GitLab @@ -493,9 +124,3 @@ Learn how to contribute to GitLab with the following resources: | [Development](development/README.md) | How to contribute to GitLab development. | | [Legal](legal/README.md) | Contributor license agreements. | | [Writing documentation](development/documentation/index.md) | How to contribute to GitLab Docs. | - -
- - Back to Overview - -
diff --git a/doc/administration/audit_events.md b/doc/administration/audit_events.md index 0695c5065e7..f2d2962ecf0 100644 --- a/doc/administration/audit_events.md +++ b/doc/administration/audit_events.md @@ -44,7 +44,7 @@ Impersonation is where an administrator uses credentials to perform an action as ### Group events **(STARTER)** -NOTE: **Note:** +NOTE: You need Owner [permissions](../user/permissions.md) to view the group Audit Events page. To view a group's audit events, navigate to **Group > Settings > Audit Events**. @@ -74,7 +74,7 @@ Group events can also be accessed via the [Group Audit Events API](../api/audit_ ### Project events **(STARTER)** -NOTE: **Note:** +NOTE: You need Maintainer [permissions](../user/permissions.md) or higher to view the project Audit Events page. To view a project's audit events, navigate to **Project > Settings > Audit Events**. diff --git a/doc/administration/auth/README.md b/doc/administration/auth/README.md index 880644d2eb2..cc3421d3133 100644 --- a/doc/administration/auth/README.md +++ b/doc/administration/auth/README.md @@ -36,5 +36,5 @@ providers: - [Smartcard](smartcard.md) **(PREMIUM ONLY)** - [Twitter](../../integration/twitter.md) -NOTE: **Note:** +NOTE: UltraAuth has removed their software which supports OmniAuth integration. We have therefore removed all references to UltraAuth integration. diff --git a/doc/administration/auth/jwt.md b/doc/administration/auth/jwt.md index f270415d58b..448922230e7 100644 --- a/doc/administration/auth/jwt.md +++ b/doc/administration/auth/jwt.md @@ -62,7 +62,7 @@ JWT will provide you with a secret key for you to use. } ``` - NOTE: **Note:** + NOTE: For more information on each configuration option refer to the [OmniAuth JWT usage documentation](https://github.com/mbleigh/omniauth-jwt#usage). diff --git a/doc/administration/auth/ldap/index.md b/doc/administration/auth/ldap/index.md index ca959e6aecf..d44110563db 100644 --- a/doc/administration/auth/ldap/index.md +++ b/doc/administration/auth/ldap/index.md @@ -91,7 +91,7 @@ There is a Rake task to check LDAP configuration. After configuring LDAP using the documentation below, see [LDAP check Rake task](../../raketasks/check.md#ldap-check) for information on the LDAP check Rake task. -NOTE: **Note:** +NOTE: The `encryption` value `simple_tls` corresponds to 'Simple TLS' in the LDAP library. `start_tls` corresponds to StartTLS, not to be confused with regular TLS. Normally, if you specify `simple_tls` it is on port 636, while `start_tls` (StartTLS) @@ -553,7 +553,7 @@ administrators. Specify a group CN for `admin_group` and all members of the LDAP group will be given administrator privileges. The configuration looks like the following. -NOTE: **Note:** +NOTE: Administrators are not synced unless `group_base` is also specified alongside `admin_group`. Also, only specify the CN of the admin group, as opposed to the full DN. @@ -615,7 +615,7 @@ By default, GitLab runs a group sync process every hour, on the hour. The values shown are in cron format. If needed, you can use a [Crontab Generator](http://www.crontabgenerator.com). -CAUTION: **Important:** +WARNING: Do not start the sync process too frequently as this could lead to multiple syncs running concurrently. This is primarily a concern for installations with a large number of LDAP users. Please review the diff --git a/doc/administration/auth/ldap/ldap-troubleshooting.md b/doc/administration/auth/ldap/ldap-troubleshooting.md index 63c27dbfb4d..1976bab03c6 100644 --- a/doc/administration/auth/ldap/ldap-troubleshooting.md +++ b/doc/administration/auth/ldap/ldap-troubleshooting.md @@ -378,7 +378,7 @@ GitLab syncs the `admin_group`. #### Sync all groups **(STARTER ONLY)** -NOTE: **Note:** +NOTE: To sync all groups manually when debugging is unnecessary, [use the Rake task](../../raketasks/ldap.md#run-a-group-sync) instead. @@ -429,7 +429,7 @@ and more DNs may be added, or existing entries modified, based on additional LDAP group lookups. The very last occurrence of this entry should indicate exactly which users GitLab believes should be added to the group. -NOTE: **Note:** +NOTE: 10 is 'Guest', 20 is 'Reporter', 30 is 'Developer', 40 is 'Maintainer' and 50 is 'Owner'. @@ -673,7 +673,7 @@ adfind -h ad.example.org:636 -ssl -u "CN=GitLabSRV,CN=Users,DC=GitLab,DC=org" -u ### Rails console -CAUTION: **Caution:** +WARNING: It is very easy to create, read, modify, and destroy data with the rails console. Be sure to run commands exactly as listed. diff --git a/doc/administration/auth/oidc.md b/doc/administration/auth/oidc.md index a8bd93cb75e..158182edfb5 100644 --- a/doc/administration/auth/oidc.md +++ b/doc/administration/auth/oidc.md @@ -81,7 +81,7 @@ The OpenID Connect will provide you with a client details and secret for you to } ``` - NOTE: **Note:** + NOTE: For more information on each configuration option refer to the [OmniAuth OpenID Connect usage documentation](https://github.com/m0n9oose/omniauth_openid_connect#usage) and the [OpenID Connect Core 1.0 specification](https://openid.net/specs/openid-connect-core-1_0.html). diff --git a/doc/administration/auth/okta.md b/doc/administration/auth/okta.md index 55a4b34846c..50dc3b58680 100644 --- a/doc/administration/auth/okta.md +++ b/doc/administration/auth/okta.md @@ -158,7 +158,7 @@ You might want to try this out on an incognito browser window. ## Configuring groups -NOTE: **Note:** +NOTE: Make sure the groups exist and are assigned to the Okta app. You can take a look of the [SAML documentation](../../integration/saml.md#saml-groups) on configuring groups. diff --git a/doc/administration/auth/smartcard.md b/doc/administration/auth/smartcard.md index 33731ffe760..9790802e413 100644 --- a/doc/administration/auth/smartcard.md +++ b/doc/administration/auth/smartcard.md @@ -30,7 +30,7 @@ GitLab supports two authentication methods: > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/726) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.6 as an experimental feature. -CAUTION: **Caution:** +WARNING: Smartcard authentication against local databases may change or be removed completely in future releases. @@ -60,7 +60,7 @@ Certificate: Smartcards with X.509 certificates using SAN extensions can be used to authenticate with GitLab. -NOTE: **Note:** +NOTE: This is an experimental feature. Smartcard authentication against local databases may change or be removed completely in future releases. @@ -211,7 +211,7 @@ attribute. As a prerequisite, you must use an LDAP server that: client_certificate_required_port: 3443 ``` - NOTE: **Note:** + NOTE: Assign a value to at least one of the following variables: `client_certificate_required_host` or `client_certificate_required_port`. diff --git a/doc/administration/database_load_balancing.md b/doc/administration/database_load_balancing.md index a4e274c0a86..45243afd8ac 100644 --- a/doc/administration/database_load_balancing.md +++ b/doc/administration/database_load_balancing.md @@ -173,7 +173,7 @@ queried over UDP. To overcome this issue, you can use TCP for querying by settin ### Forking -NOTE: **Note:** +NOTE: Starting with GitLab 13.0, Puma is the default web server used in GitLab all-in-one package based installations as well as GitLab Helm chart deployments. diff --git a/doc/administration/external_pipeline_validation.md b/doc/administration/external_pipeline_validation.md index 7d3b76abae7..64426a60ab0 100644 --- a/doc/administration/external_pipeline_validation.md +++ b/doc/administration/external_pipeline_validation.md @@ -9,7 +9,7 @@ type: reference, howto You can use an external service for validating a pipeline before it's created. -CAUTION: **Warning:** +WARNING: This is an experimental feature and subject to change without notice. ## Usage diff --git a/doc/administration/feature_flags.md b/doc/administration/feature_flags.md index 2a5260a1342..77963eda1d2 100644 --- a/doc/administration/feature_flags.md +++ b/doc/administration/feature_flags.md @@ -36,7 +36,7 @@ error, it's very important that you [**provide feedback**](https://gitlab.com/gi as possible so we can improve or fix it while behind a flag. When you upgrade GitLab to an earlier version, the feature flag status may change. -CAUTION: **Caution:** +WARNING: Features deployed behind feature flags may not be ready for production use. However, disabling features behind flags that were deployed enabled by default may also present a risk. If they're enabled, we recommend diff --git a/doc/administration/file_hooks.md b/doc/administration/file_hooks.md index f00faae3629..e8ef9d5c5e9 100644 --- a/doc/administration/file_hooks.md +++ b/doc/administration/file_hooks.md @@ -13,12 +13,12 @@ type: reference With custom file hooks, GitLab administrators can introduce custom integrations without modifying GitLab's source code. -NOTE: **Note:** +NOTE: Instead of writing and supporting your own file hook you can make changes directly to the GitLab source code and contribute back upstream. This way we can ensure functionality is preserved across versions and covered by tests. -NOTE: **Note:** +NOTE: File hooks must be configured on the filesystem of the GitLab server. Only GitLab server administrators will be able to complete these tasks. Explore [system hooks](../system_hooks/system_hooks.md) or [webhooks](../user/project/integrations/webhooks.md) as an option if you do not have filesystem access. diff --git a/doc/administration/geo/disaster_recovery/background_verification.md b/doc/administration/geo/disaster_recovery/background_verification.md index babf42b380f..f2854d0538b 100644 --- a/doc/administration/geo/disaster_recovery/background_verification.md +++ b/doc/administration/geo/disaster_recovery/background_verification.md @@ -7,7 +7,7 @@ type: howto # Automatic background verification **(PREMIUM ONLY)** -NOTE: **Note:** +NOTE: Automatic background verification of repositories and wikis was added in GitLab EE 10.6 but is enabled by default only on GitLab EE 11.1. You can disable or enable this feature manually by following diff --git a/doc/administration/geo/disaster_recovery/bring_primary_back.md b/doc/administration/geo/disaster_recovery/bring_primary_back.md index 615fd2276f4..3f86e03bd7f 100644 --- a/doc/administration/geo/disaster_recovery/bring_primary_back.md +++ b/doc/administration/geo/disaster_recovery/bring_primary_back.md @@ -13,7 +13,7 @@ restore your original configuration. This process consists of two steps: 1. Making the old **primary** node a **secondary** node. 1. Promoting a **secondary** node to a **primary** node. -CAUTION: **Caution:** +WARNING: If you have any doubts about the consistency of the data on this node, we recommend setting it up from scratch. ## Configure the former **primary** node to be a **secondary** node @@ -32,14 +32,14 @@ To bring the former **primary** node up to date: sudo gitlab-ctl start ``` - NOTE: **Note:** + NOTE: If you [disabled the **primary** node permanently](index.md#step-2-permanently-disable-the-primary-node), you need to undo those steps now. For Debian/Ubuntu you just need to run `sudo systemctl enable gitlab-runsvdir`. For CentOS 6, you need to install the GitLab instance from scratch and set it up as a **secondary** node by following [Setup instructions](../setup/index.md). In this case, you don't need to follow the next step. - NOTE: **Note:** + NOTE: If you [changed the DNS records](index.md#step-4-optional-updating-the-primary-domain-dns-record) for this node during disaster recovery procedure you may need to [block all the writes to this node](planned_failover.md#prevent-updates-to-the-primary-node) diff --git a/doc/administration/geo/disaster_recovery/index.md b/doc/administration/geo/disaster_recovery/index.md index 8344b59a59f..c7aaded2f91 100644 --- a/doc/administration/geo/disaster_recovery/index.md +++ b/doc/administration/geo/disaster_recovery/index.md @@ -13,7 +13,7 @@ failover with minimal effort, in a disaster situation. See [Geo limitations](../index.md#limitations) for more information. -CAUTION: **Warning:** +WARNING: Disaster recovery for multi-secondary configurations is in **Alpha**. For the latest updates, check the [Disaster Recovery epic for complete maturity](https://gitlab.com/groups/gitlab-org/-/epics/590). Multi-secondary configurations require the complete re-synchronization and re-configuration of all non-promoted secondaries and @@ -36,7 +36,7 @@ order to avoid unnecessary data loss. ### Step 2. Permanently disable the **primary** node -CAUTION: **Warning:** +WARNING: If the **primary** node goes offline, there may be data saved on the **primary** node that has not been replicated to the **secondary** node. This data should be treated as lost if you proceed. @@ -58,7 +58,7 @@ must disable the **primary** node. sudo systemctl disable gitlab-runsvdir ``` - NOTE: **Note:** + NOTE: (**CentOS only**) In CentOS 6 or older, there is no easy way to prevent GitLab from being started if the machine reboots isn't available (see [Omnibus GitLab issue #3058](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3058)). It may be safest to uninstall the GitLab package completely: @@ -67,7 +67,7 @@ must disable the **primary** node. yum remove gitlab-ee ``` - NOTE: **Note:** + NOTE: (**Ubuntu 14.04 LTS**) If you are using an older version of Ubuntu or any other distribution based on the Upstart init system, you can prevent GitLab from starting if the machine reboots by doing the following: @@ -140,7 +140,7 @@ Note the following when promoting a secondary: secondary. If the node is paused, be sure to resume before promoting. This issue has been fixed in GitLab 13.4 and later. - CAUTION: **Caution:** + WARNING: If the secondary node [has been paused](../../geo/index.md#pausing-and-resuming-replication), this performs a point-in-time recovery to the last known state. Data that was created on the primary while the secondary was paused will be lost. @@ -180,7 +180,7 @@ secondary is paused fails. Do not pause replication before promoting a secondary. If the node is paused, be sure to resume before promoting. This issue has been fixed in GitLab 13.4 and later. -CAUTION: **Caution:** +WARNING: If the secondary node [has been paused](../../geo/index.md#pausing-and-resuming-replication), this performs a point-in-time recovery to the last known state. Data that was created on the primary while the secondary was paused will be lost. @@ -301,7 +301,7 @@ secondary domain, like changing Git remotes and API URLs. external_url 'https://' ``` - NOTE: **Note:** + NOTE: Changing `external_url` won't prevent access via the old secondary URL, as long as the secondary DNS records are still intact. diff --git a/doc/administration/geo/disaster_recovery/runbooks/planned_failover_multi_node.md b/doc/administration/geo/disaster_recovery/runbooks/planned_failover_multi_node.md index da3e41cdad0..2c5cbb32903 100644 --- a/doc/administration/geo/disaster_recovery/runbooks/planned_failover_multi_node.md +++ b/doc/administration/geo/disaster_recovery/runbooks/planned_failover_multi_node.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: howto --- -CAUTION: **Caution:** +WARNING: This runbook is in **alpha**. For complete, production-ready documentation, see the [disaster recovery documentation](../index.md). @@ -58,7 +58,7 @@ What is not covered: ### Preparation -NOTE: **Note:** +NOTE: Before following any of those steps, make sure you have `root` access to the **secondary** to promote it, since there isn't provided an automated way to promote a Geo replica and perform a failover. @@ -134,7 +134,7 @@ follow these steps to avoid unnecessary data loss: 1. Finish replicating and verifying all data: - CAUTION: **Caution:** + WARNING: Not all data is automatically replicated. Read more about [what is excluded](../planned_failover.md#not-all-data-is-automatically-replicated). @@ -163,7 +163,7 @@ follow these steps to avoid unnecessary data loss: 1. In this final step, you need to permanently disable the **primary** node. - CAUTION: **Caution:** + WARNING: When the **primary** node goes offline, there may be data saved on the **primary** node that has not been replicated to the **secondary** node. This data should be treated as lost if you proceed. @@ -188,12 +188,12 @@ follow these steps to avoid unnecessary data loss: sudo systemctl disable gitlab-runsvdir ``` - NOTE: **Note:** + NOTE: (**CentOS only**) In CentOS 6 or older, there is no easy way to prevent GitLab from being started if the machine reboots isn't available (see [Omnibus GitLab issue #3058](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3058)). It may be safest to uninstall the GitLab package completely with `sudo yum remove gitlab-ee`. - NOTE: **Note:** + NOTE: (**Ubuntu 14.04 LTS**) If you are using an older version of Ubuntu or any other distribution based on the Upstart init system, you can prevent GitLab from starting if the machine reboots as `root` with @@ -213,12 +213,12 @@ follow these steps to avoid unnecessary data loss: ### Promoting the **secondary** node -NOTE: **Note:** +NOTE: A new **secondary** should not be added at this time. If you want to add a new **secondary**, do this after you have completed the entire process of promoting the **secondary** to the **primary**. -CAUTION: **Caution:** +WARNING: If you encounter an `ActiveRecord::RecordInvalid: Validation failed: Name has already been taken` error during this process, read [the troubleshooting advice](../../replication/troubleshooting.md#fixing-errors-during-a-failover-or-when-promoting-a-secondary-to-a-primary-node). @@ -233,7 +233,7 @@ secondary is paused fails. Do not pause replication before promoting a secondary. If the node is paused, be sure to resume before promoting. This issue has been fixed in GitLab 13.4 and later. -CAUTION: **Caution:** +WARNING: If the secondary node [has been paused](../../../geo/index.md#pausing-and-resuming-replication), this performs a point-in-time recovery to the last known state. Data that was created on the primary while the secondary was paused will be lost. diff --git a/doc/administration/geo/disaster_recovery/runbooks/planned_failover_single_node.md b/doc/administration/geo/disaster_recovery/runbooks/planned_failover_single_node.md index 897461d9764..634ff8b3b9d 100644 --- a/doc/administration/geo/disaster_recovery/runbooks/planned_failover_single_node.md +++ b/doc/administration/geo/disaster_recovery/runbooks/planned_failover_single_node.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: howto --- -CAUTION: **Caution:** +WARNING: This runbook is in **alpha**. For complete, production-ready documentation, see the [disaster recovery documentation](../index.md). @@ -46,7 +46,7 @@ What is not covered: ### Preparation -NOTE: **Note:** +NOTE: Before following any of those steps, make sure you have `root` access to the **secondary** to promote it, since there isn't provided an automated way to promote a Geo replica and perform a failover. @@ -122,7 +122,7 @@ follow these steps to avoid unnecessary data loss: 1. Finish replicating and verifying all data: - CAUTION: **Caution:** + WARNING: Not all data is automatically replicated. Read more about [what is excluded](../planned_failover.md#not-all-data-is-automatically-replicated). @@ -151,7 +151,7 @@ follow these steps to avoid unnecessary data loss: 1. In this final step, you need to permanently disable the **primary** node. - CAUTION: **Caution:** + WARNING: When the **primary** node goes offline, there may be data saved on the **primary** node that has not been replicated to the **secondary** node. This data should be treated as lost if you proceed. @@ -176,12 +176,12 @@ follow these steps to avoid unnecessary data loss: sudo systemctl disable gitlab-runsvdir ``` - NOTE: **Note:** + NOTE: (**CentOS only**) In CentOS 6 or older, there is no easy way to prevent GitLab from being started if the machine reboots isn't available (see [Omnibus GitLab issue #3058](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/3058)). It may be safest to uninstall the GitLab package completely with `sudo yum remove gitlab-ee`. - NOTE: **Note:** + NOTE: (**Ubuntu 14.04 LTS**) If you are using an older version of Ubuntu or any other distribution based on the Upstart init system, you can prevent GitLab from starting if the machine reboots as `root` with diff --git a/doc/administration/geo/index.md b/doc/administration/geo/index.md index 05f1d34c8e4..bc1f5a96f86 100644 --- a/doc/administration/geo/index.md +++ b/doc/administration/geo/index.md @@ -17,7 +17,7 @@ Geo is the solution for widely distributed development teams and for providing a ## Overview -CAUTION: **Caution:** +WARNING: Geo undergoes significant changes from release to release. Upgrades **are** supported and [documented](#updating-geo), but you should ensure that you're using the right version of the documentation for your installation. Fetching large repositories can take a long time for teams located far from a single GitLab instance. @@ -143,11 +143,11 @@ The following table lists basic ports that must be open between the **primary** See the full list of ports used by GitLab in [Package defaults](https://docs.gitlab.com/omnibus/package-information/defaults.html) -NOTE: **Note:** +NOTE: [Web terminal](../../ci/environments/index.md#web-terminals) support requires your load balancer to correctly handle WebSocket connections. When using HTTP or HTTPS proxying, your load balancer must be configured to pass through the `Connection` and `Upgrade` hop-by-hop headers. See the [web terminal](../integration/terminal.md) integration guide for more details. -NOTE: **Note:** +NOTE: When using HTTPS protocol for port 443, you will need to add an SSL certificate to the load balancers. If you wish to terminate SSL at the GitLab application server instead, use TCP protocol. @@ -155,7 +155,7 @@ If you wish to terminate SSL at the GitLab application server instead, use TCP p We recommend that if you use LDAP on your **primary** node, you also set up secondary LDAP servers on each **secondary** node. Otherwise, users will not be able to perform Git operations over HTTP(s) on the **secondary** node using HTTP Basic Authentication. However, Git via SSH and personal access tokens will still work. -NOTE: **Note:** +NOTE: It is possible for all **secondary** nodes to share an LDAP server, but additional latency can be an issue. Also, consider what LDAP server will be available in a [disaster recovery](disaster_recovery/index.md) scenario if a **secondary** node is promoted to be a **primary** node. Check for instructions on how to set up replication in your LDAP service. Instructions will be different depending on the software or service used. For example, OpenLDAP provides [these instructions](https://www.openldap.org/doc/admin24/replication.html). @@ -207,7 +207,7 @@ secondary is paused fails. Do not pause replication before promoting a secondary. If the node is paused, be sure to resume before promoting. This issue has been fixed in GitLab 13.4 and later. -CAUTION: **Caution:** +WARNING: Pausing and resuming of replication is currently only supported for Geo installations using an Omnibus GitLab-managed database. External databases are currently not supported. @@ -267,7 +267,7 @@ To find out how to disable Geo, see [Disabling Geo](replication/disable_geo.md). ## Limitations -CAUTION: **Caution:** +WARNING: This list of limitations only reflects the latest version of GitLab. If you are using an older version, extra limitations may be in place. - Pushing directly to a **secondary** node redirects (for HTTP) or proxies (for SSH) the request to the **primary** node instead of [handling it directly](https://gitlab.com/gitlab-org/gitlab/-/issues/1381), except when using Git over HTTP with credentials embedded within the URI. For example, `https://user:password@secondary.tld`. diff --git a/doc/administration/geo/replication/configuration.md b/doc/administration/geo/replication/configuration.md index a210685774b..42501e16f5f 100644 --- a/doc/administration/geo/replication/configuration.md +++ b/doc/administration/geo/replication/configuration.md @@ -9,7 +9,7 @@ type: howto ## Configuring a new **secondary** node -NOTE: **Note:** +NOTE: This is the final step in setting up a **secondary** Geo node. Stages of the setup process must be completed in the documented order. Before attempting the steps in this stage, [complete all prior stages](../setup/index.md#using-omnibus-gitlab). @@ -23,7 +23,7 @@ The basic steps of configuring a **secondary** node are to: You are encouraged to first read through all the steps before executing them in your testing/production environment. -NOTE: **Note:** +NOTE: **Do not** set up any custom authentication for the **secondary** nodes. This will be handled by the **primary** node. Any change that requires access to the **Admin Area** needs to be done in the **primary** node because the **secondary** node is a read-only replica. @@ -157,7 +157,7 @@ keys must be manually replicated to the **secondary** node. for file in /etc/ssh/ssh_host_*_key.pub; do ssh-keygen -lf $file; done ``` - NOTE: **Note:** + NOTE: The output for private keys and public keys command should generate the same fingerprint. 1. Restart `sshd` on your **secondary** node: diff --git a/doc/administration/geo/replication/docker_registry.md b/doc/administration/geo/replication/docker_registry.md index 8acea353e4b..bfef096cd0a 100644 --- a/doc/administration/geo/replication/docker_registry.md +++ b/doc/administration/geo/replication/docker_registry.md @@ -64,17 +64,17 @@ We need to make Docker Registry send notification events to the ] ``` - NOTE: **Note:** + NOTE: Replace `` with a case sensitive alphanumeric string that starts with a letter. You can generate one with `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c 32 | sed "s/^[0-9]*//"; echo` - NOTE: **Note:** + NOTE: If you use an external Registry (not the one integrated with GitLab), you must add these settings to its configuration yourself. In this case, you will also have to specify notification secret in `registry.notification_secret` section of `/etc/gitlab/gitlab.rb` file. - NOTE: **Note:** + NOTE: If you use GitLab HA, you will also have to specify the notification secret in `registry.notification_secret` section of `/etc/gitlab/gitlab.rb` file for every web node. diff --git a/doc/administration/geo/replication/location_aware_git_url.md b/doc/administration/geo/replication/location_aware_git_url.md index 8f87bf496a8..f2cf8c9bda0 100644 --- a/doc/administration/geo/replication/location_aware_git_url.md +++ b/doc/administration/geo/replication/location_aware_git_url.md @@ -18,7 +18,7 @@ Though these instructions use [AWS Route53](https://aws.amazon.com/route53/), other services such as [Cloudflare](https://www.cloudflare.com/) could be used as well. -NOTE: **Note:** +NOTE: You can also use a load balancer to distribute web UI or API traffic to [multiple Geo **secondary** nodes](../../../user/admin_area/geo_nodes.md#multiple-secondary-nodes-behind-a-load-balancer). Importantly, the **primary** node cannot yet be included. See the feature request diff --git a/doc/administration/geo/replication/multiple_servers.md b/doc/administration/geo/replication/multiple_servers.md index a75b15d9598..0ab972c9077 100644 --- a/doc/administration/geo/replication/multiple_servers.md +++ b/doc/administration/geo/replication/multiple_servers.md @@ -27,7 +27,7 @@ network topology of your deployment. The only external way to access the two Geo deployments is by HTTPS at `gitlab.us.example.com` and `gitlab.eu.example.com` in the example above. -NOTE: **Note:** +NOTE: The **primary** and **secondary** Geo deployments must be able to communicate to each other over HTTPS. ## Redis and PostgreSQL for multiple nodes @@ -37,7 +37,7 @@ Geo supports: - Redis and PostgreSQL on the **primary** node configured for multiple nodes. - Redis on **secondary** nodes configured for multiple nodes. -NOTE: **Note:** +NOTE: Support for PostgreSQL on **secondary** nodes in multi-node configuration [is planned](https://gitlab.com/groups/gitlab-org/-/epics/2536). @@ -48,7 +48,7 @@ For more information about setting up a multi-node PostgreSQL cluster and Redis [PostgreSQL](../../postgresql/replication_and_failover.md) and [Redis](../../redis/replication_and_failover.md), respectively. -NOTE: **Note:** +NOTE: It is possible to use cloud hosted services for PostgreSQL and Redis, but this is beyond the scope of this document. ## Prerequisites: Two working GitLab multi-node clusters @@ -90,7 +90,7 @@ The following steps enable a GitLab cluster to serve as the **primary** node. After making these changes, [reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) so the changes take effect. -NOTE: **Note:** +NOTE: PostgreSQL and Redis should have already been disabled on the application servers, and connections from the application servers to those services on the backend servers configured, during normal GitLab multi-node set up. See @@ -136,13 +136,13 @@ documentation: - [Gitaly](../../gitaly/index.md), which will store data that is synchronized from the **primary** node. -NOTE: **Note:** +NOTE: [NFS](../../nfs.md) can be used in place of Gitaly but is not recommended. ### Step 2: Configure the main read-only replica PostgreSQL database on the **secondary** node -NOTE: **Note:** +NOTE: The following documentation assumes the database will be run on a single node only. Multi-node PostgreSQL on **secondary** nodes is [not currently supported](https://gitlab.com/groups/gitlab-org/-/epics/2536). @@ -232,7 +232,7 @@ If using an external PostgreSQL instance, refer also to ### Step 3: Configure the tracking database on the **secondary** node -NOTE: **Note:** +NOTE: This documentation assumes the tracking database will be run on only a single machine, rather than as a PostgreSQL cluster. @@ -365,14 +365,14 @@ then make the following modifications: registry['gid'] = 9002 ``` -NOTE: **Note:** +NOTE: If you had set up PostgreSQL cluster using the omnibus package and you had set up `postgresql['sql_user_password'] = 'md5 digest of secret'` setting, keep in mind that `gitlab_rails['db_password']` and `geo_secondary['db_password']` mentioned above contains the plaintext passwords. This is used to let the Rails servers connect to the databases. -NOTE: **Note:** +NOTE: Make sure that current node IP is listed in `postgresql['md5_auth_cidr_addresses']` setting of your remote database. After making these changes [Reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure) so the changes take effect. diff --git a/doc/administration/geo/replication/object_storage.md b/doc/administration/geo/replication/object_storage.md index a065e0c0f41..ce791d66b34 100644 --- a/doc/administration/geo/replication/object_storage.md +++ b/doc/administration/geo/replication/object_storage.md @@ -25,7 +25,7 @@ To have: > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10586) in GitLab 12.4. -CAUTION: **Caution:** +WARNING: This is a [**beta** feature](https://about.gitlab.com/handbook/product/#beta) and is not ready yet for production use at any scale. The main limitations are a lack of testing at scale and no verification of any replicated data. **Secondary** nodes can replicate files stored on the **primary** node regardless of diff --git a/doc/administration/geo/replication/remove_geo_node.md b/doc/administration/geo/replication/remove_geo_node.md index 4e9626c9769..519b93b447b 100644 --- a/doc/administration/geo/replication/remove_geo_node.md +++ b/doc/administration/geo/replication/remove_geo_node.md @@ -42,7 +42,7 @@ Once GitLab has been uninstalled from the **secondary** node, the replication sl sudo gitlab-psql ``` - NOTE: **Note:** + NOTE: Using `gitlab-rails dbconsole` will not work, because managing replication slots requires superuser permissions. 1. Find the name of the relevant replication slot. This is the slot that is specified with `--slot-name` when running the replicate command: `gitlab-ctl replicate-geo-database`. diff --git a/doc/administration/geo/replication/troubleshooting.md b/doc/administration/geo/replication/troubleshooting.md index 8e204aa3a2e..2dbffee2729 100644 --- a/doc/administration/geo/replication/troubleshooting.md +++ b/doc/administration/geo/replication/troubleshooting.md @@ -308,7 +308,7 @@ log data to build up in `pg_xlog`. Removing the unused slots can reduce the amou sudo gitlab-psql ``` - Note: **Note:** Using `gitlab-rails dbconsole` will not work, because managing replication slots requires superuser permissions. + Note: Using `gitlab-rails dbconsole` will not work, because managing replication slots requires superuser permissions. 1. View your replication slots with: @@ -467,7 +467,7 @@ to start again from scratch, there are a few steps that can help you: 1. _(Optional)_ Rename other data folders and create new ones - CAUTION: **Caution:** + WARNING: You may still have files on the **secondary** node that have been removed from **primary** node but removal have not been reflected. If you skip this step, they will never be removed from this Geo node. diff --git a/doc/administration/geo/replication/updating_the_geo_nodes.md b/doc/administration/geo/replication/updating_the_geo_nodes.md index 5bd41bb9f78..ff3a1e8689b 100644 --- a/doc/administration/geo/replication/updating_the_geo_nodes.md +++ b/doc/administration/geo/replication/updating_the_geo_nodes.md @@ -7,7 +7,7 @@ type: howto # Updating the Geo nodes **(PREMIUM ONLY)** -CAUTION: **Warning:** +WARNING: Read these sections carefully before updating your Geo nodes. Not following version-specific update steps may result in unexpected downtime. If you have any specific questions, [contact Support](https://about.gitlab.com/support/#contact-support). @@ -20,7 +20,7 @@ Updating Geo nodes involves performing: ## General update steps -NOTE: **Note:** +NOTE: These general update steps are not intended for [high-availability deployments](https://docs.gitlab.com/omnibus/update/README.html#multi-node--ha-deployment), and will cause downtime. If you want to avoid downtime, consider using [zero downtime updates](https://docs.gitlab.com/omnibus/update/README.html#zero-downtime-updates). To update the Geo nodes when a new GitLab version is released, update **primary** diff --git a/doc/administration/geo/replication/version_specific_updates.md b/doc/administration/geo/replication/version_specific_updates.md index 0c715318e6a..9701bc5d647 100644 --- a/doc/administration/geo/replication/version_specific_updates.md +++ b/doc/administration/geo/replication/version_specific_updates.md @@ -54,7 +54,7 @@ the recommended procedure, see the ## Updating to GitLab 12.9 -CAUTION: **Warning:** +WARNING: GitLab 12.9.0 through GitLab 12.9.3 are affected by [a bug that stops repository verification](https://gitlab.com/gitlab-org/gitlab/-/issues/213523). The issue is fixed in GitLab 12.9.4. Upgrade to GitLab 12.9.4 or later. @@ -203,14 +203,14 @@ For the recommended procedure, see the ## Updating to GitLab 12.0 -CAUTION: **Warning:** +WARNING: This version is affected by a [bug that results in new LFS objects not being replicated to Geo secondary nodes](https://gitlab.com/gitlab-org/gitlab/-/issues/32696). The issue is fixed in GitLab 12.1; be sure to upgrade to GitLab 12.1 or later. ## Updating to GitLab 11.11 -CAUTION: **Warning:** +WARNING: This version is affected by a [bug that results in new LFS objects not being replicated to Geo secondary nodes](https://gitlab.com/gitlab-org/gitlab/-/issues/32696). The issue is fixed in GitLab 12.1; be sure to upgrade to GitLab 12.1 or later. @@ -376,7 +376,7 @@ the now-unused SSH keys from your secondaries, as they may cause problems if the ### Hashed Storage -CAUTION: **Warning:** +WARNING: Hashed storage is in **Alpha**. It is considered experimental and not production-ready. See [Hashed Storage](../../repository_storage_types.md) for more detail. @@ -387,7 +387,7 @@ migrated we recommend leaving Hashed Storage enabled. ## Updating to GitLab 10.1 -CAUTION: **Warning:** +WARNING: Hashed storage is in **Alpha**. It is considered experimental and not production-ready. See [Hashed Storage](../../repository_storage_types.md) for more detail. diff --git a/doc/administration/geo/setup/database.md b/doc/administration/geo/setup/database.md index 17dc287002e..17830289005 100644 --- a/doc/administration/geo/setup/database.md +++ b/doc/administration/geo/setup/database.md @@ -7,13 +7,13 @@ type: howto # Geo database replication **(PREMIUM ONLY)** -NOTE: **Note:** +NOTE: If your GitLab installation uses external (not managed by Omnibus) PostgreSQL instances, the Omnibus roles will not be able to perform all necessary configuration steps. In this case, [follow the Geo with external PostgreSQL instances document instead](external_database.md). -NOTE: **Note:** +NOTE: The stages of the setup process must be completed in the documented order. Before attempting the steps in this stage, [complete all prior stages](../setup/index.md#using-omnibus-gitlab). @@ -44,7 +44,7 @@ The following guide assumes that: you have a new **secondary** server set up with the same versions of the OS, PostgreSQL, and GitLab on all nodes. -CAUTION: **Warning:** +WARNING: Geo works with streaming replication. Logical replication is not supported at this time. There is an [issue where support is being discussed](https://gitlab.com/gitlab-org/gitlab/-/issues/7420). @@ -79,7 +79,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o 1. GitLab 10.4 and up only: Do the following to make sure the `gitlab` database user has a password defined: - NOTE: **Note:** + NOTE: Until FDW settings are removed in GitLab version 14.0, avoid using single or double quotes in the password for PostgreSQL as that will lead to errors when reconfiguring. @@ -134,7 +134,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o connect to the **primary** node's database. For this reason, we need the address of each node. - NOTE: **Note:** + NOTE: For external PostgreSQL instances, see [additional instructions](external_database.md). If you are using a cloud provider, you can lookup the addresses for each @@ -171,7 +171,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o corresponding to the given address. See [the PostgreSQL documentation](https://www.postgresql.org/docs/11/runtime-config-connection.html) for more details. - NOTE: **Note:** + NOTE: If you need to use `0.0.0.0` or `*` as the listen_address, you will also need to add `127.0.0.1/32` to the `postgresql['md5_auth_cidr_addresses']` setting, to allow Rails to connect through `127.0.0.1`. For more information, see [omnibus-5258](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5258). @@ -290,7 +290,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o gitlab-ctl stop sidekiq ``` - NOTE: **Note:** + NOTE: This step is important so we don't try to execute anything before the node is fully configured. 1. [Check TCP connectivity](../../raketasks/maintenance.md) to the **primary** node's PostgreSQL server: @@ -299,7 +299,7 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o gitlab-rake gitlab:tcp_check[,5432] ``` - NOTE: **Note:** + NOTE: If this step fails, you may be using the wrong IP address, or a firewall may be preventing access to the server. Check the IP address, paying close attention to the difference between public and private addresses and ensure @@ -404,7 +404,7 @@ needed files for streaming replication. The directories used are the defaults that are set up in Omnibus. If you have changed any defaults, configure it as you see fit replacing the directories and paths. -CAUTION: **Warning:** +WARNING: Make sure to run this on the **secondary** server as it removes all PostgreSQL's data before running `pg_basebackup`. @@ -421,7 +421,7 @@ data before running `pg_basebackup`. 1. Execute the command below to start a backup/restore and begin the replication - CAUTION: **Warning:** + WARNING: Each Geo **secondary** node must have its own unique replication slot name. Using the same slot name between two secondaries will break PostgreSQL replication. @@ -431,10 +431,10 @@ data before running `pg_basebackup`. --host= ``` - NOTE: **Note:** + NOTE: Replication slot names must only contain lowercase letters, numbers, and the underscore character. - NOTE: **Note:** + NOTE: In GitLab 13.4, a seed project is added when GitLab is first installed. This makes it necessary to pass `--force` even on a new Geo secondary node. There is an [issue to account for seed projects](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5618) when checking the database. diff --git a/doc/administration/geo/setup/external_database.md b/doc/administration/geo/setup/external_database.md index 3ae1f947a3e..1fb41fbb53a 100644 --- a/doc/administration/geo/setup/external_database.md +++ b/doc/administration/geo/setup/external_database.md @@ -11,7 +11,7 @@ This document is relevant if you are using a PostgreSQL instance that is *not managed by Omnibus*. This includes cloud-managed instances like AWS RDS, or manually installed and configured PostgreSQL instances. -NOTE: **Note:** +NOTE: We strongly recommend running Omnibus-managed instances as they are actively developed and tested. We aim to be compatible with most external (not managed by Omnibus) databases but we do not guarantee compatibility. @@ -186,7 +186,7 @@ to grant additional roles to your tracking database user (by default, this is If you have an external database ready to be used as the tracking database, follow the instructions below to use it: -NOTE: **Note:** +NOTE: If you want to use AWS RDS as a tracking database, make sure it has access to the secondary database. Unfortunately, just assigning the same security group is not enough as outbound rules do not apply to RDS PostgreSQL databases. Therefore, you need to explicitly add an inbound diff --git a/doc/administration/geo/setup/index.md b/doc/administration/geo/setup/index.md index 2465689dd37..8308cbfa82e 100644 --- a/doc/administration/geo/setup/index.md +++ b/doc/administration/geo/setup/index.md @@ -12,7 +12,7 @@ These instructions assume you have a working instance of GitLab. They guide you 1. Making your existing instance the **primary** node. 1. Adding **secondary** nodes. -CAUTION: **Caution:** +WARNING: The steps below should be followed in the order they appear. **Make sure the GitLab version is the same on all nodes.** ## Using Omnibus GitLab diff --git a/doc/administration/git_annex.md b/doc/administration/git_annex.md index 56c1c3347bd..e21a8ac7e84 100644 --- a/doc/administration/git_annex.md +++ b/doc/administration/git_annex.md @@ -8,7 +8,7 @@ disqus_identifier: 'https://docs.gitlab.com/ee/workflow/git_annex.html' # Git annex -CAUTION: **Warning:** +WARNING: [Git Annex support was removed](https://gitlab.com/gitlab-org/gitlab/-/issues/1648) in GitLab 9.0. Read through the [migration guide from git-annex to Git LFS](../topics/git/lfs/migrate_from_git_annex_to_git_lfs.md). @@ -94,7 +94,7 @@ one is located in `config.yml` of GitLab Shell. ## Using GitLab git-annex -NOTE: **Note:** +NOTE: Your Git remotes must be using the SSH protocol, not HTTP(S). Here is an example workflow of uploading a very large file and then checking it diff --git a/doc/administration/gitaly/index.md b/doc/administration/gitaly/index.md index 972247c8a94..a717f126375 100644 --- a/doc/administration/gitaly/index.md +++ b/doc/administration/gitaly/index.md @@ -22,7 +22,7 @@ In the Gitaly documentation: GitLab end users do not have direct access to Gitaly. Gitaly only manages Git repository access for GitLab. Other types of GitLab data aren't accessed using Gitaly. -CAUTION: **Caution:** +WARNING: From GitLab 13.0, Gitaly support for NFS is deprecated. As of GitLab 14.0, NFS-related issues with Gitaly will no longer be addressed. Upgrade to [Gitaly Cluster](praefect.md) as soon as possible. Watch for [tools to enable bulk move](https://gitlab.com/groups/gitlab-org/-/epics/4916) @@ -69,7 +69,7 @@ this default configuration used by: However, Gitaly can be deployed to its own server, which can benefit GitLab installations that span multiple machines. -NOTE: **Note:** +NOTE: When configured to run on their own servers, Gitaly servers [must be upgraded](https://docs.gitlab.com/omnibus/update/#upgrading-gitaly-servers) before Gitaly clients in your cluster. @@ -141,7 +141,7 @@ We assume your GitLab installation has three repository storages: You can use as few as one server with one repository storage if desired. -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is just an arbitrary password selected by the administrator. It is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -434,7 +434,7 @@ server (with `gitaly_address`) unless you setup with special path: /some/local/path ``` - NOTE: **Note:** + NOTE: `/some/local/path` should be set to a local folder that exists, however no data is stored in this folder. This requirement is scheduled to be removed when [this issue](https://gitlab.com/gitlab-org/gitaly/-/issues/1282) is resolved. @@ -647,7 +647,7 @@ To configure Gitaly with TLS: path: /some/local/path ``` - NOTE: **Note:** + NOTE: `/some/local/path` should be set to a local folder that exists, however no data is stored in this folder. This requirement is scheduled to be removed when [Gitaly issue #1282](https://gitlab.com/gitlab-org/gitaly/-/issues/1282) is resolved. @@ -723,7 +723,7 @@ We recommend: - At least 300MB memory per worker. - No more than one worker per core. -NOTE: **Note:** +NOTE: `gitaly-ruby` is planned to be eventually removed. To track progress, see the [Remove the Gitaly-Ruby sidecar](https://gitlab.com/groups/gitlab-org/-/epics/2862) epic. @@ -805,7 +805,7 @@ You can observe the behavior of this queue using the Gitaly logs and Prometheus: - `gitaly_rate_limiting_queued`. - `gitaly_rate_limiting_seconds`. -NOTE: **Note:** +NOTE: Though the name of the Prometheus metric contains `rate_limiting`, it is a concurrency limiter, not a rate limiter. If a Gitaly client makes 1000 requests in a row very quickly, concurrency does not exceed 1 and the concurrency limiter has no effect. @@ -915,7 +915,7 @@ your Gitaly servers as follows: gitaly['auth_transitioning'] = false ``` -CAUTION: **Caution:** +WARNING: Without completing this step, you have **no Gitaly authentication**. ### Verify authentication is enforced diff --git a/doc/administration/gitaly/praefect.md b/doc/administration/gitaly/praefect.md index 0fc9794e688..5c1f8a33246 100644 --- a/doc/administration/gitaly/praefect.md +++ b/doc/administration/gitaly/praefect.md @@ -12,7 +12,7 @@ be run in a clustered configuration to increase fault tolerance. In this configuration, every Git repository is stored on every Gitaly node in the cluster. Multiple clusters (or shards), can be configured. -NOTE: **Note:** +NOTE: Gitaly Clusters can be created using [GitLab Core](https://about.gitlab.com/pricing/#self-managed) and higher tiers. However, technical support is limited to GitLab Premium and Ultimate customers only. Not available in GitLab.com. @@ -188,7 +188,7 @@ We note in the instructions below where these secrets are required. ### PostgreSQL -NOTE: **Note:** +NOTE: Do not store the GitLab application database and the Praefect database on the same PostgreSQL server if using [Geo](../geo/index.md). The replication state is internal to each instance @@ -287,7 +287,7 @@ The `praefect` user and its password should be included in the file (default is `userlist.txt`) used by PgBouncer if the [`auth_file`](https://www.pgbouncer.org/config.html#auth_file) configuration option is set. -NOTE: **Note:** +NOTE: By default PgBouncer uses port `6432` to accept incoming connections. You can change it by setting the [`listen_port`](https://www.pgbouncer.org/config.html#listen_port) configuration option. We recommend setting it to the default port value (`5432`) used by @@ -298,7 +298,7 @@ PostgreSQL instances. Otherwise you should change the configuration parameter > [Introduced](https://gitlab.com/gitlab-org/gitaly/-/issues/2634) in GitLab 13.4, Praefect nodes can no longer be designated as `primary`. -NOTE: **Note:** +NOTE: If there are multiple Praefect nodes, complete these steps for **each** node. To complete this section you need a [configured PostgreSQL server](#postgresql), including: @@ -398,7 +398,7 @@ application server, or a Gitaly node. so we use `default` here as well. This cluster has three Gitaly nodes `gitaly-1`, `gitaly-2`, and `gitaly-3`, which are intended to be replicas of each other. - CAUTION: **Caution:** + WARNING: If you have data on an already existing storage called `default`, you should configure the virtual storage with another name and [migrate the data to the Gitaly Cluster storage](#migrate-existing-repositories-to-gitaly-cluster) @@ -573,7 +573,7 @@ To configure Praefect with TLS: path: /some/local/path ``` - NOTE: **Note:** + NOTE: `/some/local/path` should be set to a local folder that exists, however no data is stored in this folder. This requirement is scheduled to be removed when [this issue](https://gitlab.com/gitlab-org/gitaly/-/issues/1282) is resolved. @@ -602,7 +602,7 @@ To configure Praefect with TLS: ### Gitaly -NOTE: **Note:** +NOTE: Complete these steps for **each** Gitaly node. To complete this section you need: @@ -763,7 +763,7 @@ internal traffic from the GitLab application to the Praefect nodes. The specifics on which load balancer to use or the exact configuration is beyond the scope of the GitLab documentation. -NOTE: **Note:** +NOTE: The load balancer must be configured to accept traffic from the Gitaly nodes in addition to the GitLab nodes. Some requests handled by [`gitaly-ruby`](index.md#gitaly-ruby) sidecar processes call into the main Gitaly @@ -817,7 +817,7 @@ Particular attention should be shown to: 1. Disable the default Gitaly service running on the GitLab host. It isn't needed because GitLab connects to the configured cluster. - CAUTION: **Caution:** + WARNING: If you have existing data stored on the default Gitaly storage, you should [migrate the data your Gitaly Cluster storage](#migrate-existing-repositories-to-gitaly-cluster) first. @@ -1116,7 +1116,7 @@ available: - In GitLab 13.3 and later, `-partially-replicated` that specifies whether to display a list of [outdated replicas of writable repositories](#outdated-replicas-of-writable-repositories). -NOTE: **Note:** +NOTE: `dataloss` is still in beta and the output format is subject to change. To check for outdated replicas of read-only repositories, run: @@ -1214,7 +1214,7 @@ Praefect provides the following subcommands to re-enable writes: sudo /opt/gitlab/embedded/bin/praefect -config /var/opt/gitlab/praefect/config.toml accept-dataloss -virtual-storage -repository -authoritative-storage ``` -CAUTION: **Caution:** +WARNING: `accept-dataloss` causes permanent data loss by overwriting other versions of the repository. Data [recovery efforts](#data-recovery) must be performed before using it. @@ -1278,7 +1278,7 @@ Gitaly Cluster automatically. Repositories may be moved from one storage location using the [Project repository storage moves API](../../api/project_repository_storage_moves.md): -NOTE: **Note:** +NOTE: The Project repository storage moves API [cannot move all repository types](../../api/project_repository_storage_moves.md#limitations). To move repositories to Gitaly Cluster: diff --git a/doc/administration/gitaly/reference.md b/doc/administration/gitaly/reference.md index b78f0f7f5c6..5a004d97220 100644 --- a/doc/administration/gitaly/reference.md +++ b/doc/administration/gitaly/reference.md @@ -66,7 +66,7 @@ token = "the secret token" transitioning = true ``` -CAUTION: **Warning:** +WARNING: Remember to disable `transitioning` when you are done changing your token settings. diff --git a/doc/administration/incoming_email.md b/doc/administration/incoming_email.md index c83c8f5e006..f6a2639e0e4 100644 --- a/doc/administration/incoming_email.md +++ b/doc/administration/incoming_email.md @@ -85,7 +85,7 @@ To set up a basic Postfix mail server with IMAP access on Ubuntu, follow the ### Security concerns -CAUTION: **Caution:** +WARNING: Be careful when choosing the domain used for receiving incoming email. For example, suppose your top-level company domain is `hooli.com`. @@ -112,7 +112,7 @@ Alternatively, use a dedicated domain for GitLab email communications such as See GitLab issue [#30366](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30366) for a real-world example of this exploit. -CAUTION: **Caution:** +WARNING: Use a mail server that has been configured to reduce spam. A Postfix mail server that is running on a default configuration, for example, @@ -253,7 +253,7 @@ incoming_email: Example configuration for Gmail/G Suite. Assumes mailbox `gitlab-incoming@gmail.com`. -NOTE: **Note:** +NOTE: `incoming_email_email` cannot be a Gmail alias account. Example for Omnibus installs: @@ -442,7 +442,7 @@ Example configurations for Microsoft Office 365 with IMAP enabled. ##### Sub-addressing mailbox -NOTE: **Note:** +NOTE: As of September 2020 sub-addressing support [has been added to Office 365](https://office365.uservoice.com/forums/273493-office-365-admin/suggestions/18612754-support-for-dynamic-email-aliases-in-office-36). This feature is not enabled by default, and must be enabled through PowerShell. @@ -451,7 +451,7 @@ This series of PowerShell commands enables [sub-addressing](#email-sub-addressin at the organization level in Office 365. This allows all mailboxes in the organization to receive sub-addressed mail: -NOTE: **Note:** +NOTE: This series of commands enables sub-addressing at the organization level in Office 365. This allows all mailboxes in the organization to receive sub-addressed mail. diff --git a/doc/administration/index.md b/doc/administration/index.md index 0587ee340a5..0d18a0e2003 100644 --- a/doc/administration/index.md +++ b/doc/administration/index.md @@ -219,7 +219,7 @@ information useful for troubleshooting, but if you are experiencing trouble with GitLab instance, you should check your [support options](https://about.gitlab.com/support/) before referring to these documents. -CAUTION: **Warning:** +WARNING: Using the commands listed in the documentation below could result in data loss or other damage to a GitLab instance, and should only be used by experienced administrators who are aware of the risks. diff --git a/doc/administration/integration/plantuml.md b/doc/administration/integration/plantuml.md index 9eacdd7cf56..a7458999aaa 100644 --- a/doc/administration/integration/plantuml.md +++ b/doc/administration/integration/plantuml.md @@ -137,7 +137,7 @@ that, login with an Admin account and do following: - Check **Enable PlantUML** checkbox. - Set the PlantUML instance as `https://gitlab.example.com/-/plantuml/`. -NOTE: **Note:** +NOTE: If you are using a PlantUML server running v1.2020.9 and above (for example, [plantuml.com](https://plantuml.com)), set the `PLANTUML_ENCODING` environment variable to enable the `deflate` compression. On Omnibus, diff --git a/doc/administration/integration/terminal.md b/doc/administration/integration/terminal.md index b692ca1d288..8fb732ef9c8 100644 --- a/doc/administration/integration/terminal.md +++ b/doc/administration/integration/terminal.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7690) in GitLab 8.15. -NOTE: **Note:** +NOTE: Only project maintainers and owners can access web terminals. With the introduction of the [Kubernetes integration](../../user/project/clusters/index.md), @@ -51,7 +51,7 @@ detail below. ## Enabling and disabling terminal support -NOTE: **Note:** +NOTE: AWS Elastic Load Balancers (ELBs) do not support web sockets. AWS Application Load Balancers (ALBs) must be used if you want web terminals to work. See [AWS Elastic Load Balancing Product Comparison](https://aws.amazon.com/elasticloadbalancing/features/#compare) diff --git a/doc/administration/issue_closing_pattern.md b/doc/administration/issue_closing_pattern.md index cafe9dc0d32..e23072c3bf4 100644 --- a/doc/administration/issue_closing_pattern.md +++ b/doc/administration/issue_closing_pattern.md @@ -7,7 +7,7 @@ type: reference # Issue closing pattern **(CORE ONLY)** -NOTE: **Note:** +NOTE: This is the administration documentation. There is a separate [user documentation](../user/project/issues/managing_issues.md#closing-issues-automatically) on issue closing pattern. diff --git a/doc/administration/job_artifacts.md b/doc/administration/job_artifacts.md index e987356f799..15d672d3885 100644 --- a/doc/administration/job_artifacts.md +++ b/doc/administration/job_artifacts.md @@ -111,7 +111,7 @@ In a multi-server setup you must use one of the options to #### Object Storage Settings -NOTE: **Note:** +NOTE: In GitLab 13.2 and later, we recommend using the [consolidated object storage settings](object_storage.md#consolidated-object-storage-configuration). This section describes the earlier configuration format. @@ -190,7 +190,7 @@ _The artifacts are stored by default in In some cases, you may need to run the [orphan artifact file cleanup Rake task](../raketasks/cleanup.md#remove-orphan-artifact-files) to clean up orphaned artifacts. -CAUTION: **Caution:** +WARNING: JUnit test report artifact (`junit.xml.gz`) migration [was not supported until GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/27698#note_317190991) by the `gitlab:artifacts:migrate` script. @@ -243,7 +243,7 @@ _The artifacts are stored by default in In some cases, you may need to run the [orphan artifact file cleanup Rake task](../raketasks/cleanup.md#remove-orphan-artifact-files) to clean up orphaned artifacts. -CAUTION: **Caution:** +WARNING: JUnit test report artifact (`junit.xml.gz`) migration [was not supported until GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/27698#note_317190991) by the `gitlab:artifacts:migrate` script. @@ -481,7 +481,7 @@ the number you want. #### Delete job artifacts from jobs completed before a specific date -CAUTION: **Caution:** +WARNING: These commands remove data permanently from the database and from disk. We highly recommend running them only under the guidance of a Support Engineer, or running them in a test environment with a backup of the instance ready to be @@ -507,7 +507,7 @@ If you need to manually remove job artifacts associated with multiple jobs while 1. Delete job artifacts older than a specific date: - NOTE: **Note:** + NOTE: This step also erases artifacts that users have chosen to ["keep"](../ci/pipelines/job_artifacts.md#browsing-artifacts). @@ -528,7 +528,7 @@ If you need to manually remove job artifacts associated with multiple jobs while #### Delete job artifacts and logs from jobs completed before a specific date -CAUTION: **Caution:** +WARNING: These commands remove data permanently from the database and from disk. We highly recommend running them only under the guidance of a Support Engineer, or running them in a test environment with a backup of the instance ready to be diff --git a/doc/administration/job_logs.md b/doc/administration/job_logs.md index 09bda0d39d2..b6fc27674fa 100644 --- a/doc/administration/job_logs.md +++ b/doc/administration/job_logs.md @@ -132,7 +132,7 @@ find /var/opt/gitlab/gitlab-rails/shared/artifacts -name "job.log" -mtime +60 -d > - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18169) in GitLab 10.4. -NOTE: **Note:** +NOTE: This beta feature is off by default. See below for how to [enable or disable](#enabling-incremental-logging) it. By combining the process with object storage settings, we can completely bypass @@ -184,8 +184,8 @@ Feature.enabled?(:ci_enable_live_trace) Feature.enable(:ci_enable_live_trace) ``` -NOTE: **Note:** -The transition period is handled gracefully. Upcoming logs are +NOTE: +The transition period is handled gracefully. Upcoming logs are generated with the incremental architecture, and on-going logs stay with the legacy architecture, which means that on-going logs aren't forcibly re-generated with the incremental architecture. @@ -196,7 +196,7 @@ re-generated with the incremental architecture. Feature.disable('ci_enable_live_trace') ``` -NOTE: **Note:** +NOTE: The transition period is handled gracefully. Upcoming logs are generated with the legacy architecture, and on-going incremental logs stay with the incremental architecture, which means that on-going incremental logs aren't forcibly re-generated diff --git a/doc/administration/lfs/index.md b/doc/administration/lfs/index.md index cded1ec4b46..bc349536a0c 100644 --- a/doc/administration/lfs/index.md +++ b/doc/administration/lfs/index.md @@ -71,7 +71,7 @@ GitLab provides two different options for the uploading mechanism: "Direct uploa [Read more about using object storage with GitLab](../object_storage.md). -NOTE: **Note:** +NOTE: In GitLab 13.2 and later, we recommend using the [consolidated object storage settings](../object_storage.md#consolidated-object-storage-configuration). This section describes the earlier configuration format. diff --git a/doc/administration/logs.md b/doc/administration/logs.md index 117ff27f670..167e5a6d2d8 100644 --- a/doc/administration/logs.md +++ b/doc/administration/logs.md @@ -117,7 +117,7 @@ The ActionCable connection or channel class is used as the `controller`. } ``` -NOTE: **Note:** +NOTE: Starting with GitLab 12.5, if an error occurs, an `exception` field is included with `class`, `message`, and `backtrace`. Previous versions included an `error` field instead of @@ -383,7 +383,7 @@ only. For example: ## `audit_json.log` -NOTE: **Note:** +NOTE: Most log entries only exist in [GitLab Starter](https://about.gitlab.com/pricing/), however a few exist in GitLab Core. This file lives in `/var/log/gitlab/gitlab-rails/audit_json.log` for @@ -1004,7 +1004,7 @@ When [troubleshooting](troubleshooting/index.md) issues that aren't localized to previously listed components, it's helpful to simultaneously gather multiple logs and statistics from a GitLab instance. -NOTE: **Note:** +NOTE: GitLab Support will often ask for one of these, and maintains the required tools. ### Briefly tail the main logs diff --git a/doc/administration/merge_request_diffs.md b/doc/administration/merge_request_diffs.md index 4e048c5a8ab..92fdba6216c 100644 --- a/doc/administration/merge_request_diffs.md +++ b/doc/administration/merge_request_diffs.md @@ -67,7 +67,7 @@ that only [stores outdated diffs](#alternative-in-database-storage) outside of d ## Using object storage -CAUTION: **Warning:** +WARNING: Currently migrating to object storage is **non-reversible** Instead of storing the external diffs on disk, we recommended the use of an object @@ -102,7 +102,7 @@ be configured already. ### Object Storage Settings -NOTE: **Note:** +NOTE: In GitLab 13.2 and later, we recommend using the [consolidated object storage settings](object_storage.md#consolidated-object-storage-configuration). This section describes the earlier configuration format. diff --git a/doc/administration/monitoring/gitlab_self_monitoring_project/index.md b/doc/administration/monitoring/gitlab_self_monitoring_project/index.md index 5fa34da129f..13d42ca2ee6 100644 --- a/doc/administration/monitoring/gitlab_self_monitoring_project/index.md +++ b/doc/administration/monitoring/gitlab_self_monitoring_project/index.md @@ -38,7 +38,7 @@ metrics exposed by the [GitLab exporter](../prometheus/gitlab_metrics.md#metrics ## Deleting the self monitoring project -CAUTION: **Warning:** +WARNING: Deleting the self monitoring project removes any changes made to the project. If you create the project again, it's created in its default state. diff --git a/doc/administration/monitoring/ip_whitelist.md b/doc/administration/monitoring/ip_whitelist.md index 0eeb8f35093..83fbec86f57 100644 --- a/doc/administration/monitoring/ip_whitelist.md +++ b/doc/administration/monitoring/ip_whitelist.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > Introduced in GitLab 9.4. -NOTE: **Note:** +NOTE: We intend to [rename IP whitelist as `IP allowlist`](https://gitlab.com/gitlab-org/gitlab/-/issues/7554). GitLab provides some [monitoring endpoints](../../user/admin_area/monitoring/health_check.md) diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index fcf1b0f2209..80ddb87e727 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -53,7 +53,7 @@ To disable Prometheus and all of its exporters, as well as any added in the futu ### Changing the port and address Prometheus listens on -CAUTION: **Caution:** +WARNING: The following change was added in [Omnibus GitLab 8.17](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1261). Although possible, it's not recommended to change the port Prometheus listens on, as this might affect or conflict with other services running on the GitLab @@ -183,7 +183,7 @@ ensure that `prometheus['scrape_configs']` is not set in `/etc/gitlab/gitlab.rb` ### Using an external Prometheus server -CAUTION: **Caution:** +WARNING: Prometheus and most exporters don't support authentication. We don't recommend exposing them outside the local network. A few configuration changes are required to allow GitLab to be monitored by an external Prometheus server. External servers are recommended for [GitLab deployments with multiple nodes](../../reference_architectures/index.md). diff --git a/doc/administration/nfs.md b/doc/administration/nfs.md index 56f40d12589..ccf3aa59f7b 100644 --- a/doc/administration/nfs.md +++ b/doc/administration/nfs.md @@ -14,7 +14,7 @@ Pages](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196). For data objects such as LFS, Uploads, Artifacts, etc., an [Object Storage service](object_storage.md) is recommended over NFS where possible, due to better performance. -CAUTION: **Caution:** +WARNING: From GitLab 13.0, using NFS for Git repositories is deprecated. In GitLab 14.0, support for NFS for Git repositories is scheduled to be removed. Upgrade to [Gitaly Cluster](gitaly/praefect.md) as soon as possible. @@ -118,7 +118,7 @@ To disable NFS server delegation, do the following: 1. Restart the NFS server process. For example, on CentOS run `service nfs restart`. -NOTE: **Note:** +NOTE: The kernel bug may be fixed in [more recent kernels with this commit](https://github.com/torvalds/linux/commit/95da1b3a5aded124dd1bda1e3cdb876184813140). Red Hat Enterprise 7 [shipped a kernel update](https://access.redhat.com/errata/RHSA-2019:2029) @@ -133,7 +133,7 @@ NFS performance with GitLab can in some cases be improved with [direct Git access](gitaly/index.md#direct-access-to-git-in-gitlab) using [Rugged](https://github.com/libgit2/rugged). -NOTE: **Note:** +NOTE: From GitLab 12.1, it will automatically be detected if Rugged can and should be used per storage. If you previously enabled Rugged using the feature flag, you will need to unset the feature flag by using: @@ -146,7 +146,7 @@ If the Rugged feature flag is explicitly set to either `true` or `false`, GitLab #### Improving NFS performance with Puma -NOTE: **Note:** +NOTE: From GitLab 12.7, Rugged is not automatically enabled if Puma thread count is greater than `1`. If you want to use Rugged with Puma, [set Puma thread count to `1`](https://docs.gitlab.com/omnibus/settings/puma.html#puma-settings). @@ -344,7 +344,7 @@ sudo ufw allow from to any port nfs ### Upgrade to Gitaly Cluster or disable caching if experiencing data loss -CAUTION: **Caution:** +WARNING: From GitLab 13.0, using NFS for Git repositories is deprecated. In GitLab 14.0, support for NFS for Git repositories is scheduled to be removed. Upgrade to [Gitaly Cluster](gitaly/praefect.md) as soon as possible. @@ -358,7 +358,7 @@ For example, we have seen [inconsistent updates after a push](https://gitlab.com | `actimeo=0` | Sets the time to zero that the NFS client caches files and directories before requesting fresh information from a server. | | `noac` | Tells the NFS client not to cache file attributes and forces application writes to become synchronous so that local changes to a file become visible on the server immediately. | -CAUTION: **Caution:** +WARNING: The `actimeo=0` and `noac` options both result in a significant reduction in performance, possibly leading to timeouts. You may be able to avoid timeouts and data loss using `actimeo=0` and `lookupcache=positive` _without_ `noac`, however we expect the performance reduction will still be significant. As noted above, we strongly recommend upgrading to diff --git a/doc/administration/operations/cleaning_up_redis_sessions.md b/doc/administration/operations/cleaning_up_redis_sessions.md index 91f56eb3935..6513a4ed4c8 100644 --- a/doc/administration/operations/cleaning_up_redis_sessions.md +++ b/doc/administration/operations/cleaning_up_redis_sessions.md @@ -21,7 +21,7 @@ prefixed with `session:gitlab:`, so they would look like `session:gitlab:976aa289e2189b17d7ef525a6702ace9`. Below we describe how to remove the keys in the old format. -NOTE: **Note:** +NOTE: The instructions below must be modified in accordance with your configuration settings if you have used the advanced Redis settings outlined in diff --git a/doc/administration/operations/extra_sidekiq_processes.md b/doc/administration/operations/extra_sidekiq_processes.md index 3649bedf86f..1f611a50a53 100644 --- a/doc/administration/operations/extra_sidekiq_processes.md +++ b/doc/administration/operations/extra_sidekiq_processes.md @@ -11,7 +11,7 @@ These processes can be used to consume a dedicated set of queues. This can be used to ensure certain queues always have dedicated workers, no matter the number of jobs that need to be processed. -NOTE: **Note:** +NOTE: The information in this page applies only to Omnibus GitLab. ## Available Sidekiq queues @@ -209,7 +209,7 @@ sidekiq['queue_groups'] = [ ### Disable Sidekiq cluster -CAUTION: **Warning:** +WARNING: Sidekiq cluster is [scheduled](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240) to be the only way to start Sidekiq in GitLab 14.0. @@ -341,7 +341,7 @@ being equal to `max_concurrency`. Running a single Sidekiq process is the default in GitLab 12.10 and earlier. -CAUTION: **Warning:** +WARNING: Running Sidekiq directly is scheduled to be removed in GitLab [14.0](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240). @@ -376,7 +376,7 @@ This tells the additional processes how often to check for enqueued jobs. ## Troubleshoot using the CLI -CAUTION: **Warning:** +WARNING: It's recommended to use `/etc/gitlab/gitlab.rb` to configure the Sidekiq processes. If you experience a problem, you should contact GitLab support. Use the command line at your own risk. diff --git a/doc/administration/operations/fast_ssh_key_lookup.md b/doc/administration/operations/fast_ssh_key_lookup.md index 0f54ed498bd..71b84e02db1 100644 --- a/doc/administration/operations/fast_ssh_key_lookup.md +++ b/doc/administration/operations/fast_ssh_key_lookup.md @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/1631) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.3. > - [Available in](https://gitlab.com/gitlab-org/gitlab/-/issues/3953) GitLab Community Edition 10.4. -NOTE: **Note:** +NOTE: This document describes a drop-in replacement for the `authorized_keys` file. For normal (non-deploy key) users, consider using [SSH certificates](ssh_certificates.md). They are even faster, but are not a @@ -80,18 +80,18 @@ Confirm that SSH is working by commenting out your user's key in the `authorized A successful pull would mean that GitLab was able to find the key in the database, since it is not present in the file anymore. -NOTE: **Note:** +NOTE: For Omnibus Docker, `AuthorizedKeysCommand` is setup by default in GitLab 11.11 and later. -NOTE: **Note:** +NOTE: For Installations from source, the command would be located at `/home/git/gitlab-shell/bin/gitlab-shell-authorized-keys-check` if [the install from source](../../install/installation.md#install-gitlab-shell) instructions were followed. You might want to consider creating a wrapper script somewhere else since this command needs to be owned by `root` and not be writable by group or others. You could also consider changing the ownership of this command as required, but that might require temporary ownership changes during `gitlab-shell` upgrades. -CAUTION: **Caution:** +WARNING: Do not disable writes until SSH is confirmed to be working perfectly, because the file will quickly become out-of-date. diff --git a/doc/administration/operations/filesystem_benchmarking.md b/doc/administration/operations/filesystem_benchmarking.md index 6243c8d934e..9072214eb02 100644 --- a/doc/administration/operations/filesystem_benchmarking.md +++ b/doc/administration/operations/filesystem_benchmarking.md @@ -71,7 +71,7 @@ operations per second. ### Simple benchmarking -NOTE: **Note:** +NOTE: This test is naive but may be useful if `fio` is not available on the system. It's possible to receive good results on this test but still have poor performance due to read speed and various other diff --git a/doc/administration/operations/rails_console.md b/doc/administration/operations/rails_console.md index dc935839a09..b40560bf6e5 100644 --- a/doc/administration/operations/rails_console.md +++ b/doc/administration/operations/rails_console.md @@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w The [Rails console](https://guides.rubyonrails.org/command_line.html#rails-console). provides a way to interact with your GitLab instance from the command line. -CAUTION: **Caution:** +WARNING: The Rails console interacts directly with GitLab. In many cases, there are no handrails to prevent you from permanently modifying, corrupting or destroying production data. If you would like to explore the Rails console diff --git a/doc/administration/operations/unicorn.md b/doc/administration/operations/unicorn.md index 26f2386976d..03995ee05ba 100644 --- a/doc/administration/operations/unicorn.md +++ b/doc/administration/operations/unicorn.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Understanding Unicorn and unicorn-worker-killer -NOTE: **Note:** +NOTE: Starting with GitLab 13.0, Puma is the default web server used in GitLab all-in-one package based installations as well as GitLab Helm chart deployments. diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md index 2aa26f5b43d..5a9041dad60 100644 --- a/doc/administration/packages/container_registry.md +++ b/doc/administration/packages/container_registry.md @@ -93,7 +93,7 @@ auth: rootcertbundle: /root/certs/certbundle ``` -CAUTION: **Caution:** +WARNING: If `auth` is not set up, users can pull Docker images without authentication. ## Container Registry domain configuration @@ -374,7 +374,7 @@ driver for the Container Registry. [Read more about using object storage with GitLab](../object_storage.md). -CAUTION: **Warning:** +WARNING: GitLab does not back up Docker images that are not stored on the file system. Enable backups with your object storage provider if desired. diff --git a/doc/administration/packages/dependency_proxy.md b/doc/administration/packages/dependency_proxy.md index 38719241423..9c22a093b2b 100644 --- a/doc/administration/packages/dependency_proxy.md +++ b/doc/administration/packages/dependency_proxy.md @@ -16,7 +16,7 @@ dependency proxies, see the [user guide](../../user/packages/dependency_proxy/in ## Enabling the Dependency Proxy feature -NOTE: **Note:** +NOTE: Dependency proxy requires the Puma web server to be enabled. To enable the dependency proxy feature: @@ -88,7 +88,7 @@ store the blobs of the dependency proxy. [Read more about using object storage with GitLab](../object_storage.md). -NOTE: **Note:** +NOTE: In GitLab 13.2 and later, we recommend using the [consolidated object storage settings](../object_storage.md#consolidated-object-storage-configuration). This section describes the earlier configuration format. diff --git a/doc/administration/packages/index.md b/doc/administration/packages/index.md index ce09006dc5b..f7a652ef346 100644 --- a/doc/administration/packages/index.md +++ b/doc/administration/packages/index.md @@ -53,7 +53,7 @@ guides you through the process. ## Enabling the Packages feature -NOTE: **Note:** +NOTE: After the Packages feature is enabled, the repositories are available for all new projects by default. To enable it for existing projects, users explicitly do so in the project's settings. @@ -136,7 +136,7 @@ store packages. [Read more about using object storage with GitLab](../object_storage.md). -NOTE: **Note:** +NOTE: We recommend using the [consolidated object storage settings](../object_storage.md#consolidated-object-storage-configuration). The following instructions apply to the original config format. **Omnibus GitLab installations** diff --git a/doc/administration/pages/img/zip_cache_configuration.png b/doc/administration/pages/img/zip_cache_configuration.png new file mode 100644 index 00000000000..a332d8d0eb5 Binary files /dev/null and b/doc/administration/pages/img/zip_cache_configuration.png differ diff --git a/doc/administration/pages/index.md b/doc/administration/pages/index.md index cf2c555ef41..21cd9e81a34 100644 --- a/doc/administration/pages/index.md +++ b/doc/administration/pages/index.md @@ -16,7 +16,7 @@ description: 'Learn how to administer GitLab Pages.' GitLab Pages allows for hosting of static sites. It must be configured by an administrator. Separate [user documentation](../../user/project/pages/index.md) is available. -NOTE: **Note:** +NOTE: This guide is for Omnibus GitLab installations. If you have installed GitLab from source, see [GitLab Pages administration for source installations](source.md). @@ -68,7 +68,7 @@ Before proceeding with the Pages configuration, you will need to: so that your users don't have to bring their own. 1. (Only for custom domains) Have a **secondary IP**. -NOTE: **Note:** +NOTE: If your GitLab instance and the Pages daemon are deployed in a private network or behind a firewall, your GitLab Pages websites will only be accessible to devices/users that have access to the private network. ### Add the domain to the Public Suffix List @@ -101,7 +101,7 @@ where `example.io` is the domain under which GitLab Pages will be served and `192.0.2.1` is the IPv4 address of your GitLab instance and `2001::1` is the IPv6 address. If you don't have IPv6, you can omit the AAAA record. -NOTE: **Note:** +NOTE: You should not use the GitLab domain to serve user pages. For more information see the [security section](#security). ## Configuration @@ -181,7 +181,7 @@ behavior: 1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure). -NOTE: **Note:** +NOTE: `inplace_chroot` option might not work with the other features, such as [Pages Access Control](#access-control). The [GitLab Pages README](https://gitlab.com/gitlab-org/gitlab-pages#caveats) has more information about caveats and workarounds. @@ -395,7 +395,7 @@ To do that: 1. Check the **Disable public access to Pages sites** checkbox. 1. Click **Save changes**. -CAUTION: **Warning:** +WARNING: For self-managed installations, all public websites remain private until they are redeployed. This issue will be resolved by [sourcing domain configuration from the GitLab API](https://gitlab.com/gitlab-org/gitlab/-/issues/218357). @@ -427,6 +427,42 @@ Authority (CA) in the system certificate store. For Omnibus, this is fixed by [installing a custom CA in Omnibus GitLab](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). +### Zip serving and cache configuration + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-pages/-/merge_requests/392) in GitLab 13.7. + +DANGER: **Warning:** +These are advanced settings. The recommended default values are set inside GitLab Pages. You should +change these settings only if absolutely necessary. Use extreme caution. + +GitLab Pages can serve content from zip archives through object storage (an +[issue](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/485) exists for supporting disk storage +as well). It uses an in-memory cache to increase the performance when serving content from a zip +archive. You can modify the cache behavior by changing the following configuration flags. + +| Setting | Description | +| ------- | ----------- | +| `zip_cache_expiration` | The cache expiration interval of zip archives. Must be greater than zero to avoid serving stale content. Default is 60s. | +| `zip_cache_cleanup` | The interval at which archives are cleaned from memory if they have already expired. Default is 30s. | +| `zip_cache_refresh` | The time interval in which an archive is extended in memory if accessed before `zip_cache_expiration`. This works together with `zip_cache_expiration` to determine if an archive is extended in memory. See the [example below](#zip-cache-refresh-example) for important details. Default is 30s. | +| `zip_open_timeout` | The maximum time allowed to open a zip archive. Increase this time for big archives or slow network connections, as doing so may affect the latency of serving Pages. Default is 30s. | + +#### Zip cache refresh example + +Archives are refreshed in the cache (extending the time they are held in memory) if they're accessed +before `zip_cache_expiration`, and the time left before expiring is less than or equal to +`zip_cache_refresh`. For example, if `archive.zip` is accessed at time 0s, it expires in 60s (the +default for `zip_cache_expiration`). In the example below, if the archive is opened again after 15s +it is **not** refreshed because the time left for expiry (45s) is greater than `zip_cache_refresh` +(default 30s). However, if the archive is accessed again after 45s (from the first time it was +opened) it's refreshed. This extends the time the archive remains in memory from +`45s + zip_cache_expiration (60s)`, for a total of 105s. + +After an archive reaches `zip_cache_expiration`, it's marked as expired and removed on the next +`zip_cache_cleanup` interval. + +![Zip cache configuration](img/zip_cache_configuration.png) + ## Activate verbose logging for daemon Verbose logging was [introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2533) in diff --git a/doc/administration/pages/source.md b/doc/administration/pages/source.md index 2cc4b643f6f..79021e42f0e 100644 --- a/doc/administration/pages/source.md +++ b/doc/administration/pages/source.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # GitLab Pages administration for source installations -NOTE: **Note:** +NOTE: Before attempting to enable GitLab Pages, first make sure you have [installed GitLab](../../install/installation.md) successfully. @@ -77,7 +77,7 @@ host that GitLab runs. For example, an entry would look like this: where `example.io` is the domain under which GitLab Pages will be served and `192.0.2.1` is the IP address of your GitLab instance. -NOTE: **Note:** +NOTE: You should not use the GitLab domain to serve user pages. For more information see the [security section](#security). @@ -349,7 +349,7 @@ world. Custom domains and TLS are supported. ## NGINX caveats -NOTE: **Note:** +NOTE: The following information applies only for installations from source. Be extra careful when setting up the domain name in the NGINX configuration. You must diff --git a/doc/administration/postgresql/pgbouncer.md b/doc/administration/postgresql/pgbouncer.md index ff3e32d360e..f09ac3052f4 100644 --- a/doc/administration/postgresql/pgbouncer.md +++ b/doc/administration/postgresql/pgbouncer.md @@ -36,7 +36,7 @@ This content has been moved to a [new location](replication_and_failover.md#conf 1. Run `gitlab-ctl reconfigure` - NOTE: **Note:** + NOTE: If the database was already running, it will need to be restarted after reconfigure by running `gitlab-ctl restart postgresql`. 1. On the node you are running PgBouncer on, make sure the following is set in `/etc/gitlab/gitlab.rb` diff --git a/doc/administration/postgresql/replication_and_failover.md b/doc/administration/postgresql/replication_and_failover.md index f1ff1d33b12..303246c9c82 100644 --- a/doc/administration/postgresql/replication_and_failover.md +++ b/doc/administration/postgresql/replication_and_failover.md @@ -35,7 +35,7 @@ You also need to take into consideration the underlying network topology, making sure you have redundant connectivity between all Database and GitLab instances to avoid the network becoming a single point of failure. -NOTE: **Note:** +NOTE: As of GitLab 13.3, PostgreSQL 12 is shipped with Omnibus GitLab. Clustering for PostgreSQL 12 is only supported with Patroni. See the [Patroni](#patroni) section for further details. The support for repmgr will not be extended beyond PostgreSQL 11. @@ -460,7 +460,7 @@ Check the [Troubleshooting section](#troubleshooting) before proceeding. # END user configuration ``` - NOTE: **Note:** + NOTE: `pgbouncer_role` was introduced with GitLab 10.3. 1. Run `gitlab-ctl reconfigure` @@ -985,7 +985,7 @@ after it has been restored to service. gitlab-ctl restart repmgrd ``` - CAUTION: **Warning:** + WARNING: When the server is brought back online, and before you switch it to a standby node, repmgr will report that there are two masters. If there are any clients that are still attempting to write to the old master, @@ -1148,7 +1148,7 @@ If you're running into an issue with a component not outlined here, be sure to c ## Patroni -NOTE: **Note:** +NOTE: Starting from GitLab 13.1, Patroni is available for **experimental** use to replace repmgr. Due to its experimental nature, Patroni support is **subject to change without notice.** @@ -1326,7 +1326,7 @@ For further details, see [Patroni documentation on this subject](https://patroni ### Switching from repmgr to Patroni -CAUTION: **Warning:** +WARNING: Although switching from repmgr to Patroni is fairly straightforward the other way around is not. Rolling back from Patroni to repmgr can be complicated and may involve deletion of data directory. If you need to do that, please contact GitLab support. @@ -1345,7 +1345,7 @@ You can switch an exiting database cluster to use Patroni instead of repmgr with sudo gitlab-ctl stop postgresql ``` - NOTE: **Note:** + NOTE: Ensure that there is no `walsender` process running on the primary node. `ps aux | grep walsender` must not show any running process. @@ -1367,7 +1367,7 @@ As of GitLab 13.3, PostgreSQL 11.7 and 12.3 are both shipped with Omnibus GitLab uses PostgreSQL 11 by default. Therefore `gitlab-ctl pg-upgrade` does not automatically upgrade to PostgreSQL 12. If you want to upgrade to PostgreSQL 12, you must ask for it explicitly. -CAUTION: **Warning:** +WARNING: The procedure for upgrading PostgreSQL in a Patroni cluster is different than when upgrading using repmgr. The following outlines the key differences and important considerations that need to be accounted for when upgrading PostgreSQL. @@ -1401,7 +1401,7 @@ Considering these, you should carefully plan your PostgreSQL upgrade: gitlab-ctl patroni members ``` - NOTE: **Note:** + NOTE: `gitlab-ctl pg-upgrade` tries to detect the role of the node. If for any reason the auto-detection does not work or you believe it did not detect the role correctly, you can use the `--leader` or `--replica` arguments to manually override it. @@ -1446,7 +1446,7 @@ Considering these, you should carefully plan your PostgreSQL upgrade: sudo gitlab-ctl pg-upgrade -V 12 ``` -NOTE: **Note:** +NOTE: Reverting PostgreSQL upgrade with `gitlab-ctl revert-pg-upgrade` has the same considerations as `gitlab-ctl pg-upgrade`. You should follow the same procedure by first stopping the replicas, then reverting the leader, and finally reverting the replicas. diff --git a/doc/administration/postgresql/standalone.md b/doc/administration/postgresql/standalone.md index 5d5b4887f2e..30495824cd2 100644 --- a/doc/administration/postgresql/standalone.md +++ b/doc/administration/postgresql/standalone.md @@ -59,7 +59,7 @@ together with Omnibus GitLab. This is recommended as part of our gitlab_rails['auto_migrate'] = false ``` - NOTE: **Note:** + NOTE: The role `postgres_role` was introduced with GitLab 10.3 1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect. diff --git a/doc/administration/pseudonymizer.md b/doc/administration/pseudonymizer.md index 5f7ef361792..36442c5115f 100644 --- a/doc/administration/pseudonymizer.md +++ b/doc/administration/pseudonymizer.md @@ -12,7 +12,7 @@ As GitLab's database hosts sensitive information, using it unfiltered for analyt implies high security requirements. To help alleviate this constraint, the Pseudonymizer service is used to export GitLab's data in a pseudonymized way. -CAUTION: **Warning:** +WARNING: This process is not impervious. If the source data is available, it's possible for a user to correlate data to the pseudonymized version. diff --git a/doc/administration/raketasks/ldap.md b/doc/administration/raketasks/ldap.md index a9f812dd7d0..09e7b0addba 100644 --- a/doc/administration/raketasks/ldap.md +++ b/doc/administration/raketasks/ldap.md @@ -42,7 +42,7 @@ The following task will run a [group sync](../auth/ldap/index.md#group-sync) imm when you'd like to update all configured group memberships against LDAP without waiting for the next scheduled group sync to be run. -NOTE: **Note:** +NOTE: If you'd like to change the frequency at which a group sync is performed, [adjust the cron schedule](../auth/ldap/index.md#adjusting-ldap-group-sync-schedule) instead. diff --git a/doc/administration/raketasks/uploads/migrate.md b/doc/administration/raketasks/uploads/migrate.md index 06f0f092bef..29a5cf82b97 100644 --- a/doc/administration/raketasks/uploads/migrate.md +++ b/doc/administration/raketasks/uploads/migrate.md @@ -55,7 +55,7 @@ The Rake task uses three parameters to find uploads to migrate: | `model_class` | string | Type of the model to migrate from. | | `mount_point` | string/symbol | Name of the model's column the uploader is mounted on. | -NOTE: **Note:** +NOTE: These parameters are mainly internal to GitLab's structure, you may want to refer to the task list instead below. @@ -131,7 +131,7 @@ sudo -u git -H bundle exec rake "gitlab:uploads:migrate[DesignManagement::Design If you need to disable [object storage](../../object_storage.md) for any reason, you must first migrate your data out of object storage and back into your local storage. -CAUTION: **Warning:** +WARNING: **Extended downtime is required** so no new files are created in object storage during the migration. A configuration setting is planned to allow migrating from object storage to local files with only a brief moment of downtime for configuration changes. diff --git a/doc/administration/read_only_gitlab.md b/doc/administration/read_only_gitlab.md index de44edee659..d1cb53d0090 100644 --- a/doc/administration/read_only_gitlab.md +++ b/doc/administration/read_only_gitlab.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Place GitLab into a read-only state **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This document should be used as a temporary solution. There's work in progress to make this [possible with Geo](https://gitlab.com/groups/gitlab-org/-/epics/2149). diff --git a/doc/administration/redis/replication_and_failover.md b/doc/administration/redis/replication_and_failover.md index 9f83f988eba..1abc52b65cc 100644 --- a/doc/administration/redis/replication_and_failover.md +++ b/doc/administration/redis/replication_and_failover.md @@ -7,11 +7,11 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Redis replication and failover with Omnibus GitLab **(PREMIUM ONLY)** -NOTE: **Note:** +NOTE: This is the documentation for the Omnibus GitLab packages. For using your own non-bundled Redis, follow the [relevant documentation](replication_and_failover_external.md). -NOTE: **Note:** +NOTE: In Redis lingo, primary is called master. In this document, primary is used instead of master, except the settings where `master` is required. @@ -162,7 +162,7 @@ is not achieved (see the odd number of nodes requirement above). In that case, a new attempt will be made after the amount of time defined in `sentinel['failover_timeout']` (in milliseconds). -NOTE: **Note:** +NOTE: We will see where `sentinel['failover_timeout']` is defined later. The `failover_timeout` variable has a lot of different use cases. According to @@ -194,7 +194,7 @@ It is assumed that you have installed GitLab and all its components from scratch If you already have Redis installed and running, read how to [switch from a single-machine installation](#switching-from-an-existing-single-machine-installation). -NOTE: **Note:** +NOTE: Redis nodes (both primary and replica) will need the same password defined in `redis['password']`. At any time during a failover the Sentinels can reconfigure a node and change its status from primary to replica and vice versa. @@ -277,7 +277,7 @@ If you fail to replicate first, you may loose data (unprocessed background jobs) 1. [Reconfigure Omnibus GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect. -NOTE: **Note:** +NOTE: You can specify multiple roles like sentinel and Redis as: `roles ['redis_sentinel_role', 'redis_master_role']`. Read more about [roles](https://docs.gitlab.com/omnibus/roles/). @@ -327,7 +327,7 @@ Read more about [roles](https://docs.gitlab.com/omnibus/roles/). 1. [Reconfigure Omnibus GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect. 1. Go through the steps again for all the other replica nodes. -NOTE: **Note:** +NOTE: You can specify multiple roles like sentinel and Redis as: `roles ['redis_sentinel_role', 'redis_master_role']`. Read more about [roles](https://docs.gitlab.com/omnibus/roles/). @@ -339,7 +339,7 @@ the same Sentinels. ### Step 3. Configuring the Redis Sentinel instances -NOTE: **Note:** +NOTE: If you are using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter will cause clients to report `NOAUTH @@ -465,7 +465,7 @@ the correct credentials for the Sentinel nodes. While it doesn't require a list of all Sentinel nodes, in case of a failure, it needs to access at least one of the listed. -NOTE: **Note:** +NOTE: The following steps should be performed in the GitLab application server which ideally should not have Redis or Sentinels on it for a HA setup. @@ -690,7 +690,7 @@ To make this work with Sentinel: sudo gitlab-ctl reconfigure ``` -NOTE: **Note:** +NOTE: For each persistence class, GitLab will default to using the configuration specified in `gitlab_rails['redis_sentinels']` unless overridden by the previously described settings. diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md index fb1c7c703f8..4d02ae47897 100644 --- a/doc/administration/reference_architectures/10k_users.md +++ b/doc/administration/reference_architectures/10k_users.md @@ -316,7 +316,7 @@ The following IPs will be used as an example: - `10.6.0.12`: Consul 2 - `10.6.0.13`: Consul 3 -NOTE: **Note:** +NOTE: The configuration processes for the other servers in your reference architecture will use the `/etc/gitlab/gitlab-secrets.json` file from your Consul server to connect with the other servers. @@ -1037,7 +1037,7 @@ servers. The following IPs will be used as an example: - `10.6.0.72`: Sentinel - Cache 2 - `10.6.0.73`: Sentinel - Cache 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1301,7 +1301,7 @@ servers. The following IPs will be used as an example: - `10.6.0.82`: Sentinel - Queues 2 - `10.6.0.83`: Sentinel - Queues 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1422,7 +1422,7 @@ To configure the Sentinel Queues server: ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -1456,7 +1456,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -1574,7 +1574,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md index 0a7b6f94fe7..7349484f9a0 100644 --- a/doc/administration/reference_architectures/25k_users.md +++ b/doc/administration/reference_architectures/25k_users.md @@ -316,7 +316,7 @@ The following IPs will be used as an example: - `10.6.0.12`: Consul 2 - `10.6.0.13`: Consul 3 -NOTE: **Note:** +NOTE: The configuration processes for the other servers in your reference architecture will use the `/etc/gitlab/gitlab-secrets.json` file from your Consul server to connect with the other servers. @@ -1037,7 +1037,7 @@ servers. The following IPs will be used as an example: - `10.6.0.72`: Sentinel - Cache 2 - `10.6.0.73`: Sentinel - Cache 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1301,7 +1301,7 @@ servers. The following IPs will be used as an example: - `10.6.0.82`: Sentinel - Queues 2 - `10.6.0.83`: Sentinel - Queues 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1422,7 +1422,7 @@ To configure the Sentinel Queues server: ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -1456,7 +1456,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -1574,7 +1574,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/2k_users.md b/doc/administration/reference_architectures/2k_users.md index ea3483f2ad2..b374b555058 100644 --- a/doc/administration/reference_architectures/2k_users.md +++ b/doc/administration/reference_architectures/2k_users.md @@ -396,7 +396,7 @@ are supported and can be added if needed. ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -431,7 +431,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -525,7 +525,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md index 529f0252862..0770e7336ba 100644 --- a/doc/administration/reference_architectures/3k_users.md +++ b/doc/administration/reference_architectures/3k_users.md @@ -11,7 +11,7 @@ This page describes GitLab reference architecture for up to 3,000 users. For a full list of reference architectures, see [Available reference architectures](index.md#available-reference-architectures). -NOTE: **Note:** +NOTE: This reference architecture is designed to help your organization achieve a highly-available GitLab deployment. If you do not have the expertise or need to maintain a highly-available environment, you can have a simpler and less @@ -500,7 +500,7 @@ servers. The following IPs will be used as an example: - `10.6.0.12`: Consul/Sentinel 2 - `10.6.0.13`: Consul/Sentinel 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1114,7 +1114,7 @@ Refer to your preferred Load Balancer's documentation for further guidance. ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -1148,7 +1148,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -1298,7 +1298,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md index 1462447255d..d3b6f57fb3c 100644 --- a/doc/administration/reference_architectures/50k_users.md +++ b/doc/administration/reference_architectures/50k_users.md @@ -316,7 +316,7 @@ The following IPs will be used as an example: - `10.6.0.12`: Consul 2 - `10.6.0.13`: Consul 3 -NOTE: **Note:** +NOTE: The configuration processes for the other servers in your reference architecture will use the `/etc/gitlab/gitlab-secrets.json` file from your Consul server to connect with the other servers. @@ -1037,7 +1037,7 @@ servers. The following IPs will be used as an example: - `10.6.0.72`: Sentinel - Cache 2 - `10.6.0.73`: Sentinel - Cache 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1301,7 +1301,7 @@ servers. The following IPs will be used as an example: - `10.6.0.82`: Sentinel - Queues 2 - `10.6.0.83`: Sentinel - Queues 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1422,7 +1422,7 @@ To configure the Sentinel Queues server: ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -1456,7 +1456,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -1574,7 +1574,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md index 3dfe614a495..ce099f8f7e9 100644 --- a/doc/administration/reference_architectures/5k_users.md +++ b/doc/administration/reference_architectures/5k_users.md @@ -11,7 +11,7 @@ This page describes GitLab reference architecture for up to 5,000 users. For a full list of reference architectures, see [Available reference architectures](index.md#available-reference-architectures). -NOTE: **Note:** +NOTE: This reference architecture is designed to help your organization achieve a highly-available GitLab deployment. If you do not have the expertise or need to maintain a highly-available environment, you can have a simpler and less @@ -501,7 +501,7 @@ servers. The following IPs will be used as an example: - `10.6.0.12`: Consul/Sentinel 2 - `10.6.0.13`: Consul/Sentinel 3 -NOTE: **Note:** +NOTE: If you're using an external Redis Sentinel instance, be sure to exclude the `requirepass` parameter from the Sentinel configuration. This parameter causes clients to report `NOAUTH Authentication required.`. @@ -1114,7 +1114,7 @@ Refer to your preferred Load Balancer's documentation for further guidance. ## Configure Gitaly -NOTE: **Note:** +NOTE: [Gitaly Cluster](../gitaly/praefect.md) support for the Reference Architectures is being worked on as a [collaborative effort](https://gitlab.com/gitlab-org/quality/reference-architectures/-/issues/1) between the Quality Engineering and Gitaly teams. When this component has been verified @@ -1148,7 +1148,7 @@ Be sure to note the following items: to restrict access to the Gitaly server. Another option is to [use TLS](#gitaly-tls-support). -NOTE: **Note:** +NOTE: The token referred to throughout the Gitaly documentation is an arbitrary password selected by the administrator. This token is unrelated to tokens created for the GitLab API or other similar web API tokens. @@ -1298,7 +1298,7 @@ nodes (including the Gitaly node using the certificate) and on all client nodes that communicate with it following the procedure described in [GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates). -NOTE: **Note:** +NOTE: The self-signed certificate must specify the address you use to access the Gitaly server. If you are addressing the Gitaly server by a hostname, you can either use the Common Name field for this, or add it as a Subject Alternative diff --git a/doc/administration/reference_architectures/index.md b/doc/administration/reference_architectures/index.md index 476b0c9f7ce..498b9d4216b 100644 --- a/doc/administration/reference_architectures/index.md +++ b/doc/administration/reference_architectures/index.md @@ -47,7 +47,7 @@ When scaling GitLab, there are several factors to consider: - A load balancer is added in front to distribute traffic across the application nodes. - The application nodes connects to a shared file server and PostgreSQL and Redis services on the backend. -NOTE: **Note:** +NOTE: Depending on your workflow, the following recommended reference architectures may need to be adapted accordingly. Your workload is influenced by factors including how active your users are, how much automation you use, mirroring, diff --git a/doc/administration/reply_by_email_postfix_setup.md b/doc/administration/reply_by_email_postfix_setup.md index 37711d53016..f310ef04295 100644 --- a/doc/administration/reply_by_email_postfix_setup.md +++ b/doc/administration/reply_by_email_postfix_setup.md @@ -91,7 +91,7 @@ The instructions make the assumption that you will be using the email address `i quit ``` - NOTE: **Note:** + NOTE: The `.` is a literal period on its own line. If you receive an error after entering `rcpt to: incoming@localhost` @@ -272,7 +272,7 @@ Courier, which we will install later to add IMAP authentication, requires mailbo quit ``` - NOTE: **Note:** + NOTE: The `.` is a literal period on its own line. 1. Check if the `incoming` user received the email: diff --git a/doc/administration/repository_checks.md b/doc/administration/repository_checks.md index 195905da737..6f7a72a0ef2 100644 --- a/doc/administration/repository_checks.md +++ b/doc/administration/repository_checks.md @@ -17,7 +17,7 @@ before the check result is visible on the project admin page. If the checks failed you can see their output on in the [`repocheck.log` file.](logs.md#repochecklog) -NOTE: **Note:** +NOTE: It is OFF by default because it still causes too many false alarms. ## Periodic checks diff --git a/doc/administration/repository_storage_paths.md b/doc/administration/repository_storage_paths.md index 46a9eba6e60..fcc00d3eace 100644 --- a/doc/administration/repository_storage_paths.md +++ b/doc/administration/repository_storage_paths.md @@ -67,7 +67,7 @@ files and add the full paths of the alternative repository storage paths. In the example below, we add two more mount points that are named `nfs_1` and `nfs_2` respectively. -NOTE: **Note:** +NOTE: This example uses NFS. We do not recommend using EFS for storage as it may impact GitLab's performance. See the [relevant documentation](nfs.md#avoid-using-awss-elastic-file-system-efs) for more details. **For installations from source** @@ -89,7 +89,7 @@ This example uses NFS. We do not recommend using EFS for storage as it may impac 1. [Restart GitLab](restart_gitlab.md#installations-from-source) for the changes to take effect. -NOTE: **Note:** +NOTE: We plan to replace [`gitlab_shell: repos_path` entry](https://gitlab.com/gitlab-org/gitlab-foss/-/blob/8-9-stable/config/gitlab.yml.example#L457) in `gitlab.yml` with `repositories: storages`. If you are upgrading from a version prior to 8.10, make sure to add the configuration as described in the step above. After you make the changes and confirm they are diff --git a/doc/administration/repository_storage_types.md b/doc/administration/repository_storage_types.md index f7220c4be2d..f43b5cd20bf 100644 --- a/doc/administration/repository_storage_types.md +++ b/doc/administration/repository_storage_types.md @@ -28,7 +28,7 @@ Anything discussed below is expected to be part of that folder. ## Hashed storage -NOTE: **Note:** +NOTE: In GitLab 13.0, hashed storage is enabled by default and the legacy storage is deprecated. Support for legacy storage is scheduled to be removed in GitLab 14.0. If you haven't migrated yet, check the diff --git a/doc/administration/server_hooks.md b/doc/administration/server_hooks.md index 075ce3ace87..ce8c25ec28a 100644 --- a/doc/administration/server_hooks.md +++ b/doc/administration/server_hooks.md @@ -85,7 +85,7 @@ configuration: - GitLab 13.0 and earlier, this is set in `gitlab-shell/config.yml`. - GitLab 13.1 and later, this is set in `gitaly/config.toml` under the `[hooks]` section. -NOTE: **Note:** +NOTE: The `custom_hooks_dir` value in `gitlab-shell/config.yml` is still honored in GitLab 13.1 and later if the value in `gitaly/config.toml` is blank or non-existent. @@ -152,7 +152,7 @@ Pre-receive and post-receive server hooks can also access the following Git envi | `GIT_PUSH_OPTION_COUNT` | Number of push options. See [Git `pre-receive` documentation](https://git-scm.com/docs/githooks#pre-receive). | | `GIT_PUSH_OPTION_` | Value of push options where `i` is from `0` to `GIT_PUSH_OPTION_COUNT - 1`. See [Git `pre-receive` documentation](https://git-scm.com/docs/githooks#pre-receive). | -NOTE: **Note:** +NOTE: While other environment variables can be passed to server hooks, your application should not rely on them as they can change. diff --git a/doc/administration/smime_signing_email.md b/doc/administration/smime_signing_email.md index 1ff404f6959..7492bf4457a 100644 --- a/doc/administration/smime_signing_email.md +++ b/doc/administration/smime_signing_email.md @@ -26,7 +26,7 @@ files must be provided: Optionally, you can also provide a bundle of CA certs (PEM-encoded) to be included on each signature. This will typically be an intermediate CA. -CAUTION: **Caution:** +WARNING: Be mindful of the access levels for your private keys and visibility to third parties. diff --git a/doc/administration/terraform_state.md b/doc/administration/terraform_state.md index ea67a95204f..e7fcf115515 100644 --- a/doc/administration/terraform_state.md +++ b/doc/administration/terraform_state.md @@ -20,7 +20,7 @@ These locations can be configured using the options described below. ## Using local storage -NOTE: **Note:** +NOTE: This is the default configuration To change the location where Terraform state files are stored locally, follow the steps @@ -91,7 +91,7 @@ See [the available connection settings for different providers](object_storage.m } ``` - NOTE: **Note:** + NOTE: If you are using AWS IAM profiles, be sure to omit the AWS access key and secret access key/value pairs. ```ruby diff --git a/doc/administration/timezone.md b/doc/administration/timezone.md index b48a5122be0..798e7f5050c 100644 --- a/doc/administration/timezone.md +++ b/doc/administration/timezone.md @@ -20,7 +20,7 @@ To see all available time zones, run `bundle exec rake time:zones:all`. For Omnibus installations, run `gitlab-rake time:zones:all`. -NOTE: **Note:** +NOTE: This Rake task does not list timezones in TZInfo format required by Omnibus GitLab during a reconfigure: [#27209](https://gitlab.com/gitlab-org/gitlab/-/issues/27209). ## Changing time zone in Omnibus installations diff --git a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md index 1f4455187d6..21513c58aeb 100644 --- a/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md +++ b/doc/administration/troubleshooting/gitlab_rails_cheat_sheet.md @@ -14,13 +14,13 @@ having an issue with GitLab, it is highly recommended that you check your [support options](https://about.gitlab.com/support/) first, before attempting to use this information. -CAUTION: **Caution:** +WARNING: Please note that some of these scripts could be damaging if not run correctly, or under the right conditions. We highly recommend running them under the guidance of a Support Engineer, or running them in a test environment with a backup of the instance ready to be restored, just in case. -CAUTION: **Caution:** +WARNING: Please also note that as GitLab changes, changes to the code are inevitable, and so some scripts may not work as they once used to. These are not kept up-to-date as these scripts/commands were added as they were found/needed. As @@ -308,7 +308,7 @@ pp p.statistics # compare with earlier values ### Recreate -CAUTION: **Caution:** +WARNING: This is a destructive operation, the Wiki will be empty. A Projects Wiki can be recreated by this command: diff --git a/doc/administration/troubleshooting/group_saml_scim.md b/doc/administration/troubleshooting/group_saml_scim.md index e162ae3fb3c..3b6aebaa26c 100644 --- a/doc/administration/troubleshooting/group_saml_scim.md +++ b/doc/administration/troubleshooting/group_saml_scim.md @@ -22,7 +22,7 @@ This section includes relevant screenshots of the following example configuratio - [Azure Active Directory](#azure-active-directory) - [OneLogin](#onelogin) -CAUTION: **Caution:** +WARNING: These screenshots are updated only as needed by GitLab Support. They are **not** official documentation. If you are currently having an issue with GitLab, you may want to check your [support options](https://about.gitlab.com/support/). diff --git a/doc/administration/troubleshooting/kubernetes_cheat_sheet.md b/doc/administration/troubleshooting/kubernetes_cheat_sheet.md index aa5e440b8b1..8f342030a80 100644 --- a/doc/administration/troubleshooting/kubernetes_cheat_sheet.md +++ b/doc/administration/troubleshooting/kubernetes_cheat_sheet.md @@ -11,7 +11,7 @@ This is a list of useful information regarding Kubernetes that the GitLab Suppor Team sometimes uses while troubleshooting. GitLab is making this public, so that anyone can make use of the Support team's collected knowledge -CAUTION: **Caution:** +WARNING: These commands **can alter or break** your Kubernetes components so use these at your own risk. If you are on a [paid tier](https://about.gitlab.com/pricing/) and are not sure how diff --git a/doc/administration/troubleshooting/linux_cheat_sheet.md b/doc/administration/troubleshooting/linux_cheat_sheet.md index 6c24374448b..c3b83ec2458 100644 --- a/doc/administration/troubleshooting/linux_cheat_sheet.md +++ b/doc/administration/troubleshooting/linux_cheat_sheet.md @@ -13,7 +13,7 @@ and it may be useful for users with experience with Linux. If you are currently having an issue with GitLab, you may want to check your [support options](https://about.gitlab.com/support/) first, before attempting to use this information. -CAUTION: **Caution:** +WARNING: If you are administering GitLab you are expected to know these commands for your distribution of choice. If you are a GitLab Support Engineer, consider this a cross-reference to translate `yum` -> `apt-get` and the like. diff --git a/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md b/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md index dc49a17929e..68c12117222 100644 --- a/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md +++ b/doc/administration/troubleshooting/navigating_gitlab_via_rails_console.md @@ -12,7 +12,7 @@ Thanks to this, we also get access to the amazing tools built right into Rails. In this guide, we'll introduce the [Rails console](../operations/rails_console.md#starting-a-rails-console-session) and the basics of interacting with your GitLab instance from the command line. -CAUTION: **Caution:** +WARNING: The Rails console interacts directly with your GitLab instance. In many cases, there are no handrails to prevent you from permanently modifying, corrupting or destroying production data. If you would like to explore the Rails console diff --git a/doc/administration/troubleshooting/postgresql.md b/doc/administration/troubleshooting/postgresql.md index 2a263d11813..52b50bbd460 100644 --- a/doc/administration/troubleshooting/postgresql.md +++ b/doc/administration/troubleshooting/postgresql.md @@ -11,7 +11,7 @@ This page contains information about PostgreSQL the GitLab Support team uses when troubleshooting. GitLab makes this information public, so that anyone can make use of the Support team's collected knowledge. -CAUTION: **Caution:** +WARNING: Some procedures documented here may break your GitLab instance. Use at your own risk. @@ -169,7 +169,5 @@ It may take a little while to respond. {"idle_in_transaction_session_timeout"=>"1min"} ``` -NOTE: **Note:** -These are Omnibus GitLab settings. If an external database, such as a -customer's PostgreSQL installation or Amazon RDS is being used, these values -don't get set, and would have to be set externally. +NOTE: +These are Omnibus GitLab settings. If an external database, such as a customer's PostgreSQL installation or Amazon RDS is being used, these values don't get set, and would have to be set externally. diff --git a/doc/administration/troubleshooting/test_environments.md b/doc/administration/troubleshooting/test_environments.md index 0a02ec59439..655ffd00d19 100644 --- a/doc/administration/troubleshooting/test_environments.md +++ b/doc/administration/troubleshooting/test_environments.md @@ -13,7 +13,7 @@ for users with experience with these tools. If you are currently having an issue GitLab, you may want to check your [support options](https://about.gitlab.com/support/) first, before attempting to use this information. -NOTE: **Note:** +NOTE: This page was initially written for Support Engineers, so some of the links are only available internally at GitLab. diff --git a/doc/administration/uploads.md b/doc/administration/uploads.md index 0e55441450d..94e7bbe2cff 100644 --- a/doc/administration/uploads.md +++ b/doc/administration/uploads.md @@ -44,7 +44,7 @@ stored locally, use the steps in this section based on your installation method: **In Omnibus GitLab installations:** -NOTE: **Note:** +NOTE: For historical reasons, uploads are stored into a base directory, which by default is `uploads/-/system`. It's strongly discouraged to change this configuration option for an existing GitLab installation. diff --git a/doc/administration/wikis/index.md b/doc/administration/wikis/index.md index 5c64cb883fa..c1330fe973b 100644 --- a/doc/administration/wikis/index.md +++ b/doc/administration/wikis/index.md @@ -30,7 +30,7 @@ This setting is not available through the [Admin Area settings](../../user/admin In order to configure this setting, use either the Rails console or the [Application settings API](../../api/settings.md). -NOTE: **Note:** +NOTE: The value of the limit **must** be in bytes. The minimum value is 1024 bytes. #### Through the Rails console diff --git a/doc/api/README.md b/doc/api/README.md index 8aebe397f96..63bccbddb50 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -123,7 +123,7 @@ There are several methods you can use to authenticate with the GitLab API: - [Session cookie](#session-cookie) - [GitLab CI/CD job token](#gitlab-ci-job-token) **(Specific endpoints only)** -NOTE: **Note:** +NOTE: Project access tokens are supported for self-managed instances on Core and higher. They're also supported on GitLab.com Bronze and higher. @@ -478,7 +478,7 @@ Status: 200 OK ... ``` -CAUTION: **Deprecation:** +WARNING: The `Links` header is scheduled to be removed in GitLab 14.0 to be aligned with the [W3C `Link` specification](https://www.w3.org/wiki/LinkHeader). The `Link` header was [added in GitLab 13.1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33714) diff --git a/doc/api/access_requests.md b/doc/api/access_requests.md index 88a06d2d248..6802cb75953 100644 --- a/doc/api/access_requests.md +++ b/doc/api/access_requests.md @@ -7,7 +7,7 @@ type: reference, api # Group and project access requests API -> Introduced in GitLab 8.11. +> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18583) in GitLab 8.11. ## Valid access levels diff --git a/doc/api/applications.md b/doc/api/applications.md index 6d204c9ef2f..c57ddb8471b 100644 --- a/doc/api/applications.md +++ b/doc/api/applications.md @@ -13,7 +13,7 @@ Applications API operates on OAuth applications for: - [Using GitLab as an authentication provider](../integration/oauth_provider.md). - [Allowing access to GitLab resources on a user's behalf](oauth2.md). -NOTE: **Note:** +NOTE: Only admin users can use the Applications API. ## Create an application @@ -82,7 +82,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: The `secret` value will not be exposed by this API. ## Delete an application diff --git a/doc/api/avatar.md b/doc/api/avatar.md index 0ebadf7b85c..31f254c7986 100644 --- a/doc/api/avatar.md +++ b/doc/api/avatar.md @@ -18,7 +18,7 @@ If: returned. - Public visibility is restricted, response is `403 Forbidden` when unauthenticated. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication. ```plaintext diff --git a/doc/api/award_emoji.md b/doc/api/award_emoji.md index dac442abb3c..72d70c966d5 100644 --- a/doc/api/award_emoji.md +++ b/doc/api/award_emoji.md @@ -176,7 +176,7 @@ Example Response: Sometimes it's just not meant to be and you'll have to remove the award. -NOTE: **Note:** +NOTE: Only available to administrators or the author of the award. ```plaintext @@ -201,7 +201,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: " "https://git Comments (also known as notes) are a sub-resource of issues, merge requests, and snippets. -NOTE: **Note:** +NOTE: The examples below describe working with award emoji on comments for an issue, but can be easily adapted for comments on a merge request or on a snippet. Therefore, you have to replace `issue_iid` either with `merge_request_iid` or with the `snippet_id`. @@ -343,7 +343,7 @@ Example response: Sometimes it's just not meant to be and you'll have to remove the award. -NOTE: **Note:** +NOTE: Only available to administrators or the author of the award. ```plaintext diff --git a/doc/api/boards.md b/doc/api/boards.md index 461135b50be..aff82daa1bf 100644 --- a/doc/api/boards.md +++ b/doc/api/boards.md @@ -423,7 +423,7 @@ POST /projects/:id/boards/:board_id/lists | `assignee_id` **(PREMIUM)** | integer | no | The ID of a user | | `milestone_id` **(PREMIUM)** | integer | no | The ID of a milestone | -NOTE: **Note:** +NOTE: Label, assignee and milestone arguments are mutually exclusive, that is, only one of them are accepted in a request. Check the [Issue Board docs](../user/project/issue_board.md) diff --git a/doc/api/branches.md b/doc/api/branches.md index 5ce0c6bd15c..07da8c2e7f3 100644 --- a/doc/api/branches.md +++ b/doc/api/branches.md @@ -16,7 +16,7 @@ See also [Protected branches API](protected_branches.md). Get a list of repository branches from a project, sorted by name alphabetically. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication if the repository is publicly accessible. ```plaintext @@ -73,7 +73,7 @@ Example response: Get a single project repository branch. -NOTE: **Note:** +NOTE: This endpoint can be accessed without authentication if the repository is publicly accessible. ```plaintext @@ -189,7 +189,7 @@ Example response: Delete a branch from the repository. -NOTE: **Note:** +NOTE: In the case of an error, an explanation message is provided. ```plaintext @@ -213,7 +213,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: " "https://git Will delete all branches that are merged into the project's default branch. -NOTE: **Note:** +NOTE: [Protected branches](../user/project/protected_branches.md) will not be deleted as part of this operation. ```plaintext diff --git a/doc/api/container_registry.md b/doc/api/container_registry.md index fa728aa2711..5f3dbcb1ab0 100644 --- a/doc/api/container_registry.md +++ b/doc/api/container_registry.md @@ -313,7 +313,7 @@ You can run this at most once an hour for a given container repository. This action doesn't delete blobs. To delete them and recycle disk space, [run the garbage collection](https://docs.gitlab.com/omnibus/maintenance/README.html#removing-unused-layers-not-referenced-by-manifests). -NOTE: **Note:** +NOTE: In GitLab 12.4 and later, individual tags are deleted. For more details, see the [discussion](https://gitlab.com/gitlab-org/gitlab/-/issues/15737). diff --git a/doc/api/dependencies.md b/doc/api/dependencies.md index e101f76a0b5..6beb57a6da0 100644 --- a/doc/api/dependencies.md +++ b/doc/api/dependencies.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Dependencies API **(ULTIMATE)** -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/dependency_proxy.md b/doc/api/dependency_proxy.md index 8871aec030d..5993da91c65 100644 --- a/doc/api/dependency_proxy.md +++ b/doc/api/dependency_proxy.md @@ -13,7 +13,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w Deletes the cached blobs for a group. This endpoint requires group admin access. -CAUTION: **Warning:** +WARNING: [A bug exists](https://gitlab.com/gitlab-org/gitlab/-/issues/277161) for this API. ```plaintext diff --git a/doc/api/epics.md b/doc/api/epics.md index ff6d30e6123..dc582808578 100644 --- a/doc/api/epics.md +++ b/doc/api/epics.md @@ -38,11 +38,11 @@ are paginated. Read more on [pagination](README.md#pagination). -CAUTION: **Deprecation:** +WARNING: > `reference` attribute in response is deprecated in favour of `references`. > Introduced [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) -NOTE: **Note:** +NOTE: > `references.relative` is relative to the group that the epic is being requested. When epic is fetched from its origin group > `relative` format would be the same as `short` format and when requested cross groups it is expected to be the same as `full` format. @@ -251,7 +251,7 @@ Example response: Creates a new epic. -NOTE: **Note:** +NOTE: Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned directly, as they now represent composite values. You can configure it via the `*_is_fixed` and `*_fixed` fields instead. @@ -333,7 +333,7 @@ Example response: Updates an epic. -NOTE: **Note:** +NOTE: Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned directly, as they now represent composite values. You can configure it via the `*_is_fixed` and `*_fixed` fields instead. diff --git a/doc/api/events.md b/doc/api/events.md index aad8a847941..d073e7ed633 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -268,7 +268,7 @@ Example response: ## List a Project's visible events -NOTE: **Note:** +NOTE: This endpoint has been around longer than the others. Documentation was formerly located in the [Projects API pages](projects.md). Get a list of visible events for a particular project. diff --git a/doc/api/feature_flag_specs.md b/doc/api/feature_flag_specs.md index 1a0f09d40f4..45db47f5ffe 100644 --- a/doc/api/feature_flag_specs.md +++ b/doc/api/feature_flag_specs.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9566) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.5. -CAUTION: **Deprecation:** +WARNING: This API is deprecated and [scheduled for removal in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213369). The API for creating, updating, reading and deleting Feature Flag Specs. diff --git a/doc/api/feature_flag_user_lists.md b/doc/api/feature_flag_user_lists.md index 3c49c989de6..ba03b81ebfd 100644 --- a/doc/api/feature_flag_user_lists.md +++ b/doc/api/feature_flag_user_lists.md @@ -13,7 +13,7 @@ API for accessing GitLab Feature Flag User Lists. Users with Developer or higher [permissions](../user/permissions.md) can access the Feature Flag User Lists API. -NOTE: **Note:** +NOTE: `GET` requests return twenty results at a time because the API results are [paginated](README.md#pagination). You can change this value. diff --git a/doc/api/feature_flags_legacy.md b/doc/api/feature_flags_legacy.md index 8bc6c67fc82..eae4dbc36e1 100644 --- a/doc/api/feature_flags_legacy.md +++ b/doc/api/feature_flags_legacy.md @@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Starter](https://about.gitlab.com/pricing/) in 13.4. > - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to [GitLab Core](https://about.gitlab.com/pricing/) in 13.5. -CAUTION: **Deprecation:** +WARNING: This API is deprecated and [scheduled for removal in GitLab 14.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213369). Use [this API](feature_flags.md) instead. API for accessing resources of [GitLab Feature Flags](../operations/feature_flags.md). diff --git a/doc/api/geo_nodes.md b/doc/api/geo_nodes.md index ed16a6b3da2..280d02ced32 100644 --- a/doc/api/geo_nodes.md +++ b/doc/api/geo_nodes.md @@ -240,7 +240,7 @@ Example response: Removes the Geo node. -NOTE: **Note:** +NOTE: Only a Geo primary node will accept this request. ```plaintext @@ -548,7 +548,8 @@ Example response: } ``` -Note: The `health_status` parameter can only be in an "Healthy" or "Unhealthy" state, while the `health` parameter can be empty, "Healthy", or contain the actual error message. +NOTE: +The `health_status` parameter can only be in an "Healthy" or "Unhealthy" state, while the `health` parameter can be empty, "Healthy", or contain the actual error message. ## Retrieve project sync or verification failures that occurred on the current node diff --git a/doc/api/graphql/audit_report.md b/doc/api/graphql/audit_report.md index 422965d79e8..74ac8710160 100644 --- a/doc/api/graphql/audit_report.md +++ b/doc/api/graphql/audit_report.md @@ -105,7 +105,7 @@ explorer. GraphiQL explorer is available for: ![GraphiQL explorer search for boards](img/user_query_example_v13_2.png) -NOTE: **Note:** +NOTE: [The GraphQL API returns a GlobalID, rather than a standard ID.](getting_started.md#queries-and-mutations) It also expects a GlobalID as an input rather than a single integer. diff --git a/doc/api/graphql/getting_started.md b/doc/api/graphql/getting_started.md index aba7676487a..49886ec8595 100644 --- a/doc/api/graphql/getting_started.md +++ b/doc/api/graphql/getting_started.md @@ -53,7 +53,7 @@ several issues within the project. Please refer to [running GraphiQL](index.md#graphiql) for more information. -NOTE: **Note:** +NOTE: If you are running GitLab 11.0 to 12.0, enable the `graphql` [feature flag](../features.md#set-or-create-a-feature). @@ -64,7 +64,7 @@ The GitLab GraphQL API can be used to perform: - Queries for data retrieval. - [Mutations](#mutations) for creating, updating, and deleting data. -NOTE: **Note:** +NOTE: In the GitLab GraphQL API, `id` refers to a [Global ID](https://graphql.org/learn/global-object-identification/), which is an object identifier in the format of `"gid://gitlab/Issue/123"`. diff --git a/doc/api/group_clusters.md b/doc/api/group_clusters.md index 88c35329733..f169c1829be 100644 --- a/doc/api/group_clusters.md +++ b/doc/api/group_clusters.md @@ -248,7 +248,7 @@ Parameters: | `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | | `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | -NOTE: **Note:** +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the ["Add existing cluster to group"](#add-existing-cluster-to-group) endpoint. diff --git a/doc/api/group_import_export.md b/doc/api/group_import_export.md index aeb5f0f6d79..bf8c889b031 100644 --- a/doc/api/group_import_export.md +++ b/doc/api/group_import_export.md @@ -92,7 +92,7 @@ by `@`. For example: curl --request POST --header "PRIVATE-TOKEN: " --form "name=imported-group" --form "path=imported-group" --form "file=@/path/to/file" "https://gitlab.example.com/api/v4/groups/import" ``` -NOTE: **Note:** +NOTE: The maximum import file size can be set by the Administrator, default is 50MB. As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](settings.md#change-application-settings) or the [Admin UI](../user/admin_area/settings/account_and_limit_settings.md). diff --git a/doc/api/group_labels.md b/doc/api/group_labels.md index 1d96097bd8d..65c28e80f0a 100644 --- a/doc/api/group_labels.md +++ b/doc/api/group_labels.md @@ -10,7 +10,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w This API supports managing of [group labels](../user/project/labels.md#project-labels-and-group-labels). It allows to list, create, update, and delete group labels. Furthermore, users can subscribe and unsubscribe to and from group labels. -NOTE: **Note:** +NOTE: The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413). ## List group labels @@ -175,7 +175,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /groups/:id/labels` with `name` in the parameters is still available, but deprecated. ## Delete a group label @@ -195,7 +195,7 @@ DELETE /groups/:id/labels/:label_id curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/groups/5/labels/bug" ``` -NOTE: **Note:** +NOTE: An older endpoint `DELETE /groups/:id/labels` with `name` in the parameters is still available, but deprecated. ## Subscribe to a group label diff --git a/doc/api/groups.md b/doc/api/groups.md index 4b7c7516baa..b4d36b568b8 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -338,7 +338,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: To distinguish between a project in the group and a project shared to the group, the `namespace` attribute can be used. When a project has been shared to the group, its `namespace` differs from the group the request is being made for. ## List a group's shared projects @@ -493,7 +493,7 @@ Parameters: | `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only). | | `with_projects` | boolean | no | Include details from projects that belong to the specified group (defaults to `true`). (Deprecated, [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects).) | -NOTE: **Note:** +NOTE: The `projects` and `shared_projects` attributes in the response are deprecated and [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint. @@ -853,7 +853,7 @@ PUT /groups/:id | `extra_shared_runners_minutes_limit` | integer | no | **(STARTER ONLY)** Extra pipeline minutes quota for this group (purchased in addition to the minutes included in the plan). | | `prevent_forking_outside_group` | boolean | no | **(PREMIUM)** When enabled, users can **not** fork projects from this group to external namespaces -NOTE: **Note:** +NOTE: The `projects` and `shared_projects` attributes in the response are deprecated and [scheduled for removal in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint. @@ -1170,7 +1170,7 @@ POST /groups/:id/ldap_group_links | `group_access` | integer | yes | Minimum [access level](members.md#valid-access-levels) for members of the LDAP group | | `provider` | string | yes | LDAP provider for the LDAP group link | -NOTE: **Note:** +NOTE: To define the LDAP group link, provide either a `cn` or a `filter`, but not both. ### Delete LDAP group link **(STARTER ONLY)** @@ -1213,7 +1213,7 @@ DELETE /groups/:id/ldap_group_links | `filter` | string | no | The LDAP filter for the group | | `provider` | string | yes | LDAP provider for the LDAP group link | -NOTE: **Note:** +NOTE: To delete the LDAP group link, provide either a `cn` or a `filter`, but not both. ## Namespaces in groups diff --git a/doc/api/import.md b/doc/api/import.md index 210d2d5747a..f1292be5d6e 100644 --- a/doc/api/import.md +++ b/doc/api/import.md @@ -50,7 +50,7 @@ Example response: Import your projects from Bitbucket Server to GitLab via the API. -NOTE: **Note:** +NOTE: The Bitbucket Project Key is only used for finding the repository in Bitbucket. You must specify a `target_namespace` if you want to import the repository to a GitLab group. If you do not specify `target_namespace`, the project imports to your personal user namespace. diff --git a/doc/api/instance_clusters.md b/doc/api/instance_clusters.md index 664ba90207e..96133a3e7ff 100644 --- a/doc/api/instance_clusters.md +++ b/doc/api/instance_clusters.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36001) in GitLab 13.2. -NOTE: **Note:** +NOTE: Users need admin access to use these endpoints. Use these API endpoints with your instance clusters, which enable you to use the same cluster across multiple projects. [More information](../user/instance/clusters/index.md) @@ -238,7 +238,7 @@ Parameters: | `platform_kubernetes_attributes[ca_cert]` | string | no | TLS certificate. Required if API is using a self-signed TLS certificate. | | `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | -NOTE: **Note:** +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the [Add existing Kubernetes cluster](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the [Add existing instance cluster](#add-existing-instance-cluster) endpoint. diff --git a/doc/api/invitations.md b/doc/api/invitations.md index 0c483f251e1..d241c56dc9e 100644 --- a/doc/api/invitations.md +++ b/doc/api/invitations.md @@ -21,7 +21,7 @@ levels are defined in the `Gitlab::Access` module. Currently, these levels are v - Maintainer (`40`) - Owner (`50`) - Only valid to set for groups -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299), projects in personal namespaces don't show owner (`50`) permission. diff --git a/doc/api/issues.md b/doc/api/issues.md index 243521bc517..c962422ae0f 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -20,7 +20,7 @@ DANGER: **Deprecated:** The `reference` attribute in responses is deprecated in favor of `references`. Introduced in [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354). -NOTE: **Note:** +NOTE: The `references.relative` attribute is relative to the group or project of the issue being requested. When an issue is fetched from its project, the `relative` format is the same as the `short` format, and when requested across groups or projects it's expected to be the same as the `full` format. @@ -201,7 +201,7 @@ DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -378,7 +378,7 @@ the `health_status` parameter: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -561,7 +561,7 @@ the `health_status` parameter: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -724,7 +724,7 @@ DANGER: **Deprecated:** The `epic_iid` attribute is deprecated, and [will be removed in version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157). Please use `iid` of the `epic` attribute instead. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -885,7 +885,7 @@ DANGER: **Deprecated:** The `epic_iid` attribute is deprecated and [will be removed in version 5](https://gitlab.com/gitlab-org/gitlab/-/issues/35157). Please use `iid` of the `epic` attribute instead. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1009,7 +1009,7 @@ the `health_status` parameter: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1159,7 +1159,7 @@ the `health_status` parameter: ] ``` -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1327,7 +1327,7 @@ the `health_status` parameter: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1436,7 +1436,7 @@ the `weight` parameter: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. @@ -1626,7 +1626,7 @@ Example response: DANGER: **Deprecated:** The `assignee` column is deprecated. We now show it as a single-sized array `assignees` to conform to the GitLab EE API. -NOTE: **Note:** +NOTE: The `closed_by` attribute was [introduced in GitLab 10.6](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17042). This value is only present for issues closed after GitLab 10.6 and if the user account that closed the issue still exists. diff --git a/doc/api/job_artifacts.md b/doc/api/job_artifacts.md index 803ecb502de..229b90282f0 100644 --- a/doc/api/job_artifacts.md +++ b/doc/api/job_artifacts.md @@ -69,7 +69,7 @@ the given reference name and job, provided the job finished successfully. This is the same as [getting the job's artifacts](#get-job-artifacts), but by defining the job's name instead of its ID. -NOTE: **Note:** +NOTE: If a pipeline is [parent of other child pipelines](../ci/parent_child_pipelines.md), artifacts are searched in hierarchical order from parent to child. For example, if both parent and child pipelines have a job with the same name, the artifact from the parent pipeline is returned. @@ -275,7 +275,7 @@ Example request: curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/jobs/1/artifacts" ``` -NOTE: **Note:** +NOTE: At least Maintainer role is required to delete artifacts. If the artifacts were deleted successfully, a response with status `204 No Content` is returned. diff --git a/doc/api/labels.md b/doc/api/labels.md index 0b792b2e181..963d320a384 100644 --- a/doc/api/labels.md +++ b/doc/api/labels.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Labels API -NOTE: **Note:** +NOTE: The `description_html` - was added to response JSON in [GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21413). ## List labels @@ -200,7 +200,7 @@ DELETE /projects/:id/labels/:label_id curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/labels/bug" ``` -NOTE: **Note:** +NOTE: An older endpoint `DELETE /projects/:id/labels` with `name` in the parameters is still available, but deprecated. ## Edit an existing label @@ -244,7 +244,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /projects/:id/labels` with `name` or `label_id` in the parameters is still available, but deprecated. ## Promote a project label to a group label @@ -285,7 +285,7 @@ Example response: } ``` -NOTE: **Note:** +NOTE: An older endpoint `PUT /projects/:id/labels/promote` with `name` in the parameters is still available, but deprecated. ## Subscribe to a label diff --git a/doc/api/members.md b/doc/api/members.md index fe7fffeab5d..75125b6a4e4 100644 --- a/doc/api/members.md +++ b/doc/api/members.md @@ -17,7 +17,7 @@ The access levels are defined in the `Gitlab::Access` module. Currently, these l - Maintainer (`40`) - Owner (`50`) - Only valid to set for groups -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299), projects in personal namespaces don't show owner (`50`) permission for owner. @@ -89,7 +89,7 @@ Example response: Gets a list of group or project members viewable by the authenticated user, including inherited members and permissions through ancestor groups. -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/249523), the users effective `access_level` may actually be higher than returned value when listing group members. This function takes pagination parameters `page` and `per_page` to restrict the list of users. diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md index ca1b7339ff4..e3ebb61768e 100644 --- a/doc/api/merge_request_approvals.md +++ b/doc/api/merge_request_approvals.md @@ -499,7 +499,7 @@ DELETE /projects/:id/approval_rules/:approval_rule_id > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. -NOTE: **Note:** +NOTE: This API endpoint has been deprecated. Please use Approval Rule API instead. If you are allowed to, you can change approvers and approver groups using @@ -650,7 +650,7 @@ POST /projects/:id/merge_requests/:merge_request_iid/approvals > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/183) in [GitLab Starter](https://about.gitlab.com/pricing/) 10.6. -NOTE: **Note:** +NOTE: This API endpoint has been deprecated. Please use Approval Rule API instead. If you are allowed to, you can change approvers and approver groups using diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index 17570ac9d5e..d2144a2c0c5 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -9,11 +9,11 @@ type: reference, api Every API call to merge requests must be authenticated. -CAUTION: **Deprecation:** +WARNING: > `reference` attribute in response is deprecated in favour of `references`. > Introduced [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) -NOTE: **Note:** +NOTE: > `references.relative` is relative to the group / project that the merge request is being requested. When merge request is fetched from its project > `relative` format would be the same as `short` format and when requested across groups / projects it is expected to be the same as `full` format. @@ -76,14 +76,14 @@ Parameters: | `deployed_before` | datetime | no | Return merge requests deployed before the given date/time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | | `deployed_after` | datetime | no | Return merge requests deployed after the given date/time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) | -NOTE: **Note:** +NOTE: [Starting in GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31890), listing merge requests may not proactively update the `merge_status` field (which also affects the `has_conflicts` field), as this can be an expensive operation. If you are interested in the value of these fields from this endpoint, set the `with_merge_status_recheck` parameter to `true` in the query. -NOTE: **Note:** +NOTE: [Starting in GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/29984), the mergeability (`merge_status`) of each merge request will be checked asynchronously when a request is made to this endpoint. Poll this API endpoint @@ -563,7 +563,7 @@ Parameters: - `include_diverged_commits_count` (optional) - If `true` response includes the commits behind the target branch - `include_rebase_in_progress` (optional) - If `true` response includes whether a rebase operation is in progress -NOTE: **Note:** +NOTE: [Starting in GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/29984), the mergeability (`merge_status`) of a merge request will be checked asynchronously when a request is made to this endpoint. Poll this API endpoint diff --git a/doc/api/namespaces.md b/doc/api/namespaces.md index 3be86332532..4e5a418be7a 100644 --- a/doc/api/namespaces.md +++ b/doc/api/namespaces.md @@ -113,7 +113,7 @@ once a day. ] ``` -NOTE: **Note:** +NOTE: Only group maintainers/owners are presented with `members_count_with_descendants`, as well as `plan` **(BRONZE ONLY)**. ## Search for namespace diff --git a/doc/api/oauth2.md b/doc/api/oauth2.md index b1c81ff20b6..50d063bdf71 100644 --- a/doc/api/oauth2.md +++ b/doc/api/oauth2.md @@ -59,7 +59,7 @@ authorization with each flow. ### Web application flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.1) for a detailed flow description. @@ -105,7 +105,7 @@ The web application flow is: } ``` -NOTE: **Note:** +NOTE: The `redirect_uri` must match the `redirect_uri` used in the original authorization request. @@ -113,11 +113,11 @@ You can now make requests to the API with the access token returned. ### Implicit grant flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.2) for a detailed flow description. -CAUTION: **Important:** +WARNING: Avoid using this flow for applications that store data outside of the GitLab instance. If you do, make sure to verify `application id` associated with the access token before granting access to the data @@ -149,11 +149,11 @@ https://example.com/oauth/redirect#access_token=ABCDExyz123&state=YOUR_UNIQUE_ST ### Resource owner password credentials flow -NOTE: **Note:** +NOTE: Check the [RFC spec](https://tools.ietf.org/html/rfc6749#section-4.3) for a detailed flow description. -NOTE: **Note:** +NOTE: The Resource Owner Password Credentials is disabled for users with [two-factor authentication](../user/profile/account/two_factor_authentication.md) turned on. These users can access the API using [personal access tokens](../user/profile/personal_access_tokens.md) @@ -169,7 +169,7 @@ The credentials should only be used when: privileged application. - Other authorization grant types are not available (such as an authorization code). -CAUTION: **Important:** +WARNING: Never store the user's credentials and only use this grant type when your client is deployed to a trusted environment, in 99% of cases [personal access tokens](../user/profile/personal_access_tokens.md) are a better diff --git a/doc/api/personal_access_tokens.md b/doc/api/personal_access_tokens.md index 48dce1b1014..b3e007308ba 100644 --- a/doc/api/personal_access_tokens.md +++ b/doc/api/personal_access_tokens.md @@ -23,7 +23,7 @@ GET /personal_access_tokens |-----------|---------|----------|---------------------| | `user_id` | integer/string | no | The ID of the user to filter by | -NOTE: **Note:** +NOTE: Administrators can use the `user_id` parameter to filter by a user. Non-administrators cannot filter by any user except themselves. Attempting to do so will result in a `401 Unauthorized` response. ```shell @@ -82,7 +82,7 @@ DELETE /personal_access_tokens/:id |-----------|---------|----------|---------------------| | `id` | integer/string | yes | ID of personal access token | -NOTE: **Note:** +NOTE: Non-administrators can revoke their own tokens. Administrators can revoke tokens of any user. ```shell diff --git a/doc/api/pipelines.md b/doc/api/pipelines.md index e4904641eb2..14ded7c569d 100644 --- a/doc/api/pipelines.md +++ b/doc/api/pipelines.md @@ -155,7 +155,7 @@ Example of response > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/202525) in GitLab 13.0. -NOTE: **Note:** +NOTE: This API route is part of the [Unit test report](../ci/unit_test_reports.md) feature. ```plaintext diff --git a/doc/api/project_clusters.md b/doc/api/project_clusters.md index 55307ee7e6f..3cc8cd07923 100644 --- a/doc/api/project_clusters.md +++ b/doc/api/project_clusters.md @@ -294,7 +294,7 @@ Parameters: | `platform_kubernetes_attributes[namespace]` | string | no | The unique namespace related to the project | | `environment_scope` | string | no | The associated environment to the cluster **(PREMIUM)** | -NOTE: **Note:** +NOTE: `name`, `api_url`, `ca_cert` and `token` can only be updated if the cluster was added through the ["Add existing Kubernetes cluster"](../user/project/clusters/add_remove_clusters.md#add-existing-cluster) option or through the ["Add existing cluster to project"](#add-existing-cluster-to-project) endpoint. diff --git a/doc/api/project_import_export.md b/doc/api/project_import_export.md index 59a60c50e84..c5799a63c5c 100644 --- a/doc/api/project_import_export.md +++ b/doc/api/project_import_export.md @@ -49,7 +49,7 @@ curl --request POST --header "PRIVATE-TOKEN: " "https://gitla } ``` -NOTE: **Note:** +NOTE: The upload request will be sent with `Content-Type: application/gzip` header. Ensure that your pre-signed URL includes this as part of the signature. ## Export status @@ -192,7 +192,7 @@ requests.post(url, headers=headers, data=data, files=files) } ``` -NOTE: **Note:** +NOTE: The maximum import file size can be set by the Administrator, default is 50MB. As an administrator, you can modify the maximum import file size. To do so, use the `max_import_size` option in the [Application settings API](settings.md#change-application-settings) or the [Admin UI](../user/admin_area/settings/account_and_limit_settings.md). @@ -225,10 +225,10 @@ If the status is `failed`, `started` or `finished`, the `failed_relations` array be populated with any occurrences of relations that failed to import either due to unrecoverable errors or because retries were exhausted (a typical example are query timeouts.) -NOTE: **Note:** +NOTE: An element's `id` field in `failed_relations` references the failure record, not the relation. -NOTE: **Note:** +NOTE: The `failed_relations` array is currently capped to 100 items. ```json diff --git a/doc/api/project_repository_storage_moves.md b/doc/api/project_repository_storage_moves.md index 9bbf6d36416..07743a48654 100644 --- a/doc/api/project_repository_storage_moves.md +++ b/doc/api/project_repository_storage_moves.md @@ -197,7 +197,7 @@ Example response: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34119) in GitLab 13.1. > - [Introduced](https://gitlab.com/gitlab-org/gitaly/-/issues/2618) in GitLab 13.3, original repository is automatically removed after successful move and integrity check. -CAUTION: **Caution:** +WARNING: Before GitLab 13.3, a repository move worked more like a repository copy as the original repository was not deleted from the original storage disk location and had to be manually cleaned up. diff --git a/doc/api/project_snippets.md b/doc/api/project_snippets.md index 4ec40a7e0f4..d264e68e96a 100644 --- a/doc/api/project_snippets.md +++ b/doc/api/project_snippets.md @@ -20,7 +20,7 @@ Constants for snippet visibility levels are: | `internal` | The snippet is visible for any logged in user except [external users](../user/permissions.md#external-users) | | `public` | The snippet can be accessed without any authentication | -NOTE: **Note:** +NOTE: From July 2019, the `Internal` visibility setting is disabled for new projects, groups, and snippets on GitLab.com. Existing projects, groups, and snippets using the `Internal` visibility setting keep this setting. You can read more about the change in the diff --git a/doc/api/project_vulnerabilities.md b/doc/api/project_vulnerabilities.md index aec0dd53dcd..1f6a1a58276 100644 --- a/doc/api/project_vulnerabilities.md +++ b/doc/api/project_vulnerabilities.md @@ -9,7 +9,7 @@ type: reference, api > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10242) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/projects.md b/doc/api/projects.md index 9c5d5259e40..b1f458391ba 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -295,7 +295,7 @@ When the user is authenticated and `simple` is not set this returns something li ] ``` -NOTE: **Note:** +NOTE: For users of GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/), the `marked_for_deletion_at` attribute has been deprecated, and will be removed in API v5 in favor of the `marked_for_deletion_on` attribute. @@ -1862,7 +1862,7 @@ This endpoint: actual deletion happens after the number of days specified in the [default deletion delay](../user/admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). -CAUTION: **Warning:** +WARNING: The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2, as discussed in [Enabling delayed project removal](../user/group/index.md#enabling-delayed-project-removal). diff --git a/doc/api/releases/links.md b/doc/api/releases/links.md index 3208386ee13..5c2be34d201 100644 --- a/doc/api/releases/links.md +++ b/doc/api/releases/links.md @@ -142,7 +142,7 @@ PUT /projects/:id/releases/:tag_name/assets/links/:link_id | `filepath` | string | no | Optional path for a [Direct Asset link](../../user/project/releases/index.md#permanent-links-to-release-assets). | `link_type` | string | no | The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`. | -NOTE: **Note:** +NOTE: You have to specify at least one of `name` or `url` Example request: diff --git a/doc/api/remote_mirrors.md b/doc/api/remote_mirrors.md index 6d2af629e98..c40aed534d5 100644 --- a/doc/api/remote_mirrors.md +++ b/doc/api/remote_mirrors.md @@ -47,7 +47,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: For security reasons, the `url` attribute will always be scrubbed of username and password information. diff --git a/doc/api/repositories.md b/doc/api/repositories.md index e7e72c0409c..efdf010e072 100644 --- a/doc/api/repositories.md +++ b/doc/api/repositories.md @@ -202,7 +202,7 @@ authentication if the repository is publicly accessible. GET /projects/:id/repository/contributors ``` -CAUTION: **Deprecation:** +WARNING: The `additions` and `deletions` attributes are deprecated [as of GitLab 13.4](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39653) because they [always return `0`](https://gitlab.com/gitlab-org/gitlab/-/issues/233119). Parameters: diff --git a/doc/api/repository_files.md b/doc/api/repository_files.md index 79f5c19825e..ce11e5a38b7 100644 --- a/doc/api/repository_files.md +++ b/doc/api/repository_files.md @@ -57,7 +57,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: `blob_id` is the blob SHA, see [repositories - Get a blob from repository](repositories.md#get-a-blob-from-repository) In addition to the `GET` method, you can also use `HEAD` to get just file metadata. @@ -132,7 +132,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: `HEAD` method return just file metadata as in [Get file from repository](repository_files.md#get-file-from-repository). ```shell @@ -171,7 +171,7 @@ Parameters: - `file_path` (required) - URL encoded full path to new file. Ex. lib%2Fclass%2Erb - `ref` (required) - The name of branch, tag or commit -NOTE: **Note:** +NOTE: Like [Get file from repository](repository_files.md#get-file-from-repository) you can use `HEAD` to get just file metadata. ## Create new file in repository diff --git a/doc/api/runners.md b/doc/api/runners.md index a90f5c8fae0..131418de725 100644 --- a/doc/api/runners.md +++ b/doc/api/runners.md @@ -168,7 +168,7 @@ GET /runners/:id curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/6" ``` -NOTE: **Note:** +NOTE: The `token` attribute in the response was deprecated [in GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320). and removed in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/214322). @@ -230,7 +230,7 @@ PUT /runners/:id curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/runners/6" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2" ``` -NOTE: **Note:** +NOTE: The `token` attribute in the response was deprecated [in GitLab 12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/214320). and removed in [GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/214322). diff --git a/doc/api/scim.md b/doc/api/scim.md index d477c08e978..fe344ea112f 100644 --- a/doc/api/scim.md +++ b/doc/api/scim.md @@ -33,7 +33,7 @@ Parameters: | `startIndex` | integer | no | The 1-based index indicating where to start returning results from. A value of less than one will be interpreted as 1. | | `count` | integer | no | Desired maximum number of query results. | -NOTE: **Note:** +NOTE: Pagination follows the [SCIM spec](https://tools.ietf.org/html/rfc7644#section-3.4.2.4) rather than GitLab pagination as used elsewhere. If records change between requests it is possible for a page to either be missing records that have moved to a different page or repeat records from a previous request. Example request: diff --git a/doc/api/search.md b/doc/api/search.md index d6fbdc5020f..d92b8c71dc2 100644 --- a/doc/api/search.md +++ b/doc/api/search.md @@ -129,7 +129,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -291,7 +292,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits **(STARTER)** @@ -363,7 +364,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: notes **(STARTER)** @@ -541,7 +542,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -672,7 +674,7 @@ Example response: ] ``` -NOTE **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits **(STARTER)** @@ -744,7 +746,7 @@ Example response: ] ``` -NOTE **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: notes **(STARTER)** @@ -890,7 +892,8 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. +NOTE: +`assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ### Scope: merge_requests @@ -1068,7 +1071,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: commits @@ -1142,7 +1145,7 @@ Example response: ] ``` -NOTE: **Note:** +NOTE: `filename` is deprecated in favor of `path`. Both return the full path of the file inside the repository, but in the future `filename` will be only the file name and not the full path. For details, see [issue 34521](https://gitlab.com/gitlab-org/gitlab/-/issues/34521). ### Scope: users diff --git a/doc/api/services.md b/doc/api/services.md index f98d5ac0ef3..9968901d6f5 100644 --- a/doc/api/services.md +++ b/doc/api/services.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Services API -NOTE: **Note:** +NOTE: This API requires an access token with Maintainer or Owner permissions ## List all active services @@ -655,7 +655,7 @@ Set Hangouts Chat service for a project. PUT /projects/:id/services/hangouts-chat ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -1159,7 +1159,7 @@ Set Slack service for a project. PUT /projects/:id/services/slack ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag and `push_channel`) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -1269,7 +1269,7 @@ Set Mattermost service for a project. PUT /projects/:id/services/mattermost ``` -NOTE: **Note:** +NOTE: Specific event parameters (for example, `push_events` flag and `push_channel`) were [introduced in v10.4](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/11435) Parameters: @@ -1396,7 +1396,7 @@ GET /projects/:id/services/jenkins A continuous integration and build server -NOTE: **Note:** +NOTE: This service was [removed in v13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/1600) ### Create/Edit Jenkins CI (Deprecated) service diff --git a/doc/api/snippets.md b/doc/api/snippets.md index 21d6058cd27..670045df66d 100644 --- a/doc/api/snippets.md +++ b/doc/api/snippets.md @@ -189,7 +189,7 @@ Hello World snippet Create a new snippet. -NOTE: **Note:** +NOTE: The user must have permission to create new snippets. ```plaintext @@ -272,7 +272,7 @@ Example response: Update an existing snippet. -NOTE: **Note:** +NOTE: The user must have permission to change an existing snippet. ```plaintext @@ -451,7 +451,7 @@ Example response: > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12655) in GitLab 9.4. -NOTE: **Note:** +NOTE: Available only for administrators. ```plaintext diff --git a/doc/api/statistics.md b/doc/api/statistics.md index ce65e4251f9..3899d5bde76 100644 --- a/doc/api/statistics.md +++ b/doc/api/statistics.md @@ -11,7 +11,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w List the current statistics of the GitLab instance. You have to be an administrator in order to perform this action. -NOTE: **Note:** +NOTE: These statistics are approximate. ```plaintext diff --git a/doc/api/templates/licenses.md b/doc/api/templates/licenses.md index 08a8c7f61c0..29c7f69c7f7 100644 --- a/doc/api/templates/licenses.md +++ b/doc/api/templates/licenses.md @@ -123,7 +123,7 @@ GET /templates/licenses/:key | `project` | string | no | The copyrighted project name | | `fullname` | string | no | The full-name of the copyright holder | -NOTE: **Note:** +NOTE: If you omit the `fullname` parameter but authenticate your request, the name of the authenticated user replaces the copyright holder placeholder. diff --git a/doc/api/users.md b/doc/api/users.md index cbdf1bfa1c3..7a75b880dcd 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -74,7 +74,7 @@ To exclude these users from the users' list, you can use the parameter `exclude_ GET /users?exclude_internal=true ``` -NOTE: **Note:** +NOTE: Username search is case insensitive. ### For admins @@ -333,7 +333,7 @@ Example Responses: } ``` -NOTE: **Note:** +NOTE: The `plan` and `trial` parameters are only available on GitLab Enterprise Edition. Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) also see @@ -385,10 +385,10 @@ Note that `force_random_password` and `reset_password` take priority over `password`. In addition, `reset_password` and `force_random_password` can be used together. -NOTE: **Note:** +NOTE: From [GitLab 12.1](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29888/), `private_profile` defaults to `false`. -NOTE: **Note:** +NOTE: From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35604), `bio` defaults to `""` instead of `null`. ```plaintext @@ -824,7 +824,7 @@ Parameters: - `key` (required) - new SSH key - `expires_at` (optional) - The expiration date of the SSH key in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`) -NOTE: **Note:** +NOTE: This also adds an audit event, as described in [audit instance events](../administration/audit_events.md#instance-events). **(PREMIUM)** ## Delete SSH key for current user @@ -1069,7 +1069,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: " "https://git Get a list of currently authenticated user's emails. -NOTE: **Note:** +NOTE: Due to [a bug](https://gitlab.com/gitlab-org/gitlab/-/issues/25077) this endpoint currently does not return the primary email address. @@ -1098,7 +1098,7 @@ Parameters: Get a list of a specified user's emails. Available only for admin -NOTE: **Note:** +NOTE: Due to [a bug](https://gitlab.com/gitlab-org/gitlab/-/issues/25077) this endpoint currently does not return the primary email address. @@ -1486,7 +1486,7 @@ Parameters: > - It's [deployed behind a feature flag](../user/feature_flags.md), disabled by default. > - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-an-administrators-ability-to-use-the-api-to-create-personal-access-tokens). **(CORE)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. > Requires admin permissions. @@ -1529,7 +1529,7 @@ Example response: ## Get user activities (admin only) -NOTE: **Note:** +NOTE: This API endpoint is only available on 8.15 (EE) and 9.1 (CE) and above. Get the last activity date for all users, sorted from oldest to newest. diff --git a/doc/api/vulnerabilities.md b/doc/api/vulnerabilities.md index e721043339f..8296292c1f8 100644 --- a/doc/api/vulnerabilities.md +++ b/doc/api/vulnerabilities.md @@ -8,13 +8,13 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/10242) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6. -NOTE: **Note:** +NOTE: The former Vulnerabilities API was renamed to Vulnerability Findings API and its documentation was moved to [a different location](vulnerability_findings.md). This document now describes the new Vulnerabilities API that provides access to [Vulnerabilities](https://gitlab.com/groups/gitlab-org/-/epics/634). -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/vulnerability_exports.md b/doc/api/vulnerability_exports.md index c7538591f63..98e349d6235 100644 --- a/doc/api/vulnerability_exports.md +++ b/doc/api/vulnerability_exports.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/197494) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10. [Updated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30397) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.0. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. diff --git a/doc/api/vulnerability_findings.md b/doc/api/vulnerability_findings.md index 3bfa9320fa7..302032f787f 100644 --- a/doc/api/vulnerability_findings.md +++ b/doc/api/vulnerability_findings.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19029) in GitLab Ultimate 12.5. -NOTE: **Note:** +NOTE: This API resource is renamed from Vulnerabilities to Vulnerability Findings because the Vulnerabilities are reserved for serving [Vulnerability objects](https://gitlab.com/gitlab-org/gitlab/-/issues/13561). To fix any broken integrations with the former Vulnerabilities API, change the `vulnerabilities` URL part to be @@ -24,7 +24,7 @@ If a user is able to access the project but does not have permission to [use the Project Security Dashboard](../user/permissions.md#project-members-permissions), any request for vulnerability findings of this project results in a `403` status code. -CAUTION: **Caution:** +WARNING: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases. @@ -53,7 +53,7 @@ GET /projects/:id/vulnerability_findings?scanner=bandit,find_sec_bugs GET /projects/:id/vulnerability_findings?pipeline_id=42 ``` -CAUTION: **Deprecation:** +WARNING: Beginning with GitLab 12.9, the `undefined` severity and confidence level is no longer reported. | Attribute | Type | Required | Description | diff --git a/doc/ci/ci_cd_for_external_repos/github_integration.md b/doc/ci/ci_cd_for_external_repos/github_integration.md index 51ff579f89f..dad54f09e56 100644 --- a/doc/ci/ci_cd_for_external_repos/github_integration.md +++ b/doc/ci/ci_cd_for_external_repos/github_integration.md @@ -14,7 +14,7 @@ GitLab. Watch a video on [Using GitLab CI/CD pipelines with GitHub repositories](https://www.youtube.com/watch?v=qgl3F2j-1cI). -NOTE: **Note:** +NOTE: Because of [GitHub limitations](https://gitlab.com/gitlab-org/gitlab/-/issues/9147), [GitHub OAuth](../../integration/github.md#enabling-github-oauth) cannot be used to authenticate with GitHub as an external CI/CD repository. diff --git a/doc/ci/cloud_deployment/index.md b/doc/ci/cloud_deployment/index.md index b3952560435..979d72660cf 100644 --- a/doc/ci/cloud_deployment/index.md +++ b/doc/ci/cloud_deployment/index.md @@ -35,7 +35,7 @@ Some credentials are required to be able to run `aws` commands: 1. Log in onto the console and create [a new IAM user](https://console.aws.amazon.com/iam/home#/home). 1. Select your newly created user to access its details. Navigate to **Security credentials > Create a new access key**. - NOTE: **Note:** + NOTE: A new **Access key ID** and **Secret access key** pair will be generated. Please take a note of them right away. 1. In your GitLab project, go to **Settings > CI / CD**. Set the following as @@ -65,7 +65,7 @@ Some credentials are required to be able to run `aws` commands: - aws create-deployment ... ``` - NOTE: **Note:** + NOTE: The image used in the example above (`registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest`) is hosted on the [GitLab Container Registry](../../user/packages/container_registry/index.md) and is @@ -149,11 +149,11 @@ After you have these prerequisites ready, follow these steps: In both cases, make sure that the value for the `containerDefinitions[].name` attribute is the same as the `Container name` defined in your targeted ECS service. - CAUTION: **Warning:** + WARNING: `CI_AWS_ECS_TASK_DEFINITION_FILE` takes precedence over `CI_AWS_ECS_TASK_DEFINITION` if both these environment variables are defined within your project. - NOTE: **Note:** + NOTE: If the name of the task definition you wrote in your JSON file is the same name as an existing task definition on AWS, then a new revision is created for it. Otherwise, a brand new task definition is created, starting at revision 1. @@ -181,7 +181,7 @@ After you have these prerequisites ready, follow these steps: task definition, making the cluster pull the newest version of your application. -CAUTION: **Warning:** +WARNING: The [`AWS/Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml) template includes both the [`Jobs/Build.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml) and [`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml) diff --git a/doc/ci/docker/using_docker_build.md b/doc/ci/docker/using_docker_build.md index f245b051a1c..92aef4156cb 100644 --- a/doc/ci/docker/using_docker_build.md +++ b/doc/ci/docker/using_docker_build.md @@ -368,7 +368,7 @@ build: The third approach is to bind-mount `/var/run/docker.sock` into the container so that Docker is available in the context of that image. -NOTE: **Note:** +NOTE: If you bind the Docker socket and you are [using GitLab Runner 11.11 or later](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/1261), you can no longer use `docker:19.03.12-dind` as a service. Volume bindings @@ -567,7 +567,7 @@ of this file. You can do this with a command like: kubectl create configmap docker-daemon --namespace gitlab-runner --from-file /tmp/daemon.json ``` -NOTE: **Note:** +NOTE: Make sure to use the namespace that GitLab Runner Kubernetes executor uses to create job pods in. @@ -788,7 +788,7 @@ The steps in the `script` section for the `build` stage can be summed up to: ## Use the OverlayFS driver -NOTE: **Note:** +NOTE: The shared runners on GitLab.com use the `overlay2` driver by default. By default, when using `docker:dind`, Docker uses the `vfs` storage driver which diff --git a/doc/ci/environments/index.md b/doc/ci/environments/index.md index f9bec36f43f..bff088a8322 100644 --- a/doc/ci/environments/index.md +++ b/doc/ci/environments/index.md @@ -121,7 +121,7 @@ Note that the `environment` keyword defines where the app is deployed. The envir `url` is exposed in various places within GitLab. Each time a job that has an environment specified succeeds, a deployment is recorded along with the Git SHA and environment name. -CAUTION: **Caution:** +WARNING: Some characters are not allowed in environment names. Use only letters, numbers, spaces, and `-`, `_`, `/`, `{`, `}`, or `.`. Also, it must not start nor end with `/`. @@ -386,7 +386,7 @@ If you are deploying to a [Kubernetes cluster](../../user/project/clusters/index associated with your project, you can configure these deployments from your `gitlab-ci.yml` file. -NOTE: **Note:** +NOTE: Kubernetes configuration isn't supported for Kubernetes clusters that are [managed by GitLab](../../user/project/clusters/index.md#gitlab-managed-clusters). To follow progress on support for GitLab-managed clusters, see the diff --git a/doc/ci/environments/protected_environments.md b/doc/ci/environments/protected_environments.md index 461b60f20db..94f9aac51d6 100644 --- a/doc/ci/environments/protected_environments.md +++ b/doc/ci/environments/protected_environments.md @@ -20,7 +20,7 @@ specific environments are "protected" to prevent unauthorized people from affect By default, a protected environment does one thing: it ensures that only people with the right privileges can deploy to it, thus keeping it safe. -NOTE: **Note:** +NOTE: A GitLab admin is always allowed to use environments, even if they are protected. To protect, update, or unprotect an environment, you need to have at least diff --git a/doc/ci/examples/authenticating-with-hashicorp-vault/index.md b/doc/ci/examples/authenticating-with-hashicorp-vault/index.md index 42c511fa741..81d22167b96 100644 --- a/doc/ci/examples/authenticating-with-hashicorp-vault/index.md +++ b/doc/ci/examples/authenticating-with-hashicorp-vault/index.md @@ -9,7 +9,7 @@ type: tutorial This tutorial demonstrates how to authenticate, configure, and read secrets with HashiCorp's Vault from GitLab CI/CD. -NOTE: **Note:** +NOTE: [GitLab Premium](https://about.gitlab.com/pricing/) supports read access to a Hashicorp Vault, and enables you to [use Vault secrets in a CI job](../../secrets/index.md#use-vault-secrets-in-a-ci-job). @@ -25,7 +25,7 @@ To follow along, you will need: - A running Vault server and access to it is required to configure authentication and create roles and policies. For HashiCorp Vaults, this can be the Open Source or Enterprise version. -NOTE: **Note:** +NOTE: You will need to replace the `vault.example.com` URL below with the URL of your Vault server and `gitlab.example.com` with the URL of your GitLab instance. ## How it works @@ -66,7 +66,7 @@ To communicate with Vault, you can use either its CLI client or perform API requ ## Example -CAUTION: **Caution:** +WARNING: JWTs are credentials, which can grant access to resources. Be careful where you paste them! Let's say you have the passwords for your staging and production databases stored in a Vault server that is running on `http://vault.example.com:8200`. Your staging password is `pa$$w0rd` and your production password is `real-pa$$w0rd`. @@ -162,7 +162,7 @@ Combined with GitLab's [protected branches](../../../user/project/protected_bran For the full list of options, see Vault's [Create Role documentation](https://www.vaultproject.io/api/auth/jwt#create-role). -CAUTION: **Caution:** +WARNING: Always restrict your roles to project or namespace by using one of the provided claims (e.g. `project_id` or `namespace_id`). Otherwise any JWT generated by this instance may be allowed to authenticate using this role. Now, configure the JWT Authentication method: diff --git a/doc/ci/examples/deploy_spring_boot_to_cloud_foundry/index.md b/doc/ci/examples/deploy_spring_boot_to_cloud_foundry/index.md index 47ec8430ff3..65808f66b48 100644 --- a/doc/ci/examples/deploy_spring_boot_to_cloud_foundry/index.md +++ b/doc/ci/examples/deploy_spring_boot_to_cloud_foundry/index.md @@ -31,7 +31,7 @@ To follow along, you will need: other Cloud Foundry (CF) instance. - An account on GitLab. -NOTE: **Note:** +NOTE: You will need to replace the `api.run.pivotal.io` URL in the all below commands with the [API URL](https://docs.cloudfoundry.org/running/cf-api-endpoint.html) of your CF @@ -116,7 +116,7 @@ After set up, GitLab CI/CD deploys your app to CF at every push to your repository's default branch. To review the build logs or watch your builds running live, navigate to **CI/CD > Pipelines**. -CAUTION: **Caution:** +WARNING: It's considered best practice for security to create a separate deploy user for your application and add its credentials to GitLab instead of using a developer's credentials. diff --git a/doc/ci/examples/test-clojure-application.md b/doc/ci/examples/test-clojure-application.md index 56cd5ac5f12..b6691930a2c 100644 --- a/doc/ci/examples/test-clojure-application.md +++ b/doc/ci/examples/test-clojure-application.md @@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w type: tutorial --- -NOTE: **Note:** +NOTE: This document has not been updated recently and could be out of date. For the latest documentation, see the [GitLab CI/CD](../README.md) page and the [GitLab CI/CD Pipeline Configuration Reference](../yaml/README.md). # Test a Clojure application with GitLab CI/CD diff --git a/doc/ci/interactive_web_terminal/index.md b/doc/ci/interactive_web_terminal/index.md index 611e4552ceb..1aa86e0b322 100644 --- a/doc/ci/interactive_web_terminal/index.md +++ b/doc/ci/interactive_web_terminal/index.md @@ -15,7 +15,7 @@ shell access to the environment where [GitLab Runner](https://docs.gitlab.com/ru is deployed, some [security precautions](../../administration/integration/terminal.md#security) were taken to protect the users. -NOTE: **Note:** +NOTE: [Shared runners on GitLab.com](../runners/README.md#shared-runners) do not provide an interactive web terminal. Follow [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/24674) for progress on @@ -31,18 +31,18 @@ Two things need to be configured for the interactive web terminal to work: - If you are using a reverse proxy with your GitLab instance, web terminals need to be [enabled](../../administration/integration/terminal.md#enabling-and-disabling-terminal-support) -NOTE: **Note:** +NOTE: Interactive web terminals are not yet supported by [`gitlab-runner` Helm chart](https://docs.gitlab.com/charts/charts/gitlab/gitlab-runner/index.html), but support [is planned](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/79). ## Debugging a running job -NOTE: **Note:** +NOTE: Not all executors are [supported](https://docs.gitlab.com/runner/executors/#compatibility-chart). -NOTE: **Note:** +NOTE: The `docker` executor does not keep running after the build script is finished. At that point, the terminal automatically disconnects and does not wait for the user to finish. Please follow [this diff --git a/doc/ci/merge_request_pipelines/index.md b/doc/ci/merge_request_pipelines/index.md index 2e7646f2814..220032eeab1 100644 --- a/doc/ci/merge_request_pipelines/index.md +++ b/doc/ci/merge_request_pipelines/index.md @@ -188,7 +188,7 @@ can create pipelines in the parent project for merge requests from a forked project. In the merge request, go to the **Pipelines** and click **Run Pipeline** button. -CAUTION: **Caution:** +WARNING: Fork merge requests could contain malicious code that tries to steal secrets in the parent project when the pipeline runs, even before merge. Reviewers must carefully check the changes in the merge request before triggering the pipeline. GitLab shows diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md index 0d0152ff8b4..e154d8c5a72 100644 --- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md +++ b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md @@ -59,7 +59,7 @@ To enable pipelines for merged results for your project: 1. Check **Enable merged results pipelines.**. 1. Click **Save changes**. -CAUTION: **Caution:** +WARNING: If you select the check box but don't configure your CI/CD to use pipelines for merge requests, your merge requests may become stuck in an unresolved state or your pipelines may be dropped. diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md index d4677c8ed0a..0b25b32b2a5 100644 --- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md +++ b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md @@ -90,7 +90,7 @@ To enable merge trains for your project: In GitLab 13.5 and earlier, there is only one checkbox, named **Enable merge trains and pipelines for merged results**. -CAUTION: **Caution:** +WARNING: If you select the check box but don't configure your CI/CD to use pipelines for merge requests, your merge requests may become stuck in an unresolved state or your pipelines may be dropped. @@ -143,7 +143,7 @@ This is the fastest option to get the change merged into the target branch. ![Merge Immediately](img/merge_train_immediate_merge_v12_6.png) -CAUTION: **Caution:** +WARNING: Each time you merge a merge request immediately, the current merge train is recreated and all pipelines restart. diff --git a/doc/ci/migration/jenkins.md b/doc/ci/migration/jenkins.md index 6d830cd6c8d..71d5e6eb859 100644 --- a/doc/ci/migration/jenkins.md +++ b/doc/ci/migration/jenkins.md @@ -189,8 +189,8 @@ pdf: ``` Additionally, we have package management features like a built-in container, NPM, and Maven registry that you -can leverage. You can see the complete list of packaging features (which includes links to documentation) -in the [Packaging section of our documentation](../../README.md#package). +can leverage. You can see the complete list of packaging features in the +[Packages & Registries](../../user/packages/index.md) documentation. ## Integrated features diff --git a/doc/ci/multi_project_pipelines.md b/doc/ci/multi_project_pipelines.md index e35e58ccb15..fd64e620687 100644 --- a/doc/ci/multi_project_pipelines.md +++ b/doc/ci/multi_project_pipelines.md @@ -121,7 +121,7 @@ In the example, `staging` is marked as successful as soon as a downstream pipeli gets created. If you want to display the downstream pipeline's status instead, see [Mirroring status from triggered pipeline](#mirroring-status-from-triggered-pipeline). -NOTE: **Note:** +NOTE: Bridge jobs [do not support every configuration keyword](#limitations) that can be used with other jobs. If a user tries to use unsupported configuration keywords, YAML validation fails on pipeline creation. @@ -152,7 +152,7 @@ Use: GitLab uses a commit that is on the head of the branch when creating a downstream pipeline. -NOTE: **Note:** +NOTE: Pipelines triggered on a protected branch in a downstream project use the [permissions](../user/permissions.md) of the user that ran the trigger job in the upstream project. If the user does not have permission to run CI/CD pipelines against the protected branch, the pipeline fails. See diff --git a/doc/ci/pipelines/index.md b/doc/ci/pipelines/index.md index cdc4025a9c0..8cdb8789d3f 100644 --- a/doc/ci/pipelines/index.md +++ b/doc/ci/pipelines/index.md @@ -39,7 +39,7 @@ A typical pipeline might consist of four stages, executed in the following order - A `staging` stage, with a job called `deploy-to-stage`. - A `production` stage, with a job called `deploy-to-prod`. -NOTE: **Note:** +NOTE: If you have a [mirrored repository that GitLab pulls from](../../user/project/repository/repository_mirroring.md#pulling-from-a-remote-repository), you may need to enable pipeline triggering in your project's **Settings > Repository > Pull from a remote repository > Trigger pipelines for mirror updates**. @@ -213,7 +213,7 @@ page, then using the **Delete** button. ![Pipeline Delete Button](img/pipeline-delete.png) -CAUTION: **Warning:** +WARNING: Deleting a pipeline expires all pipeline caches, and deletes all related objects, such as builds, logs, artifacts, and triggers. **This action cannot be undone.** diff --git a/doc/ci/pipelines/job_artifacts.md b/doc/ci/pipelines/job_artifacts.md index cd8b3ad1bf1..44c0b774864 100644 --- a/doc/ci/pipelines/job_artifacts.md +++ b/doc/ci/pipelines/job_artifacts.md @@ -229,7 +229,7 @@ requests and the pipeline view. It's also used to provide data for security dash > - Introduced in GitLab 11.5. > - Requires GitLab Runner 11.5 and above. -CAUTION: **Warning:** +WARNING: This artifact is still valid but is **deprecated** in favor of the [artifacts:reports:license_scanning](../pipelines/job_artifacts.md#artifactsreportslicense_scanning) introduced in GitLab 12.8. @@ -348,7 +348,7 @@ in the GitLab UI to do this: It's possible to download the latest artifacts of a job via a well known URL so you can use it for scripting purposes. -NOTE: **Note:** +NOTE: The latest artifacts are created by jobs in the **most recent** successful pipeline for the specific ref. If you run two types of pipelines for the same ref, timing determines the latest artifact. For example, if a merge request creates a branch pipeline at the same time as a scheduled pipeline, the pipeline that completed most recently creates the latest artifact. diff --git a/doc/ci/pipelines/schedules.md b/doc/ci/pipelines/schedules.md index a500efbe730..35a8888381f 100644 --- a/doc/ci/pipelines/schedules.md +++ b/doc/ci/pipelines/schedules.md @@ -43,7 +43,7 @@ To schedule a pipeline for project: ![New Schedule Form](img/pipeline_schedules_new_form.png) -NOTE: **Note:** +NOTE: Pipelines execution [timing is dependent](#advanced-configuration) on Sidekiq's own schedule. In the **Schedules** index page you can see a list of the pipelines that are @@ -115,7 +115,7 @@ To trigger a pipeline schedule manually, click the "Play" button: This schedules a background job to run the pipeline schedule. A flash message provides a link to the CI/CD Pipeline index page. -NOTE: **Note:** +NOTE: To help avoid abuse, users are rate limited to triggering a pipeline once per minute. diff --git a/doc/ci/pipelines/settings.md b/doc/ci/pipelines/settings.md index 295fd796f3e..ac6d492a29e 100644 --- a/doc/ci/pipelines/settings.md +++ b/doc/ci/pipelines/settings.md @@ -170,7 +170,7 @@ Pipeline visibility is determined by: - Your current [user access level](../../user/permissions.md). - The **Public pipelines** project setting under your project's **Settings > CI/CD > General pipelines**. -NOTE: **Note:** +NOTE: If the project visibility is set to **Private**, the [**Public pipelines** setting has no effect](../enable_or_disable_ci.md#per-project-user-setting). This also determines the visibility of these related features: diff --git a/doc/ci/runners/README.md b/doc/ci/runners/README.md index 316929db232..c9a5f2f3899 100644 --- a/doc/ci/runners/README.md +++ b/doc/ci/runners/README.md @@ -207,7 +207,7 @@ must be enabled for each project explicitly. Specific runners process jobs by using a first in, first out ([FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics))) queue. -NOTE: **Note:** +NOTE: Specific runners do not get shared with forked projects automatically. A fork *does* copy the CI / CD settings of the cloned repository. @@ -413,7 +413,7 @@ To make a runner pick untagged jobs: 1. Check the **Run untagged jobs** option. 1. Click the **Save changes** button for the changes to take effect. -NOTE: **Note:** +NOTE: The runner tags list can not be empty when it's not allowed to pick untagged jobs. Below are some example scenarios of different variations. diff --git a/doc/ci/secrets/index.md b/doc/ci/secrets/index.md index f6b02d9b8b8..f05812f77f7 100644 --- a/doc/ci/secrets/index.md +++ b/doc/ci/secrets/index.md @@ -42,7 +42,7 @@ is summarized by this diagram: 1. HashiCorp Vault returns the token. 1. Runner reads secrets from the HashiCorp Vault. -NOTE: **Note:** +NOTE: Read the [Authenticating and Reading Secrets With HashiCorp Vault](../examples/authenticating-with-hashicorp-vault/index.md) tutorial for a version of this feature. It's available to all subscription levels, supports writing secrets to and deleting secrets from Vault, @@ -89,7 +89,7 @@ To configure your Vault server: specified when the authentication method was configured. - `VAULT_AUTH_PATH` - (Optional) The path where the authentication method is mounted, default is `jwt`. - NOTE: **Note:** + NOTE: Support for [providing these values in the user interface](https://gitlab.com/gitlab-org/gitlab/-/issues/218677) is planned but not yet implemented. @@ -155,7 +155,7 @@ $ vault write auth/jwt/role/myproject-production - < Introduced in GitLab Runner 1.7. -CAUTION: **Warning:** +WARNING: Enabling debug tracing can have severe security implications. The output **will** contain the content of all your variables and any other secrets! The output **will** be uploaded to the GitLab server and made visible diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md index 9a25a997492..1a3c20aeb10 100644 --- a/doc/ci/variables/predefined_variables.md +++ b/doc/ci/variables/predefined_variables.md @@ -14,7 +14,7 @@ Some of the predefined environment variables are available only if a minimum version of [GitLab Runner](https://docs.gitlab.com/runner/) is used. Consult the table below to find the version of GitLab Runner that's required. -NOTE: **Note:** +NOTE: Starting with GitLab 9.0, we have deprecated some variables. Read the [9.0 Renaming](deprecated_variables.md#gitlab-90-renamed-variables) section to find out their replacements. **To avoid problems with deprecated and removed variables in future releases, you are strongly advised to use the new variables.** diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 5cc3f08ab72..ae5c1f7945c 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -1079,7 +1079,7 @@ job: - If the pipeline is a scheduled pipeline, the job is **not** be added to the pipeline. - In **all other cases**, the job is added to the pipeline, with `when: on_success`. -CAUTION: **Caution:** +WARNING: If you use a `when:` clause as the final rule (not including `when: never`), two simultaneous pipelines may start. Both push pipelines and merge request pipelines can be triggered by the same event (a push to the source branch for an open merge request). @@ -1330,7 +1330,7 @@ rules: To implement a rule similar to [`except:changes`](#onlychangesexceptchanges), use `when: never`. -CAUTION: **Caution:** +WARNING: You can use `rules: changes` with other pipeline types, but it is not recommended because `rules: changes` always evaluates to true when there is no Git `push` event. Tag pipelines, scheduled pipelines, and so on do **not** have a Git `push` event @@ -1450,13 +1450,13 @@ job1: if: ($CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop") && $MY_VARIABLE ``` -CAUTION: **Caution:** +WARNING: [Before GitLab 13.3](https://gitlab.com/gitlab-org/gitlab/-/issues/230938), rules that use both `||` and `&&` may evaluate with an unexpected order of operations. ### `only`/`except` (basic) -NOTE: **Note:** +NOTE: The [`rules`](#rules) syntax is an improved, more powerful solution for defining when jobs should run or not. Consider using `rules` instead of `only/except` to get the most out of your pipelines. @@ -1758,7 +1758,7 @@ refs only: - `external_pull_requests` - `merge_requests` (see additional details about [using `only:changes` with pipelines for merge requests](#using-onlychanges-with-pipelines-for-merge-requests)) -CAUTION: **Caution:** +WARNING: In pipelines with [sources other than the three above](../variables/predefined_variables.md) `changes` can't determine if a given file is new or old and always returns `true`. You can configure jobs to use `only: changes` with other `only: refs` keywords. However, @@ -1787,7 +1787,7 @@ the `docker build` job is created, but only if changes were made to any of the f - Any of the files and subdirectories in the `dockerfiles` directory. - Any of the files with `rb`, `py`, `sh` extensions in the `more_scripts` directory. -CAUTION: **Warning:** +WARNING: If you use `only:changes` with [only allow merge requests to be merged if the pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds), you should [also use `only:merge_requests`](#using-onlychanges-with-pipelines-for-merge-requests). Otherwise it may not work as expected. @@ -2545,7 +2545,7 @@ environment, using the `production` For more information, see [Available settings for `kubernetes`](../environments/index.md#configuring-kubernetes-deployments). -NOTE: **Note:** +NOTE: Kubernetes configuration is not supported for Kubernetes clusters that are [managed by GitLab](../../user/project/clusters/index.md#gitlab-managed-clusters). To follow progress on support for GitLab-managed clusters, see the @@ -3423,7 +3423,7 @@ test: - bundle exec rspec_booster --job $CI_NODE_INDEX/$CI_NODE_TOTAL ``` -CAUTION: **Caution:** +WARNING: Test Boosters reports usage statistics to the author. You can then navigate to the **Jobs** tab of a new pipeline build and see your RSpec @@ -3881,7 +3881,7 @@ tags. These options cannot be used together, so choose one: - To create a release automatically when commits are pushed or merged to the default branch, using a new Git tag that is defined with variables: - NOTE: **Note:** + NOTE: Environment variables set in `before_script` or `script` are not available for expanding in the same job. Read more about [potentially making variables available for expanding](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6400). diff --git a/doc/ci/yaml/script.md b/doc/ci/yaml/script.md index 8f33ad60487..2d26d9f8922 100644 --- a/doc/ci/yaml/script.md +++ b/doc/ci/yaml/script.md @@ -19,7 +19,7 @@ You can use special syntax in [`script`](README.md#script) sections to: You can split long commands into multiline commands to improve readability with `|` (literal) and `>` (folded) [YAML multiline block scalar indicators](https://yaml-multiline.info/). -CAUTION: **Warning:** +WARNING: If multiple commands are combined into one command string, only the last command's failure or success is reported. [Failures from earlier commands are ignored due to a bug](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/25394). diff --git a/doc/ci/yaml/visualization.md b/doc/ci/yaml/visualization.md index 7d95eaf0980..14502db427f 100644 --- a/doc/ci/yaml/visualization.md +++ b/doc/ci/yaml/visualization.md @@ -12,7 +12,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > - It's not recommended for production use. > - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-cicd-configuration-visualization). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. To see a visualization of your `gitlab-ci.yml` configuration, navigate to any CI/CD diff --git a/doc/development/api_graphql_styleguide.md b/doc/development/api_graphql_styleguide.md index 05f15490e14..5ca5e17ad94 100644 --- a/doc/development/api_graphql_styleguide.md +++ b/doc/development/api_graphql_styleguide.md @@ -353,7 +353,7 @@ when the flag is disabled. A description is [appended](https://gitlab.com/gitlab-org/gitlab/-/blob/497b556/app/graphql/types/base_field.rb#L44-53) to the field indicating that it is behind a feature flag. -CAUTION: **Caution:** +WARNING: If a client queries for the field when the feature flag is disabled, the query fails. Consider this when toggling the visibility of the feature on or off on production. @@ -611,7 +611,7 @@ descriptions: Example: ```ruby -field :id, GraphQL::ID_TYPE, description: 'ID of the Issue' +field :id, GraphQL::ID_TYPE, description: 'ID of the issue' field :confidential, GraphQL::BOOLEAN_TYPE, description: 'Indicates the issue is confidential' field :closed_at, Types::TimeType, description: 'Timestamp of when the issue was closed' ``` @@ -1190,7 +1190,7 @@ argument :project_path, GraphQL::ID_TYPE, argument :iid, GraphQL::STRING_TYPE, required: true, - description: "The iid of the merge request to mutate" + description: "The IID of the merge request to mutate" argument :wip, GraphQL::BOOLEAN_TYPE, diff --git a/doc/development/api_styleguide.md b/doc/development/api_styleguide.md index e0e31631545..24a5b0efecc 100644 --- a/doc/development/api_styleguide.md +++ b/doc/development/api_styleguide.md @@ -93,7 +93,7 @@ User.create(params) # imagine the user submitted `admin=1`... :) User.create(declared(params, include_parent_namespaces: false).to_h) ``` -NOTE: **Note:** +NOTE: `declared(params)` return a `Hashie::Mash` object, on which you will have to call `.to_h`. diff --git a/doc/development/approval_rules.md b/doc/development/approval_rules.md index db5b4f0d029..542bce1cb97 100644 --- a/doc/development/approval_rules.md +++ b/doc/development/approval_rules.md @@ -18,7 +18,7 @@ can change often. The code should explain those things better. The components mentioned here are the major parts of the application for the approval rules feature to work. -NOTE: **Note:** +NOTE: This is a living document and should be updated accordingly when parts of the codebase touched in this document are changed or removed, or when new components are added. diff --git a/doc/development/background_migrations.md b/doc/development/background_migrations.md index 86a2aed5ea1..3ef5bf382b8 100644 --- a/doc/development/background_migrations.md +++ b/doc/development/background_migrations.md @@ -36,7 +36,7 @@ Some examples where background migrations can be useful: - Populating one column based on JSON stored in another column. - Migrating data that depends on the output of external services (e.g. an API). -NOTE: **Note:** +NOTE: If the background migration is part of an important upgrade, make sure it's announced in the release post. Discuss with your Project Manager if you're not sure the migration falls into this category. @@ -144,7 +144,7 @@ once. ## Cleaning Up -NOTE: **Note:** +NOTE: Cleaning up any remaining background migrations _must_ be done in either a major or minor release, you _must not_ do this in a patch release. diff --git a/doc/development/bulk_import.md b/doc/development/bulk_import.md index eb9106daa04..40e4af923ea 100644 --- a/doc/development/bulk_import.md +++ b/doc/development/bulk_import.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2771) in GitLab 13.7. -CAUTION: **Caution:** +WARNING: This feature is [under construction](https://gitlab.com/groups/gitlab-org/-/epics/2771) and its API/Architecture might change in the future. GitLab Group Migration is the evolution of Project and Group Import functionality. The diff --git a/doc/development/cicd/index.md b/doc/development/cicd/index.md index 005ae0b5f76..eede1d691a9 100644 --- a/doc/development/cicd/index.md +++ b/doc/development/cicd/index.md @@ -99,7 +99,7 @@ A job with the `created` state isn't seen by the runner yet. To make it possible When the runner is connected, it requests the next `pending` job to run by polling the server continuously. -NOTE: **Note:** +NOTE: API endpoints used by the runner to interact with GitLab are defined in [`lib/api/ci/runner.rb`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/api/ci/runner.rb) After the server receives the request it selects a `pending` job based on the [`Ci::RegisterJobService` algorithm](#ciregisterjobservice), then assigns and sends the job to the runner. @@ -134,7 +134,7 @@ There are 3 top level queries that this service uses to gather the majority of t This list of jobs is then filtered further by matching tags between job and runner tags. -NOTE: **Note:** +NOTE: If a job contains tags, the runner doesn't pick the job if it does not match **all** the tags. The runner may have more tags than defined for the job, but not vice-versa. diff --git a/doc/development/database/add_foreign_key_to_existing_column.md b/doc/development/database/add_foreign_key_to_existing_column.md index 56c181dfa33..a5d40d455d8 100644 --- a/doc/development/database/add_foreign_key_to_existing_column.md +++ b/doc/development/database/add_foreign_key_to_existing_column.md @@ -79,7 +79,7 @@ class AddNotValidForeignKeyToEmailsUser < ActiveRecord::Migration[5.2] end ``` -CAUTION: **Caution:** +WARNING: Avoid using the `add_foreign_key` constraint more than once per migration file, unless the source and target tables are identical. #### Data migration to fix existing records @@ -119,7 +119,7 @@ end Validating the foreign key will scan the whole table and make sure that each relation is correct. -NOTE: **Note:** +NOTE: When using [background migrations](../background_migrations.md), foreign key validation should happen in the next GitLab release. Migration file for validating the foreign key: diff --git a/doc/development/database/not_null_constraints.md b/doc/development/database/not_null_constraints.md index 408bc7af4d8..01d5b7af7f1 100644 --- a/doc/development/database/not_null_constraints.md +++ b/doc/development/database/not_null_constraints.md @@ -66,7 +66,7 @@ different releases: - Add a post-deployment migration to add the `NOT NULL` constraint with `validate: false`. - Add a post-deployment migration to fix the existing records. - NOTE: **Note:** + NOTE: Depending on the size of the table, a background migration for cleanup could be required in the next release. See the [`NOT NULL` constraints on large tables](not_null_constraints.md#not-null-constraints-on-large-tables) section for more information. @@ -94,7 +94,7 @@ that all epics should have a user-generated description. After checking our production database, we know that there are `epics` with `NULL` descriptions, so we can not add and validate the constraint in one step. -NOTE: **Note:** +NOTE: Even if we did not have any epic with a `NULL` description, another instance of GitLab could have such records, so we would follow the same process either way. diff --git a/doc/development/database/strings_and_the_text_data_type.md b/doc/development/database/strings_and_the_text_data_type.md index 2dc58101ce4..d770a062299 100644 --- a/doc/development/database/strings_and_the_text_data_type.md +++ b/doc/development/database/strings_and_the_text_data_type.md @@ -133,7 +133,7 @@ Adding text limits to existing database columns requires multiple steps split in - Add a post-deployment migration to add the limit to the text column with `validate: false`. - Add a post-deployment migration to fix the existing records. - NOTE: **Note:** + NOTE: Depending on the size of the table, a background migration for cleanup could be required in the next release. See [text limit constraints on large tables](strings_and_the_text_data_type.md#text-limit-constraints-on-large-tables) for more information. @@ -154,7 +154,7 @@ other processes that try to access it while running the update. Also, after checking our production database, we know that there are `issues` with more characters in their title than the 1024 character limit, so we can not add and validate the constraint in one step. -NOTE: **Note:** +NOTE: Even if we did not have any record with a title larger than the provided limit, another instance of GitLab could have such records, so we would follow the same process either way. diff --git a/doc/development/database/table_partitioning.md b/doc/development/database/table_partitioning.md index 178530b274f..358b9bb42b0 100644 --- a/doc/development/database/table_partitioning.md +++ b/doc/development/database/table_partitioning.md @@ -98,7 +98,7 @@ CREATE TABLE audit_events ( PARTITION BY RANGE(created_at); ``` -NOTE: **Note:** +NOTE: The primary key of a partitioned table must include the partition key as part of the primary key definition. diff --git a/doc/development/database_review.md b/doc/development/database_review.md index a3ab9f2d33e..5fcc06c526e 100644 --- a/doc/development/database_review.md +++ b/doc/development/database_review.md @@ -199,7 +199,7 @@ In general, migrations for a single deploy shouldn't take longer than 1 hour for GitLab.com. The following guidelines are not hard rules, they were estimated to keep migration timing to a minimum. -NOTE: **Note:** +NOTE: Keep in mind that all runtimes should be measured against GitLab.com. | Migration Type | Execution Time Recommended | Notes | diff --git a/doc/development/distributed_tracing.md b/doc/development/distributed_tracing.md index 73c58e17891..0137c06fd69 100644 --- a/doc/development/distributed_tracing.md +++ b/doc/development/distributed_tracing.md @@ -180,7 +180,7 @@ This configuration string uses the Jaeger driver `opentracing://jaeger` with the | `sampler_param` | `0.01` | Use a ratio of `0.01` to configure the `probabalistic` sampler to randomly sample _1%_ of traces. | | `service_name` | `api` | Override the service name used by the Jaeger backend. This parameter takes precedence over the application-supplied value. | -NOTE: **Note:** +NOTE: The same `GITLAB_TRACING` value should to be configured in the environment variables for all GitLab processes, including Workhorse, Gitaly, Rails, and Sidekiq. diff --git a/doc/development/documentation/feature_flags.md b/doc/development/documentation/feature_flags.md index f9b057b000d..59298c5345f 100644 --- a/doc/development/documentation/feature_flags.md +++ b/doc/development/documentation/feature_flags.md @@ -65,7 +65,7 @@ be enabled for a single project, and is not ready for production use: > - It's not recommended for production use. > - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#anchor-to-section). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. (...Regular content goes here...) @@ -124,7 +124,7 @@ use: > - It's recommended for production use. > - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#anchor-to-section). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. (...Regular content goes here...) @@ -180,7 +180,7 @@ cannot be enabled for a single project, and is ready for production use: > - It's recommended for production use. > - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#anchor-to-section). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. (...Regular content goes here...) @@ -253,7 +253,7 @@ be enabled by project, and is ready for production use: > - It's recommended for production use. > - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#anchor-to-section). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. (...Regular content goes here...) diff --git a/doc/development/documentation/index.md b/doc/development/documentation/index.md index 668d505f9d5..75d355e8d96 100644 --- a/doc/development/documentation/index.md +++ b/doc/development/documentation/index.md @@ -381,7 +381,7 @@ on how the left-side navigation menu is built and updated. ## Previewing the changes live -NOTE: **Note:** +NOTE: To preview your changes to documentation locally, follow this [development guide](https://gitlab.com/gitlab-org/gitlab-docs/blob/master/README.md#development-when-contributing-to-gitlab-documentation) or [these instructions for GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/gitlab_docs.md). diff --git a/doc/development/documentation/restful_api_styleguide.md b/doc/development/documentation/restful_api_styleguide.md index 4bcd0bfcb31..eec5597fc27 100644 --- a/doc/development/documentation/restful_api_styleguide.md +++ b/doc/development/documentation/restful_api_styleguide.md @@ -110,7 +110,7 @@ Rendered example: The following sections include a set of [cURL](https://curl.se/) examples you can use in the API documentation. -CAUTION: **Caution:** +WARNING: Do not use information for real users, URLs, or tokens. For documentation, refer to our relevant style guide sections on [Fake user information](styleguide/index.md#fake-user-information), [Fake URLs](styleguide/index.md#fake-urls), and [Fake tokens](styleguide/index.md#fake-tokens). diff --git a/doc/development/documentation/site_architecture/deployment_process.md b/doc/development/documentation/site_architecture/deployment_process.md index b2d8e313063..d92f58e5501 100644 --- a/doc/development/documentation/site_architecture/deployment_process.md +++ b/doc/development/documentation/site_architecture/deployment_process.md @@ -46,7 +46,7 @@ for the version in question. ## Porting new website changes to old versions -CAUTION: **Warning:** +WARNING: Porting changes to older branches can have unintended effects as we're constantly changing the backend of the website. Use only when you know what you're doing and make sure to test locally. diff --git a/doc/development/documentation/site_architecture/global_nav.md b/doc/development/documentation/site_architecture/global_nav.md index 8ba173f7272..d0e75c47a07 100644 --- a/doc/development/documentation/site_architecture/global_nav.md +++ b/doc/development/documentation/site_architecture/global_nav.md @@ -292,7 +292,7 @@ and the following syntax rules. an "information" icon on the nav to make the user aware that the feature is EE-only. -CAUTION: **Caution:** +WARNING: All links present on the data file must end in `.html`, not `.md`. Do not start any relative link with a forward slash `/`. diff --git a/doc/development/documentation/site_architecture/index.md b/doc/development/documentation/site_architecture/index.md index f4b6f827a74..c72a4dcf1d5 100644 --- a/doc/development/documentation/site_architecture/index.md +++ b/doc/development/documentation/site_architecture/index.md @@ -55,7 +55,7 @@ product, and all together are pulled to generate the docs website: - [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/tree/master/docs) - [GitLab Chart](https://gitlab.com/charts/gitlab/tree/master/doc) -NOTE: **Note:** +NOTE: In September 2019, we [moved towards a single codebase](https://gitlab.com/gitlab-org/gitlab/-/issues/2952), as such the docs for CE and EE are now identical. For historical reasons and in order not to break any existing links throughout the internet, we still @@ -114,7 +114,7 @@ located in the [Dockerfiles directory](https://gitlab.com/gitlab-org/gitlab-docs If you need to rebuild the Docker images immediately (must have maintainer level permissions): -CAUTION: **Caution:** +WARNING: If you change the dockerfile configuration and rebuild the images, you can break the master pipeline in the main `gitlab` repository as well as in `gitlab-docs`. Create an image with a different name first and test it to ensure you do not break the pipelines. diff --git a/doc/development/documentation/site_architecture/release_process.md b/doc/development/documentation/site_architecture/release_process.md index 1f244e5fdb2..65cd77aace3 100644 --- a/doc/development/documentation/site_architecture/release_process.md +++ b/doc/development/documentation/site_architecture/release_process.md @@ -66,7 +66,7 @@ Visit `http://localhost:4000/12.0/` to see if everything works correctly. ## 3. Create the release merge request -NOTE: **Note:** +NOTE: To be [automated](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/750). Now it's time to create the monthly release merge request that adds the new @@ -125,7 +125,7 @@ versions (stable branches `X.Y` of the `gitlab-docs` project): update the dropdowns. Set these to automatically be merged when their pipelines succeed: - NOTE: **Note:** + NOTE: The `release-X-Y` branch needs to be present locally, and you need to have switched to it, otherwise the Rake task fails. diff --git a/doc/development/documentation/styleguide/index.md b/doc/development/documentation/styleguide/index.md index ace443ebb9f..ac0b7ab9c64 100644 --- a/doc/development/documentation/styleguide/index.md +++ b/doc/development/documentation/styleguide/index.md @@ -122,7 +122,7 @@ of GitLab more efficient. - If the answer to a question exists in documentation, share the link to the documentation instead of rephrasing the information. -- When you encounter new information not available in GitLab’s documentation (for +- When you encounter new information not available in GitLab documentation (for example, when working on a support case or testing a feature), your first step should be to create a merge request (MR) to add this information to the documentation. You can then share the MR to communicate this information. @@ -964,13 +964,13 @@ search engine optimization (SEO), use the imperative, where possible. | Do | Don't | |:--------------------------------------|:------------------------------------------------------------| | Configure GDK | Configuring GDK | -| GitLab Release and Maintenance Policy | This section covers GitLab's Release and Maintenance Policy | +| GitLab Release and Maintenance Policy | This section covers the GitLab Release and Maintenance Policy | | Backport to older releases | Backporting to older releases | | GitLab Pages examples | Examples | For guidelines on capitalizing headings, see the section on [capitalization](#capitalization). -NOTE: **Note:** +NOTE: If you change an existing title, be careful. In-page [anchor links](#anchor-links), links in the GitLab application, and links from external sites can break. @@ -979,7 +979,7 @@ links in the GitLab application, and links from external sites can break. Headings generate anchor links when rendered. `## This is an example` generates the anchor `#this-is-an-example`. -NOTE: **Note:** +NOTE: [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39717) in GitLab 13.4, [product badges](#product-tier-badges) used in headings aren't included in the generated anchor links. For example, when you link to @@ -1037,7 +1037,7 @@ We include guidance for links in the following categories: ### Links to internal documentation -NOTE: **Note:** +NOTE: _Internal_ refers to documentation in the same project. When linking to documentation in separate projects (for example, linking to Omnibus documentation from GitLab documentation), you must use absolute URLs. @@ -1087,7 +1087,7 @@ To link to internal documentation: - `../../issues/tags.md` - `../../issues/tags.md#stages` -NOTE: **Note:** +NOTE: Using the Markdown extension is necessary for the [`/help`](../index.md#gitlab-help) section of GitLab. @@ -1128,7 +1128,7 @@ While many of these sources to avoid can help you learn skills and or features, they can become obsolete quickly. Nobody is obliged to maintain any of these sites. Therefore, we should avoid using them as reference literature. -NOTE: **Note:** +NOTE: Non-authoritative sources are acceptable only if there is no equivalent authoritative source. Even then, focus on non-authoritative sources that are extensively cited or peer-reviewed. @@ -1510,100 +1510,72 @@ example: ## Alert boxes -When you need to call special attention to particular sentences, use the -following markup to create highlighted alert boxes. +Use alert boxes to call attention to information. -Alert boxes work for one paragraph only. Multiple paragraphs, lists, and headers -don't render correctly. For multiple lines, use [blockquotes](#blockquotes) -instead. +Alert boxes are generated when the words `NOTE:` or `WARNING:` are followed by a +line break. For example: + +```markdown +NOTE: +This is something to note. +``` + +To display an alert box for multiple paragraphs, lists, or headers, use +[blockquotes](#blockquotes) instead. Alert boxes render only on the GitLab documentation site (). -In the GitLab product help, alert boxes appear as plain Markdown text. - -These alert boxes are used in the GitLab documentation. These aren't strict -guidelines, but for consistency you should try to use these values: - -| Color | Markup | Default keyword | Alternative keywords | -|--------|------------|-----------------|----------------------------------------------------------------------| -| Blue | `NOTE:` | `**Note:**` | | -| Yellow | `CAUTION:` | `**Caution:**` | `**Warning:**`, `**Important:**` | -| Red | `DANGER:` | `**Danger:**` | `**Warning:**`, `**Important:**`, `**Deprecated:**`, `**Required:**` | -| Green | `TIP:` | `**Tip:**` | | +In the GitLab product help, alert boxes appear as plain text. ### Note -Notes indicate additional information that's of special use to the reader. -Notes are most effective when used _sparingly_. Try to avoid them. Too many notes -can make topics difficult to scan, and create an overly busy page. +Use notes sparingly. Too many notes can make topics difficult to scan. -Instead of adding a note, try one of these alternatives: +Instead of adding a note: -- Re-write the sentence as part of the most-relevant paragraph. -- Put the information into its own standalone paragraph. -- Put the content under a new subheading that introduces the topic, which makes - it more visible. +- Re-write the sentence as part of a paragraph. +- Put the information into its own paragraph. +- Put the content under a new subheading. -If you must use a note, use the following formatting: +If you must use a note, use this format: ```markdown -NOTE: **Note:** +NOTE: This is something to note. ``` -How it renders on the GitLab documentation site: +It renders on the GitLab documentation site as: -NOTE: **Note:** +NOTE: This is something to note. -### Tip +### Warning + +Use a warning to indicate deprecated features, or to provide a warning about +procedures that have the potential for data loss. ```markdown -TIP: **Tip:** -This is a tip. +WARNING: +This is something to be warned about. ``` -How it renders on the GitLab documentation site: +It renders on the GitLab documentation site as: -TIP: **Tip:** -This is a tip. - -### Caution - -```markdown -CAUTION: **Caution:** -This is something to be cautious about. -``` - -How it renders on the GitLab documentation site: - -CAUTION: **Caution:** -This is something to be cautious about. - -### Danger - -```markdown -DANGER: **Warning:** -This is a breaking change, a bug, or something very important to note. -``` - -How it renders on the GitLab documentation site: - -DANGER: **Warning:** -This is a breaking change, a bug, or something very important to note. +WARNING: +This is something to be warned about. ## Blockquotes -For highlighting a text inside a blue blockquote, use this format: +For highlighting a text inside a blockquote, use this format: ```markdown > This is a blockquote. ``` -which renders on the [GitLab documentation site](https://docs.gitlab.com) as: +It renders on the GitLab documentation site as: > This is a blockquote. -If the text spans across multiple lines it's OK to split the line. +If the text spans multiple lines, you can split them. For multiple paragraphs, use the symbol `>` before every line: @@ -1616,7 +1588,7 @@ For multiple paragraphs, use the symbol `>` before every line: > - Second item in the list ``` -Which renders to: +It renders on the GitLab documentation site as: > This is the first paragraph. > @@ -1752,11 +1724,10 @@ If a feature is deprecated, include a link to a replacement (when available): ``` You can also describe the replacement in surrounding text, if available. If the -deprecation isn't obvious in existing text, you may want to include a warning, -such as: +deprecation isn't obvious in existing text, you may want to include a warning: ```markdown -DANGER: **Deprecated:** +WARNING: This feature was [deprecated](link-to-issue) in GitLab 12.3 and replaced by [Feature name](link-to-feature-documentation). ``` @@ -1780,15 +1751,14 @@ voters to agree. #### End-of-life for features or products -When a feature or product enters the end-of-life process, indicate its -status prominently. Use the `Danger` [alert](#alert-boxes) with the `**Important**` -keyword directly below the page header, or the sub-header for the feature or product. -Link to the deprecation and removal issues, if possible. +When a feature or product enters its end-of-life, indicate its status by +creating a [warning alert](#alert-boxes) directly following its relevant header. +If possible, link to its deprecation and removal issues. For example: ```markdown -DANGER: **Important:** +WARNING: This feature is in its end-of-life process. It is [deprecated](link-to-issue) for use in GitLab X.X, and is planned for [removal](link-to-issue) in GitLab X.X. ``` @@ -1925,28 +1895,24 @@ If the document resides outside of the GitLab CE/EE ### Installation guide -**Ruby:** In [step 2 of the installation guide](../../../install/installation.md#2-ruby), -we install Ruby from source. When a version update is needed, -remember to change it throughout the code block and also replace -the sha256sum. You can find the sha256sum on the -[downloads page](https://www.ruby-lang.org/en/downloads/) of the Ruby website. +we install Ruby from source. To update the guide for a new Ruby version: + +- Change the version throughout the code block. +- Replace the sha256sum. It's available on the + [downloads page](https://www.ruby-lang.org/en/downloads/) of the Ruby website. ### Configuration documentation for source and Omnibus installations -GitLab officially supports two installation methods: installations -from source and Omnibus packages installations. - -Whenever there's a setting that's configurable for both installation methods, -the preference is to document it in the CE documentation to avoid duplication. - -Configuration settings include: +GitLab supports two installation methods: installations from source, and Omnibus +packages. Possible configuration settings include: - Settings that touch configuration files in `config/`. -- NGINX settings and settings in `lib/support/` in general. +- NGINX settings. +- Other settings in `lib/support/`. -When you document a list of steps, it may entail editing the configuration file -and reconfiguring or restarting GitLab. In that case, use these styles: +Configuration procedures can require users to edit configuration files, reconfigure +GitLab, or restart GitLab. Use these styles to document these steps: @@ -1981,13 +1947,11 @@ and reconfiguring or restarting GitLab. In that case, use these styles: In this case: -- Before each step list the installation method is declared in bold. -- Three dashes (`---`) are used to create a horizontal line and separate the two - methods. -- The code blocks are indented one or more spaces under the list item to render - correctly. -- Different highlighting languages are used for each configuration in the code block. -- The [GitLab Restart](#gitlab-restart) section is used to explain a required +- Bold the installation method's name. +- Separate the methods with three dashes (`---`) to create a horizontal line. +- Indent the code blocks to line up with the list item they belong to.. +- Use the appropriate syntax highlighting for each code block. +- Use the [GitLab Restart](#gitlab-restart) section to explain any required restart or reconfigure of GitLab. ### Troubleshooting diff --git a/doc/development/elasticsearch.md b/doc/development/elasticsearch.md index 51cd7eff7b2..20dab4bf2be 100644 --- a/doc/development/elasticsearch.md +++ b/doc/development/elasticsearch.md @@ -68,7 +68,7 @@ The `whitespace` tokenizer was selected in order to have more control over how t Please see the `code` filter for an explanation on how tokens are split. -NOTE: **Note:** +NOTE: Currently the [Elasticsearch code_analyzer doesn't account for all code cases](../integration/elasticsearch.md#known-issues). #### `code_search_analyzer` @@ -129,7 +129,7 @@ Patterns: ## Zero downtime reindexing with multiple indices -NOTE: **Note:** +NOTE: This is not applicable yet as multiple indices functionality is not fully implemented. Currently GitLab can only handle a single version of setting. Any setting/schema changes would require reindexing everything from scratch. Since reindexing can take a long time, this can cause search functionality downtime. @@ -168,7 +168,7 @@ The global configurations per version are now in the `Elastic::(Version)::Config ### Creating new version of schema -NOTE: **Note:** +NOTE: This is not applicable yet as multiple indices functionality is not fully implemented. Folders like `ee/lib/elastic/v12p1` contain snapshots of search logic from different versions. To keep a continuous Git history, the latest version lives under `ee/lib/elastic/latest`, but its classes are aliased under an actual version (e.g. `ee/lib/elastic/v12p3`). When referencing these classes, never use the `Latest` namespace directly, but use the actual version (e.g. `V12p3`). @@ -188,7 +188,7 @@ If the current version is `v12p1`, and we need to create a new version for `v12p > This functionality was introduced by [#234046](https://gitlab.com/gitlab-org/gitlab/-/issues/234046). -NOTE: **Note:** +NOTE: This only supported for indices created with GitLab 13.0 or greater. Migrations are stored in the [`ee/elastic/migrate/`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/elastic/migrate) folder with `YYYYMMDDHHMMSS_migration_name.rb` diff --git a/doc/development/export_csv.md b/doc/development/export_csv.md index bf3c8c30656..99b6062736d 100644 --- a/doc/development/export_csv.md +++ b/doc/development/export_csv.md @@ -17,5 +17,5 @@ This document lists the different implementations of CSV export in GitLab codeba | Polling (non-persistent state) | - Asynchronously processes the query with the background job.
- Frontend(FE) polls every few seconds to check if CSV file is ready. | - Asynchronous processing.
- Automatically downloads to local machine on completion.
- In-app solution. | - Non-persistable request - request expires when user navigates to a different page.
- API is processed for each polling request. | [Export Vulnerabilities](../user/application_security/security_dashboard/#export-vulnerabilities) | | Polling (persistent state) (*) | - Asynchronously processes the query with background job.
- Backend (BE) maintains the export state
- FE polls every few seconds to check status.
- FE shows 'Download link' when export is ready.
- User can download or regenerate a new report. | - Asynchronous processing.
- No database calls made during the polling requests (HTTP 304 status is returned until export status changes).
- Does not require user to stay on page until export is complete.
- In-app solution.
- Can be expanded into a generic CSV feature (such as dashboard / CSV API). | - Requires to maintain export states in DB.
- Does not automatically download the CSV export to local machine, requires users to click 'Download' button. | [Export Merge Commits Report](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43055) | -NOTE: **Note:** +NOTE: Export types marked as * are currently work in progress. diff --git a/doc/development/fe_guide/style/scss.md b/doc/development/fe_guide/style/scss.md index ce860efed8e..e04db609669 100644 --- a/doc/development/fe_guide/style/scss.md +++ b/doc/development/fe_guide/style/scss.md @@ -26,7 +26,7 @@ Classes in [`utilities.scss`](https://gitlab.com/gitlab-org/gitlab/blob/master/a Avoid [Bootstrap's Utility Classes](https://getbootstrap.com/docs/4.3/utilities/). -NOTE: **Note:** +NOTE: While migrating [Bootstrap's Utility Classes](https://getbootstrap.com/docs/4.3/utilities/) to the [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui/-/blob/master/doc/css.md#utilities) utility classes, note both the classes for margin and padding differ. The size scale used at diff --git a/doc/development/fe_guide/tooling.md b/doc/development/fe_guide/tooling.md index b0d8162ff62..dac47bcf158 100644 --- a/doc/development/fe_guide/tooling.md +++ b/doc/development/fe_guide/tooling.md @@ -46,7 +46,7 @@ yarn eslint-fix If manual changes are required, a list of changes will be sent to the console. -CAUTION: **Caution:** +WARNING: Limit use to global rule updates. Otherwise, the changes can lead to huge Merge Requests. ### Disabling ESLint in new files diff --git a/doc/development/feature_flags/development.md b/doc/development/feature_flags/development.md index c195173f450..6380db7ddaa 100644 --- a/doc/development/feature_flags/development.md +++ b/doc/development/feature_flags/development.md @@ -17,10 +17,10 @@ request removing the feature flag or the merge request where the default value o the feature flag is set to enabled. If the feature contains any database migrations, it *should* include a changelog entry for the database changes. -CAUTION: **Caution:** +WARNING: All newly-introduced feature flags should be [disabled by default](process.md#feature-flags-in-gitlab-development). -NOTE: **Note:** +NOTE: This document is the subject of continued work as part of an epic to [improve internal usage of Feature Flags](https://gitlab.com/groups/gitlab-org/-/epics/3551). Raise any suggestions as new issues and attach them to the epic. ## Risk of a broken master (main) branch diff --git a/doc/development/feature_flags/index.md b/doc/development/feature_flags/index.md index a867bcf792a..4d1a6e3c7e9 100644 --- a/doc/development/feature_flags/index.md +++ b/doc/development/feature_flags/index.md @@ -13,7 +13,7 @@ to disable those changes without having to revert an entire release. Before using feature flags for GitLab's development, review the following development guides: -NOTE: **Note:** +NOTE: The feature flags used by GitLab to deploy its own features **are not** the same as the [feature flags offered as part of the product](../../operations/feature_flags.md). diff --git a/doc/development/feature_flags/process.md b/doc/development/feature_flags/process.md index 72dad4f9b6a..64def57e51d 100644 --- a/doc/development/feature_flags/process.md +++ b/doc/development/feature_flags/process.md @@ -92,7 +92,7 @@ account for unforeseen problems. Feature flags must be [documented according to their state (enabled/disabled)](../documentation/feature_flags.md), and when the state changes, docs **must** be updated accordingly. -NOTE: **Note:** +NOTE: Take into consideration that such action can make the feature available on GitLab.com shortly after the change to the feature flag is merged. diff --git a/doc/development/geo.md b/doc/development/geo.md index 82e3f1e3d37..767bf3fbe01 100644 --- a/doc/development/geo.md +++ b/doc/development/geo.md @@ -161,7 +161,7 @@ If the requested file matches the requested SHA256 sum, then the Geo feature, which allows NGINX to handle the file transfer without tying up Rails or Workhorse. -NOTE: **Note:** +NOTE: JWT requires synchronized clocks between the machines involved, otherwise it may fail with an encryption error. diff --git a/doc/development/geo/framework.md b/doc/development/geo/framework.md index 11172523a96..35d05092f62 100644 --- a/doc/development/geo/framework.md +++ b/doc/development/geo/framework.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Geo self-service framework -NOTE: **Note:** +NOTE: This document is subject to change as we continue to implement and iterate on the framework. Follow the progress in the [epic](https://gitlab.com/groups/gitlab-org/-/epics/2161). If you need to replicate a new data type, reach out to the Geo diff --git a/doc/development/gitaly.md b/doc/development/gitaly.md index f0f5bbe4d94..965284e5ae3 100644 --- a/doc/development/gitaly.md +++ b/doc/development/gitaly.md @@ -121,7 +121,7 @@ bundle exec rake gitlab:features:disable_rugged Most of this code exists in the `lib/gitlab/git/rugged_impl` directory. -NOTE: **Note:** +NOTE: You should NOT need to add or modify code related to Rugged unless explicitly discussed with the [Gitaly Team](https://gitlab.com/groups/gl-gitaly/group_members). This code does @@ -181,7 +181,7 @@ Normally, GitLab CE/EE tests use a local clone of Gitaly in `GITALY_SERVER_VERSION`. The `GITALY_SERVER_VERSION` file supports also branches and SHA to use a custom commit in . -NOTE: **Note:** +NOTE: With the introduction of auto-deploy for Gitaly, the format of `GITALY_SERVER_VERSION` was aligned with Omnibus syntax. It no longer supports `=revision`, it evaluates the file content as a Git @@ -316,7 +316,7 @@ Here are the steps to gate a new feature in Gitaly behind a feature flag. 1. Test in a Rails console by setting the feature flag: - NOTE: **Note:** + NOTE: Pay attention to the name of the flag and the one used in the Rails console. There is a difference between them (dashes replaced by underscores and name prefix is changed). Make sure to prefix all flags with `gitaly_`. diff --git a/doc/development/gotchas.md b/doc/development/gotchas.md index 584735eb4d0..3d89a3a6c0a 100644 --- a/doc/development/gotchas.md +++ b/doc/development/gotchas.md @@ -264,7 +264,7 @@ end By specifying `Projects::`, we tell Rails exactly what class we are referring to and we would avoid the issue. -NOTE: **Note:** +NOTE: This problem will disappear as soon as we upgrade to Rails 6 and use the Zeitwerk autoloader. ### Further reading diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md index 549b26d4cde..eae5db2994b 100644 --- a/doc/development/i18n/externalization.md +++ b/doc/development/i18n/externalization.md @@ -756,7 +756,7 @@ aren't in the message with ID `1 pipeline`. ## Adding a new language -NOTE: **Note:** +NOTE: [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/221012) in GitLab 13.3: Languages with less than 2% of translations won't be available in the UI. diff --git a/doc/development/i18n/merging_translations.md b/doc/development/i18n/merging_translations.md index 24a21e48cb7..65e5c379961 100644 --- a/doc/development/i18n/merging_translations.md +++ b/doc/development/i18n/merging_translations.md @@ -63,7 +63,7 @@ have been fixed on master. ## Recreate the GitLab integration in CrowdIn -NOTE: **Note:** +NOTE: These instructions work only for GitLab Team Members. If for some reason the GitLab integration in CrowdIn does not exist, it can be diff --git a/doc/development/import_export.md b/doc/development/import_export.md index c58d8bad107..6e3f6a49152 100644 --- a/doc/development/import_export.md +++ b/doc/development/import_export.md @@ -413,5 +413,5 @@ tree └── 4352.json ``` -CAUTION: **Caution:** +WARNING: When updating these fixtures, please ensure you update both `json` files and `tree` folder, as the tests apply to both. diff --git a/doc/development/insert_into_tables_in_batches.md b/doc/development/insert_into_tables_in_batches.md index 548ef69710f..cfa0c862471 100644 --- a/doc/development/insert_into_tables_in_batches.md +++ b/doc/development/insert_into_tables_in_batches.md @@ -101,7 +101,7 @@ performance impact this might have on your code. There is a trade-off between th ### Handling duplicate records -NOTE: **Note:** +NOTE: This parameter applies only to `bulk_insert!`. If you intend to update existing records, use `bulk_upsert!` instead. diff --git a/doc/development/internal_api.md b/doc/development/internal_api.md index 2a3c1111061..8a955d539e0 100644 --- a/doc/development/internal_api.md +++ b/doc/development/internal_api.md @@ -25,7 +25,7 @@ To authenticate using that token, clients read the contents of that file, and include the token Base64 encoded in a `secret_token` parameter or in the `Gitlab-Shared-Secret` header. -NOTE: **Note:** +NOTE: The internal API used by GitLab Pages, and GitLab Kubernetes Agent Server (kas) uses JSON Web Token (JWT) authentication, which is different from GitLab Shell. @@ -385,7 +385,7 @@ These endpoints are all authenticated using JWT. The JWT secret is stored in a f specified in `config/gitlab.yml`. By default, the location is in the root of the GitLab Rails app in a file called `.gitlab_kas_secret`. -CAUTION: **Caution:** +WARNING: The Kubernetes agent is under development and is not recommended for production use. ### Kubernetes agent information diff --git a/doc/development/iterating_tables_in_batches.md b/doc/development/iterating_tables_in_batches.md index 814397a3b52..0e2d6539da1 100644 --- a/doc/development/iterating_tables_in_batches.md +++ b/doc/development/iterating_tables_in_batches.md @@ -54,7 +54,7 @@ end The query above iterates over the project creators and prints them out without duplications. -NOTE: **Note:** +NOTE: In case the column is not unique (no unique index definition), calling the `distinct` method on the relation is necessary. ## `EachBatch` in data migrations @@ -162,7 +162,7 @@ Selecting only the `id` column and ordering by `id` is going to "force" the data ![Reading the index with extra filter](img/each_batch_users_table_filter_v13_7.png) -NOTE: **Important:** +NOTE: The number of scanned rows depends on the data distribution in the table. - Best case scenario: the first user was never logged in. The database reads only one row. @@ -195,7 +195,7 @@ To address this problem, we have two options: - Create another, conditional index to cover the new query. - Replace the index with more generalized configuration. -NOTE: **Note:** +NOTE: Having multiple indexes on the same table and on the same columns could be a performance bottleneck when writing data. Let's consider the following index (avoid): @@ -266,7 +266,7 @@ on the query which often ends up in statement timeouts. We have an unknown numbe issues, the execution time and the accessed database rows depends on the data distribution in the `issues` table. -NOTE: **Note:** +NOTE: Using subqueries works only when the subquery returns a small number of rows. #### Improving Subqueries diff --git a/doc/development/licensing.md b/doc/development/licensing.md index 4715964c7d7..494ff0bc78b 100644 --- a/doc/development/licensing.md +++ b/doc/development/licensing.md @@ -18,7 +18,7 @@ Some gems may not include their license information in their `gemspec` file, and ### License Finder commands -NOTE: **Note:** +NOTE: License Finder currently uses GitLab misused terms of `whitelist` and `blacklist`. As a result, the commands below reference those terms. We've created an [issue on their project](https://github.com/pivotal/LicenseFinder/issues/745) to propose that they rename their commands. There are a few basic commands License Finder provides that you'll need in order to manage license detection. diff --git a/doc/development/migration_style_guide.md b/doc/development/migration_style_guide.md index 707251a24bd..8cdfbd558ca 100644 --- a/doc/development/migration_style_guide.md +++ b/doc/development/migration_style_guide.md @@ -658,7 +658,7 @@ In this particular case, the default value exists and we're just changing the me `request_access_enabled` column, which does not imply a rewrite of all the existing records in the `namespaces` table. Only when creating a new column with a default, all the records are going be rewritten. -NOTE: **Note:** +NOTE: A faster [ALTER TABLE ADD COLUMN with a non-null default](https://www.depesz.com/2018/04/04/waiting-for-postgresql-11-fast-alter-table-add-column-with-a-non-null-default/) was introduced on PostgresSQL 11.0, removing the need of rewriting the table when a new column with a default value is added. diff --git a/doc/development/packages.md b/doc/development/packages.md index 679c5003836..689dc6b4141 100644 --- a/doc/development/packages.md +++ b/doc/development/packages.md @@ -76,12 +76,12 @@ The current state of existing package registries availability is: | Composer | Yes | Yes | No | | Generic | Yes | No | No | -NOTE: **Note:** +NOTE: NPM is currently a hybrid of the instance level and group level. It is using the top-level group or namespace as the defining portion of the name (for example, `@my-group-name/my-package-name`). -NOTE: **Note:** +NOTE: Composer package naming scope is Instance Level. ### Naming conventions diff --git a/doc/development/performance.md b/doc/development/performance.md index dc09b0389f2..3592a251f25 100644 --- a/doc/development/performance.md +++ b/doc/development/performance.md @@ -282,7 +282,7 @@ Currently supported profiling targets are: - Puma worker - Sidekiq -NOTE: **Note:** +NOTE: The Puma master process is not supported. Neither is Unicorn. Sending SIGUSR2 to either of those will trigger restarts. In the case of Puma, take care to only send the signal to Puma workers. diff --git a/doc/development/permissions.md b/doc/development/permissions.md index 7e681a70eb0..fae8a516e6f 100644 --- a/doc/development/permissions.md +++ b/doc/development/permissions.md @@ -26,7 +26,7 @@ The visibility level of a group can be changed only if all subgroups and sub-projects have the same or lower visibility level. For example, a group can be set to internal only if all subgroups and projects are internal or private. -CAUTION: **Warning:** +WARNING: If you migrate an existing group to a lower visibility level, that action does not migrate subgroups in the same way. This is a [known issue](https://gitlab.com/gitlab-org/gitlab/-/issues/22406). @@ -70,7 +70,7 @@ can still view the groups and their entities (like epics). Project membership (where the group membership is already taken into account) is stored in the `project_authorizations` table. -CAUTION: **Caution:** +WARNING: Due to [an issue](https://gitlab.com/gitlab-org/gitlab/-/issues/219299), projects in personal namespace will not show owner (`50`) permission in `project_authorizations` table. Note however that [`user.owned_projects`](https://gitlab.com/gitlab-org/gitlab/blob/0d63823b122b11abd2492bca47cc26858eee713d/app/models/user.rb#L906-916) diff --git a/doc/development/pipelines.md b/doc/development/pipelines.md index c1ae43da6a4..ba9ccadb2c3 100644 --- a/doc/development/pipelines.md +++ b/doc/development/pipelines.md @@ -412,7 +412,7 @@ Merge Request. This prevents `rspec fail-fast` duration from exceeding the avera This number can be overridden by setting a CI variable named `RSPEC_FAIL_FAST_TEST_FILE_COUNT_THRESHOLD`. -NOTE: **Note:** +NOTE: This experiment is only enabled when the CI variable `RSPEC_FAIL_FAST_ENABLED=true` is set. #### Determining related test files in a Merge Request diff --git a/doc/development/product_analytics/usage_ping.md b/doc/development/product_analytics/usage_ping.md index 3923e046ec2..92998de13cd 100644 --- a/doc/development/product_analytics/usage_ping.md +++ b/doc/development/product_analytics/usage_ping.md @@ -137,7 +137,7 @@ There are several types of counters which are all found in `usage_data.rb`: - **Alternative Counters:** Used for settings and configurations - **Redis Counters:** Used for in-memory counts. -NOTE: **Note:** +NOTE: Only use the provided counter methods. Each counter method contains a built in fail safe to isolate each counter to avoid breaking the entire Usage Ping. ### Why batch counting @@ -623,7 +623,7 @@ In those cases where operational metrics should be part of Usage Ping, a databas to provide useful data. Instead, Prometheus might be more appropriate, since most of GitLab's architectural components publish metrics to it that can be queried back, aggregated, and included as usage data. -NOTE: **Note:** +NOTE: Prometheus as a data source for Usage Ping is currently only available for single-node Omnibus installations that are running the [bundled Prometheus](../../administration/monitoring/prometheus/index.md) instance. @@ -781,7 +781,7 @@ appear to be associated to any of the services running, since they all appear to > - It's [deployed behind a feature flag](../../user/feature_flags.md), disabled by default. > - It's enabled on GitLab.com. -CAUTION: **Warning:** +WARNING: This feature is intended solely for internal GitLab use. In order to add data for aggregated metrics into Usage Ping payload you should add corresponding definition into [`aggregated_metrics.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data_counters/aggregated_metrics.yml) file. Each aggregate definition includes following parts: diff --git a/doc/development/shell_scripting_guide/index.md b/doc/development/shell_scripting_guide/index.md index 6591a2013e9..d6b72132a3f 100644 --- a/doc/development/shell_scripting_guide/index.md +++ b/doc/development/shell_scripting_guide/index.md @@ -21,7 +21,7 @@ deviations from this guide, they should be described in the ## Avoid using shell scripts -CAUTION: **Caution:** +WARNING: This is a must-read section. Having said all of the above, we recommend staying away from shell scripts @@ -107,7 +107,7 @@ and ignore files starting with a period. To override this, use `-ln` flag to spe ## Testing -NOTE: **Note:** +NOTE: This is a work in progress. It is an [ongoing effort](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/64016) to evaluate different tools for the diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md index 9cbea6cfb0f..4e3d3a9edb0 100644 --- a/doc/development/testing_guide/best_practices.md +++ b/doc/development/testing_guide/best_practices.md @@ -327,7 +327,7 @@ Use the coverage reports to ensure your tests cover 100% of your code. ### System / Feature tests -NOTE: **Note:** +NOTE: Before writing a new system test, [please consider **not** writing one](testing_levels.md#consider-not-writing-a-system-test)! @@ -720,7 +720,7 @@ at all possible. #### Test Snowplow events -CAUTION: **Warning:** +WARNING: Snowplow performs **runtime type checks** by using the [contracts gem](https://rubygems.org/gems/contracts). Since Snowplow is **by default disabled in tests and development**, it can be hard to **catch exceptions** when mocking `Gitlab::Tracking`. @@ -792,7 +792,7 @@ describe "#==" do end ``` -CAUTION: **Caution:** +WARNING: Only use simple values as input in the `where` block. Using procs, stateful objects, FactoryBot-created objects etc. can lead to [unexpected results](https://github.com/tomykaira/rspec-parameterized/issues/8). diff --git a/doc/development/testing_guide/end_to_end/beginners_guide.md b/doc/development/testing_guide/end_to_end/beginners_guide.md index a20eaff1f1c..7bcf23174fb 100644 --- a/doc/development/testing_guide/end_to_end/beginners_guide.md +++ b/doc/development/testing_guide/end_to_end/beginners_guide.md @@ -52,7 +52,7 @@ For information about the distribution of tests per level in GitLab, see - Finally, discuss the proposed test with the developer(s) involved in implementing the feature and the lower-level tests. -CAUTION: **Caution:** +WARNING: Check both [GitLab Community Edition](https://gitlab-org.gitlab.io/gitlab-foss/coverage-ruby/#_AllFiles) and [GitLab Enterprise Edition](https://gitlab-org.gitlab.io/gitlab/coverage-ruby/#_AllFiles) coverage projects for previously-written tests for this feature. For analyzing the code coverage, @@ -86,7 +86,7 @@ file `basic_login_spec.rb`. See the [`RSpec.describe` outer block](#the-outer-rspecdescribe-block) -CAUTION: **Deprecation notice:** +WARNING: The outer `context` [was deprecated](https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/550) in `13.2` in adherence to RSpec 4.0 specifications. Use `RSpec.describe` instead. diff --git a/doc/development/testing_guide/end_to_end/best_practices.md b/doc/development/testing_guide/end_to_end/best_practices.md index 9a59d13391b..f1d06df80a3 100644 --- a/doc/development/testing_guide/end_to_end/best_practices.md +++ b/doc/development/testing_guide/end_to_end/best_practices.md @@ -372,7 +372,7 @@ end [See this merge request for a real example of adding a custom matcher](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46302). -NOTE: **Note:** +NOTE: We need to create custom negatable matchers only for the predicate methods we've added to the test framework, and only if we're using `not_to`. If we use `to have_no_*` a negatable matcher is not necessary. ### Why we need negatable matchers diff --git a/doc/development/testing_guide/end_to_end/environment_selection.md b/doc/development/testing_guide/end_to_end/environment_selection.md index 7b5f7f09e9f..7ba2d57999a 100644 --- a/doc/development/testing_guide/end_to_end/environment_selection.md +++ b/doc/development/testing_guide/end_to_end/environment_selection.md @@ -19,7 +19,7 @@ We can specify what environments or pipelines to run tests against using the `on | `production` | Match against production | `Static` | | `pipeline` | Match against a pipeline | `Array` or `Static`| -CAUTION: **Caution:** +WARNING: You cannot specify `:production` and `{ : 'value' }` simultaneously. These options are mutually exclusive. If you want to specify production, you can control the `tld` and `domain` independently. diff --git a/doc/development/testing_guide/end_to_end/feature_flags.md b/doc/development/testing_guide/end_to_end/feature_flags.md index 8b706c3e37d..1e0eda6491a 100644 --- a/doc/development/testing_guide/end_to_end/feature_flags.md +++ b/doc/development/testing_guide/end_to_end/feature_flags.md @@ -17,7 +17,7 @@ and `GITLAB_ADMIN_PASSWORD`. Please be sure to include the tag `:requires_admin` so that the test can be skipped in environments where admin access is not available. -CAUTION: **Caution:** +WARNING: You are strongly advised to [enable feature flags only for a group, project, user](../../feature_flags/development.md#feature-actors), or [feature group](../../feature_flags/development.md#feature-groups). This makes it possible to test a feature in a shared environment without affecting other users. diff --git a/doc/development/uploads.md b/doc/development/uploads.md index 11c0d75d7c9..cba56eb99e7 100644 --- a/doc/development/uploads.md +++ b/doc/development/uploads.md @@ -280,7 +280,7 @@ Uploads routes belong to one of these categories: 1. Grape API: uploads handled by a Grape API endpoint. 1. GraphQL API: uploads handled by a GraphQL resolve function. -CAUTION: **Warning:** +WARNING: GraphQL uploads do not support [direct upload](#direct-upload) yet. Depending on the use case, the feature may not work on installations without NFS (like GitLab.com or Kubernetes installations). Uploading to object storage inside the GraphQL resolve function may result in timeout errors. For more details please follow [issue #280819](https://gitlab.com/gitlab-org/gitlab/-/issues/280819). ### Update Workhorse for the new route @@ -310,7 +310,7 @@ few things to do: 1. Generally speaking, it's a good idea to check if the instance is from the [`UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/uploaded_file.rb) class. For example, see how we checked [that the parameter is indeed an `UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/commit/ea30fe8a71bf16ba07f1050ab4820607b5658719#51c0cc7a17b7f12c32bc41cfab3649ff2739b0eb_79_77). -CAUTION: **Caution:** +WARNING: **Do not** call `UploadedFile#from_params` directly! Do not build an [`UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/uploaded_file.rb) instance using `UploadedFile#from_params`! This method can be unsafe to use depending on the `params` passed. Instead, use the [`UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/uploaded_file.rb) @@ -339,7 +339,7 @@ use `requires :file, type: ::API::Validations::Types::WorkhorseFile`. - The remaining code of the processing. This is where the code must be reading the parameter (for our example, it would be `params[:file]`). -CAUTION: **Caution:** +WARNING: **Do not** call `UploadedFile#from_params` directly! Do not build an [`UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/uploaded_file.rb) object using `UploadedFile#from_params`! This method can be unsafe to use depending on the `params` passed. Instead, use the [`UploadedFile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/uploaded_file.rb) diff --git a/doc/downgrade_ee_to_ce/README.md b/doc/downgrade_ee_to_ce/README.md index b0842a77ae6..3cbc68d61ed 100644 --- a/doc/downgrade_ee_to_ce/README.md +++ b/doc/downgrade_ee_to_ce/README.md @@ -51,7 +51,7 @@ sudo gitlab-rails runner "Service.where(type: ['GithubService']).delete_all" bundle exec rails runner "Service.where(type: ['GithubService']).delete_all" production ``` -NOTE: **Note:** +NOTE: If you are running `GitLab =< v13.0` you need to also remove `JenkinsDeprecatedService` records and if you are running `GitLab =< v13.6` you need to also remove `JenkinsService` records. diff --git a/doc/gitlab-basics/command-line-commands.md b/doc/gitlab-basics/command-line-commands.md index ae68bd2837b..6c6ae20f8d4 100644 --- a/doc/gitlab-basics/command-line-commands.md +++ b/doc/gitlab-basics/command-line-commands.md @@ -102,7 +102,7 @@ might be asked for an administrator password. sudo RESTRICTED-COMMAND ``` -CAUTION: **Caution:** +WARNING: Be careful of the commands you run with `sudo`. Certain commands may cause damage to your data or system. diff --git a/doc/gitlab-basics/create-project.md b/doc/gitlab-basics/create-project.md index 5dc2cb710bc..87cee993eb2 100644 --- a/doc/gitlab-basics/create-project.md +++ b/doc/gitlab-basics/create-project.md @@ -23,7 +23,7 @@ To create a project in GitLab: if enabled on your GitLab instance. Contact your GitLab administrator if this is unavailable. - Run [CI/CD pipelines for external repositories](../ci/ci_cd_for_external_repos/index.md). **(PREMIUM)** -NOTE: **Note:** +NOTE: For a list of words that can't be used as project names see [Reserved project and group names](../user/reserved_names.md). diff --git a/doc/gitlab-basics/create-your-ssh-keys.md b/doc/gitlab-basics/create-your-ssh-keys.md index 55e42d13f80..98e01df7252 100644 --- a/doc/gitlab-basics/create-your-ssh-keys.md +++ b/doc/gitlab-basics/create-your-ssh-keys.md @@ -24,7 +24,7 @@ In order to use SSH, you need to: To add the SSH public key to GitLab, see [Adding an SSH key to your GitLab account](../ssh/README.md#adding-an-ssh-key-to-your-gitlab-account). -NOTE: **Note:** +NOTE: Once you add a key, you can't edit it. If it did not paste properly, it [will not work](../ssh/README.md#testing-that-everything-is-set-up-correctly), and you need to remove the key from GitLab and try adding it again. diff --git a/doc/gitlab-basics/start-using-git.md b/doc/gitlab-basics/start-using-git.md index c1655c7609b..ddebc57355a 100644 --- a/doc/gitlab-basics/start-using-git.md +++ b/doc/gitlab-basics/start-using-git.md @@ -127,7 +127,7 @@ to our computer: Create one before cloning. - If you don't have 2FA enabled, use your account's password. -NOTE: **Note:** +NOTE: Authenticating via SSH is GitLab's recommended method. You can read more about credential storage in the [Git Credentials documentation](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage). @@ -400,7 +400,7 @@ git add . git commit -m "COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT" ``` -NOTE: **Note:** +NOTE: The `.` character means _all file changes in the current directory and all subdirectories_. ### Send changes to GitLab.com @@ -420,7 +420,7 @@ git push origin master On certain occasions, Git won't allow you to push to your repository, and then you'll need to [force an update](../topics/git/git_rebase.md#force-push). -NOTE: **Note:** +NOTE: To create a merge request from a fork to an upstream repository, see the [forking workflow](../user/project/repository/forking_workflow.md). @@ -453,7 +453,7 @@ git reset HEAD~1 This leaves the changed files and folders unstaged in your local repository. -CAUTION: **Warning:** +WARNING: A Git commit should not usually be reversed, particularly if you already pushed it to the remote repository. Although you can undo a commit, the best option is to avoid the situation altogether by working carefully. diff --git a/doc/img/devops-stages-13_3.png b/doc/img/devops-stages-13_3.png deleted file mode 100644 index 609533e12e7..00000000000 Binary files a/doc/img/devops-stages-13_3.png and /dev/null differ diff --git a/doc/install/aws/index.md b/doc/install/aws/index.md index b0214baf520..77590443eca 100644 --- a/doc/install/aws/index.md +++ b/doc/install/aws/index.md @@ -10,7 +10,7 @@ type: howto This page offers a walkthrough of a common configuration for GitLab on AWS. You should customize it to accommodate your needs. -NOTE: **Note:** +NOTE: For organizations with 1,000 users or less, the recommended AWS installation method is to launch an EC2 single box [Omnibus Installation](https://about.gitlab.com/install/) and implement a snapshot strategy for backing up the data. See the [1,000 user reference architecture](../../administration/reference_architectures/1k_users.md) for more. ## Introduction @@ -33,7 +33,7 @@ In addition to having a basic familiarity with [AWS](https://docs.aws.amazon.com - A domain name for the GitLab instance - An SSL/TLS certificate to secure your domain. If you do not already own one, you can provision a free public SSL/TLS certificate through [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/)(ACM) for use with the [Elastic Load Balancer](#load-balancer) we'll create. -NOTE: **Note:** +NOTE: It can take a few hours to validate a certificate provisioned through ACM. To avoid delays later, request your certificate as soon as possible. ## Architecture @@ -557,7 +557,7 @@ gitlab=# \q #### Set up Gitaly -CAUTION: **Caution:** +WARNING: In this architecture, having a single Gitaly server creates a single point of failure. Use [Gitaly Cluster](../../administration/gitaly/praefect.md) to remove this limitation. @@ -585,7 +585,7 @@ Let's create an EC2 instance where we'll install Gitaly: 1. Click **Review and launch** followed by **Launch** if you're happy with your settings. 1. Finally, acknowledge that you have access to the selected private key file or create a new one. Click **Launch Instances**. -NOTE: **Note:** +NOTE: Instead of storing configuration _and_ repository data on the root volume, you can also choose to add an additional EBS volume for repository storage. Follow the same guidance as above. See the [Amazon EBS pricing](https://aws.amazon.com/ebs/pricing/). We do not recommend using EFS as it may negatively impact GitLab’s performance. You can review the [relevant documentation](../../administration/nfs.md#avoid-using-awss-elastic-file-system-efs) for more details. Now that we have our EC2 instance ready, follow the [documentation to install GitLab and set up Gitaly on its own server](../../administration/gitaly/index.md#run-gitaly-on-its-own-server). Perform the client setup steps from that document on the [GitLab instance we created](#install-gitlab) above. @@ -639,12 +639,12 @@ HostKey /etc/ssh_static/ssh_host_ed25519_key Since we're not using NFS for shared storage, we will use [Amazon S3](https://aws.amazon.com/s3/) buckets to store backups, artifacts, LFS objects, uploads, merge request diffs, container registry images, and more. Our documentation includes [instructions on how to configure object storage](../../administration/object_storage.md) for each of these data types, and other information about using object storage with GitLab. -NOTE: **Note:** +NOTE: Since we are using the [AWS IAM profile](#create-an-iam-role) we created earlier, be sure to omit the AWS access key and secret access key/value pairs when configuring object storage. Instead, use `'use_iam_profile' => true` in your configuration as shown in the object storage documentation linked above. Remember to run `sudo gitlab-ctl reconfigure` after saving the changes to the `gitlab.rb` file. -NOTE: **Note:** +NOTE: One current feature of GitLab that still requires a shared directory (NFS) is [GitLab Pages](../../user/project/pages/index.md). There is [work in progress](https://gitlab.com/gitlab-org/gitlab-pages/-/issues/196) @@ -757,7 +757,7 @@ To back up GitLab: sudo gitlab-backup create ``` -NOTE: **Note:** +NOTE: For GitLab 12.1 and earlier, use `gitlab-rake gitlab:backup:create`. ### Restoring GitLab from a backup @@ -778,7 +778,7 @@ released, you can update your GitLab instance: sudo gitlab-backup create ``` -NOTE: **Note:** +NOTE: For GitLab 12.1 and earlier, use `gitlab-rake gitlab:backup:create`. 1. Update the repositories and install GitLab: diff --git a/doc/install/azure/index.md b/doc/install/azure/index.md index 8aa8a3c027f..1360e7a589c 100644 --- a/doc/install/azure/index.md +++ b/doc/install/azure/index.md @@ -8,7 +8,7 @@ type: howto # Install GitLab on Microsoft Azure -CAUTION: **Deprecated:** +WARNING: The GitLab image in the Azure Marketplace is deprecated. You can track GitLab's efforts to [post a new image](https://gitlab.com/gitlab-com/alliances/microsoft/gitlab-tracker/-/issues/2). @@ -74,7 +74,7 @@ The first items we need to configure are the basic settings of the underlying vi 1. Enter a `User name` - e.g. `gitlab-admin` 1. Select an `Authentication type`, either **SSH public key** or **Password**: - NOTE: **Note:** + NOTE: If you're unsure which authentication type to use, select **Password** 1. If you chose **SSH public key** - enter your `SSH public key` into the field provided @@ -86,7 +86,7 @@ The first items we need to configure are the basic settings of the underlying vi 1. Choose the appropriate `Subscription` tier for your Azure account 1. Choose an existing `Resource Group` or create a new one - e.g. **"GitLab-CE-Azure"** - NOTE **Note:** + NOTE: A "Resource group" is a way to group related resources together for easier administration. We chose "GitLab-CE-Azure", but your resource group can have the same name as your VM. @@ -103,7 +103,7 @@ Check the settings you have entered, and then click **"OK"** when you're ready t Next, you need to choose the size of your VM - selecting features such as the number of CPU cores, the amount of RAM, the size of storage (and its speed), etc. -NOTE: **Note:** +NOTE: In common with other cloud vendors, Azure operates a resource/usage pricing model, i.e. the more resources your VM consumes the more it will cost you to run, so make your selection carefully. You'll see that Azure provides an _estimated_ monthly cost beneath each VM Size to help @@ -115,7 +115,7 @@ ahead and select this one, but please choose the size which best meets your own ![Azure - Create Virtual Machine - Size](img/azure-create-virtual-machine-size.png) -NOTE: **Note:** +NOTE: Be aware that while your VM is active (known as "allocated"), it will incur "compute charges" which, ultimately, you will be billed for. So, even if you're using the free trial credits, you'll likely want to learn @@ -142,7 +142,7 @@ new VM. You'll be billed only for the VM itself (e.g. "Standard DS1 v2") because ![Azure - Create Virtual Machine - Purchase](img/azure-create-virtual-machine-purchase.png) -NOTE: **Note:** +NOTE: At this stage, you can review and modify the any of the settings you have made during all previous steps, just click on any of the four steps to re-open them. @@ -185,7 +185,7 @@ _(the full domain name of your own VM will be different, of course)_. Click **"Save"** for the changes to take effect. -NOTE **Note:** +NOTE: If you want to use your own domain name, you will need to add a DNS `A` record at your domain registrar which points to the public IP address of your Azure VM. If you do this, you'll need to make sure your VM is configured to use a _static_ public IP address (i.e. not a _dynamic_ one) @@ -202,7 +202,7 @@ Ports are opened by adding _security rules_ to the **"Network security group"** has been assigned to. If you followed the process above, then Azure will have automatically created an NSG named `GitLab-CE-nsg` and assigned the `GitLab-CE` VM to it. -NOTE: **Note:** +NOTE: If you gave your VM a different name then the NSG automatically created by Azure will also have a different name - the name you have your VM, with `-nsg` appended to it. @@ -334,7 +334,7 @@ Under the **"Components"** section, we can see that our VM is currently running GitLab. This is the version of GitLab which was contained in the Azure Marketplace **"GitLab Community Edition"** offering we used to build the VM when we wrote this tutorial. -NOTE **Note:** +NOTE: The version of GitLab in your own VM instance may well be different, but the update process will still be the same. diff --git a/doc/install/digitaloceandocker.md b/doc/install/digitaloceandocker.md index ceaca62fe71..9b582297389 100644 --- a/doc/install/digitaloceandocker.md +++ b/doc/install/digitaloceandocker.md @@ -31,7 +31,7 @@ locally on either macOS or Linux. - -NOTE: **Note:** +NOTE: The rest of the steps are identical for macOS and Linux. ## Create new Docker host @@ -41,7 +41,7 @@ The rest of the steps are identical for macOS and Linux. This command will create a new DO droplet called `gitlab-test-env-do` that will act as a Docker host. - NOTE: **Note:** + NOTE: 4GB is the minimum requirement for a Docker host that will run more than one GitLab instance. - RAM: 4GB diff --git a/doc/install/installation.md b/doc/install/installation.md index 35b4d67a096..c8148e29374 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -278,7 +278,7 @@ sudo adduser --disabled-login --gecos 'GitLab' git ## 6. Database -NOTE: **Note:** +NOTE: In GitLab 12.1 and later, only PostgreSQL is supported. In GitLab 13.0 and later, we [require PostgreSQL 11+](requirements.md#postgresql-requirements). 1. Install the database packages: @@ -443,7 +443,7 @@ Make sure to replace `` with the stable branch that matches the version you want to install. For example, if you want to install 11.8 you would use the branch name `11-8-stable`. -CAUTION: **Caution:** +WARNING: You can change `` to `master` if you want the *bleeding edge* version, but never install `master` on a production server! ### Configure It @@ -553,7 +553,7 @@ sudo -u git -H chmod o-rwx config/database.yml ### Install Gems -NOTE: **Note:** +NOTE: As of Bundler 1.5.2, you can invoke `bundle install -jN` (where `N` is the number of your processor cores) and enjoy parallel gems installation with measurable difference in completion time (~60% faster). Check the number of your cores with `nproc`. For more information, see this [post](https://thoughtbot.com/blog/parallel-gem-installing-using-bundler). Make sure you have `bundle` (run `bundle -v`): diff --git a/doc/install/openshift_and_gitlab/index.md b/doc/install/openshift_and_gitlab/index.md index 4fd5c8e245b..fc157c89da9 100644 --- a/doc/install/openshift_and_gitlab/index.md +++ b/doc/install/openshift_and_gitlab/index.md @@ -7,7 +7,7 @@ type: howto # How to install GitLab on OpenShift Origin 3 -CAUTION: **Deprecated:** +WARNING: This article is deprecated. Use the official Kubernetes Helm charts for installing GitLab to OpenShift. Check out the [official installation docs](https://docs.gitlab.com/charts/installation/cloud/openshift.html) @@ -27,7 +27,7 @@ For a video demonstration on installing GitLab on OpenShift, check the article [ ## Prerequisites -CAUTION: **Caution:** +WARNING: This information is no longer up to date, as the current versions have changed and products have been renamed. @@ -48,7 +48,7 @@ latest Origin release is used: - **OpenShift** `v1.3.0` (is pre-installed in the [VM image](https://app.vagrantup.com/openshift/boxes/origin-all-in-one)) - **Kubernetes** `v1.3.0` (is pre-installed in the [VM image](https://app.vagrantup.com/openshift/boxes/origin-all-in-one)) -NOTE: **Note:** +NOTE: If you intend to deploy GitLab on a production OpenShift cluster, there are some limitations to bare in mind. Read on the [limitations](#current-limitations) section for more information and follow the linked links for the relevant @@ -267,7 +267,7 @@ And then let's import it in OpenShift: oc create -f openshift-template.json -n openshift ``` -NOTE: **Note:** +NOTE: The `-n openshift` namespace flag is a trick to make the template available to all projects. If you recall from when we created the `gitlab` project, `oc` switched to it automatically, and that can be verified by the `oc status` command. If @@ -314,7 +314,7 @@ If you are deploying to production you will want to change the **GitLab instance hostname** and use greater values for the volume sizes. If you don't provide a password for PostgreSQL, it will be created automatically. -NOTE: **Note:** +NOTE: The `gitlab.apps.10.2.2.2.nip.io` hostname that is used by default will resolve to the host with IP `10.2.2.2` which is the IP our VM uses. It is a trick to have distinct FQDNs pointing to services that are on our local network. diff --git a/doc/install/pivotal/index.md b/doc/install/pivotal/index.md index 89f6e0c0888..de3fad584f1 100644 --- a/doc/install/pivotal/index.md +++ b/doc/install/pivotal/index.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # GitLab Pivotal Tile **(PREMIUM ONLY)** -CAUTION: **Discontinued:** +WARNING: As of September 13, 2017, the GitLab Enterprise Plus for Pivotal Cloud Foundry tile on Pivotal Network has reached its End of Availability (“EoA”) and is no longer available for download or sale through Pivotal. Current customers with diff --git a/doc/install/relative_url.md b/doc/install/relative_url.md index 4250c6b7b33..90026e6e49e 100644 --- a/doc/install/relative_url.md +++ b/doc/install/relative_url.md @@ -47,7 +47,7 @@ See the [requirements](requirements.md) document for more information. ## Enable relative URL in GitLab -NOTE: **Note:** +NOTE: Do not make any changes to your web server configuration file regarding relative URL. The relative URL support is implemented by GitLab Workhorse. @@ -111,7 +111,7 @@ Make sure to follow all steps below: -authBackend http://127.0.0.1:8080/gitlab ``` - NOTE: **Note:** + NOTE: If you are using a custom init script, make sure to edit the above GitLab Workhorse setting as needed. diff --git a/doc/install/requirements.md b/doc/install/requirements.md index c1eaba9913a..39a5c3d5c27 100644 --- a/doc/install/requirements.md +++ b/doc/install/requirements.md @@ -106,7 +106,7 @@ Apart from a local hard drive you can also mount a volume that supports the netw If you have enough RAM and a recent CPU the speed of GitLab is mainly limited by hard drive seek times. Having a fast drive (7200 RPM and up) or a solid state drive (SSD) will improve the responsiveness of GitLab. -NOTE: **Note:** +NOTE: Since file system performance may affect GitLab's overall performance, [we don't recommend using AWS EFS for storage](../administration/nfs.md#avoid-using-awss-elastic-file-system-efs). ### CPU @@ -158,7 +158,7 @@ GitLab version | Minimum PostgreSQL version You must also ensure the `pg_trgm` and `btree_gist` extensions are [loaded into every GitLab database](postgresql_extensions.html). -NOTE: **Note:** +NOTE: Support for [PostgreSQL 9.6 and 10 has been removed in GitLab 13.0](https://about.gitlab.com/releases/2020/05/22/gitlab-13-0-released/#postgresql-11-is-now-the-minimum-required-version-to-install-gitlab) so that GitLab can benefit from PostgreSQL 11 improvements, such as partitioning. For the schedule of transitioning to PostgreSQL 12, see [the related epic](https://gitlab.com/groups/gitlab-org/-/epics/2184). #### Additional requirements for GitLab Geo @@ -270,7 +270,7 @@ For reference, GitLab.com's [auto-scaling shared runner](../user/gitlab_com/inde ## Supported web browsers -CAUTION: **Caution:** +WARNING: With GitLab 13.0 (May 2020) we have removed official support for Internet Explorer 11. GitLab supports the following web browsers: @@ -286,7 +286,7 @@ For the listed web browsers, GitLab supports: - The current and previous major versions of browsers. - The current minor version of a supported major version. -NOTE: **Note:** +NOTE: We don't support running GitLab with JavaScript disabled in the browser and have no plans of supporting that in the future because we have features such as Issue Boards which require JavaScript extensively. diff --git a/doc/integration/akismet.md b/doc/integration/akismet.md index c04ff31b10a..a2720c82fe7 100644 --- a/doc/integration/akismet.md +++ b/doc/integration/akismet.md @@ -15,7 +15,7 @@ Admin page. Privacy note: GitLab submits the user's IP and user agent to Akismet. -NOTE: **Note:** +NOTE: In GitLab 8.11 and later, all issues are submitted to Akismet. In earlier GitLab versions, this only applied to API and non-project members. diff --git a/doc/integration/bitbucket.md b/doc/integration/bitbucket.md index 9c4a8e27747..81cbc42cf45 100644 --- a/doc/integration/bitbucket.md +++ b/doc/integration/bitbucket.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Integrate your GitLab server with Bitbucket Cloud -NOTE: **Note:** +NOTE: Starting from GitLab 11.4, OmniAuth is enabled by default. If you're using an earlier version, you must explicitly enable it. diff --git a/doc/integration/elasticsearch.md b/doc/integration/elasticsearch.md index 60b517eefc6..22390ed8b68 100644 --- a/doc/integration/elasticsearch.md +++ b/doc/integration/elasticsearch.md @@ -163,7 +163,7 @@ PREFIX=/usr sudo -E make install After installation, be sure to [enable Elasticsearch](#enabling-advanced-search). -NOTE: **Note:** +NOTE: If you see an error such as `Permission denied - /home/git/gitlab-elasticsearch-indexer/` while indexing, you may need to set the `production -> elasticsearch -> indexer_path` setting in your `gitlab.yml` file to `/usr/local/bin/gitlab-elasticsearch-indexer`, which is where the binary is installed. @@ -178,7 +178,7 @@ To enable Advanced Search, you need to have admin access to GitLab: 1. Navigate to **Admin Area** (wrench icon), then **Settings > General** and expand the **Advanced Search** section. - NOTE: **Note:** + NOTE: To see the Advanced Search section, you need an active Starter [license](../user/admin_area/license.md). @@ -243,10 +243,10 @@ You can filter the selection dropdown by writing part of the namespace or projec ![limit namespace filter](img/limit_namespace_filter.png) -NOTE: **Note:** +NOTE: If no namespaces or projects are selected, no Advanced Search indexing will take place. -CAUTION: **Warning:** +WARNING: If you have already indexed your instance, you will have to regenerate the index in order to delete all existing data for filtering to work correctly. To do this run the Rake tasks `gitlab:elastic:recreate_index` and `gitlab:elastic:clear_index_status`. Afterwards, removing a namespace or a project from the list will delete the data @@ -303,7 +303,7 @@ feature to atomically swap between two indices. We'll refer to each index as Instead of connecting directly to the `primary` index, we'll setup an index alias such as we can change the underlying index at will. -NOTE: **Note:** +NOTE: Any index attached to the production alias is deemed a `primary` and will be used by the GitLab Advanced Search integration. @@ -333,7 +333,7 @@ export SECONDARY_INDEX="gitlab-production-$(date +%s)" ### Reclaiming the `gitlab-production` index name -CAUTION: **Caution:** +WARNING: It is highly recommended that you take a snapshot of your cluster to ensure there is a recovery path if anything goes wrong. @@ -436,7 +436,7 @@ Under **Admin Area > Settings > General > Advanced Search > Elasticsearch zero-d Reindexing can be a lengthy process depending on the size of your Elasticsearch cluster. -CAUTION: **Caution:** +WARNING: After the reindexing is completed, the original index will be scheduled to be deleted after 14 days. You can cancel this action by pressing the cancel button. While the reindexing is running, you will be able to follow its progress under that same section. @@ -513,7 +513,7 @@ The following are some available Rake tasks: | [`sudo gitlab-rake gitlab:elastic:projects_not_indexed`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Displays which projects are not indexed. | | [`sudo gitlab-rake gitlab:elastic:reindex_cluster`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Schedules a zero-downtime cluster reindexing task. This feature should be used with an index that was created after GitLab 13.0. | -NOTE: **Note:** +NOTE: The `TARGET_NAME` parameter is optional and will use the default index/alias name from the current `RAILS_ENV` if not set. ### Environment variables @@ -579,7 +579,7 @@ This section may be helpful in the event that the other [basic instructions](#enabling-advanced-search) cause problems due to large volumes of data being indexed. -CAUTION: **Warning:** +WARNING: Indexing a large instance will generate a lot of Sidekiq jobs. Make sure to prepare for this task by having a [Scalable and Highly Available Setup](../administration/reference_architectures/index.md) or creating [extra @@ -615,7 +615,7 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). In our experience, you can expect a 20% decrease in indexing time. After completing indexing in a later step, you can return `refresh` and `number_of_replicas` to their desired settings. - NOTE: **Note:** + NOTE: This step is optional but may help significantly speed up large indexing operations. ```shell @@ -837,7 +837,7 @@ More [complex Elasticsearch API calls](https://www.elastic.co/guide/en/elasticse It is important to understand at which level the problem is manifesting (UI, Rails code, Elasticsearch side) to be able to [troubleshoot further](../administration/troubleshooting/elasticsearch.md#search-results-workflow). -NOTE: **Note:** +NOTE: The above instructions are not to be used for scenarios that only index a [subset of namespaces](#limiting-namespaces-and-projects). See [Elasticsearch Index Scopes](#advanced-search-index-scopes) for more information on searching for specific types of data. @@ -856,7 +856,7 @@ You can run `sudo gitlab-rake gitlab:elastic:projects_not_indexed` to display pr ### No new data is added to the Elasticsearch index when I push code -NOTE: **Note:** +NOTE: This was [fixed in GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35936) and the Rake task is not available for versions greater than that. When performing the initial indexing of blobs, we lock all projects until the project finishes indexing. It could happen that an error during the process causes one or multiple projects to remain locked. In order to unlock them, run: @@ -911,7 +911,7 @@ see details in the [update guide](../update/upgrading_from_source.md). **For a single node Elasticsearch cluster the functional cluster health status will be yellow** (never green) because the primary shard is allocated but replicas cannot be as there is no other node to which Elasticsearch can assign a replica. This also applies if you are using the [Amazon Elasticsearch](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-handling-errors.html#aes-handling-errors-yellow-cluster-status) service. -CAUTION: **Warning:** +WARNING: Setting the number of replicas to `0` is discouraged (this is not allowed in the GitLab Elasticsearch Integration menu). If you are planning to add more Elasticsearch nodes (for a total of more than 1 Elasticsearch) the number of replicas will need to be set to an integer value larger than `0`. Failure to do so will result in lack of redundancy (losing one node will corrupt the index). If you have a **hard requirement to have a green status for your single node Elasticsearch cluster**, please make sure you understand the risks outlined in the previous paragraph and then run the following query to set the number of replicas to `0`(the cluster will no longer try to create any shard replicas): diff --git a/doc/integration/github.md b/doc/integration/github.md index 61bcb8a25b3..c65027e3585 100644 --- a/doc/integration/github.md +++ b/doc/integration/github.md @@ -19,7 +19,7 @@ When you create an OAuth 2 app in GitHub, you need the following information: - The URL of your GitLab instance, such as `https://gitlab.example.com`. - The authorization callback URL; in this case, `https://gitlab.example.com/users/auth`. Include the port number if your GitLab instance uses a non-default port. -NOTE: **Note:** +NOTE: To prevent an [OAuth2 covert redirect](https://oauth.net/advisories/2014-1-covert-redirect/) vulnerability, append `/users/auth` to the end of the GitHub authorization callback URL. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings. diff --git a/doc/integration/gitpod.md b/doc/integration/gitpod.md index b18d285ca59..04274c1c015 100644 --- a/doc/integration/gitpod.md +++ b/doc/integration/gitpod.md @@ -14,7 +14,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated > - It's recommended for production use. > - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#configure-your-gitlab-instance-with-gitpod). **(CORE ONLY)** -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. With [Gitpod](https://gitpod.io/) you can describe your dev environment as code to get fully set diff --git a/doc/integration/jenkins.md b/doc/integration/jenkins.md index 52e51c83535..02b5d4a8a62 100644 --- a/doc/integration/jenkins.md +++ b/doc/integration/jenkins.md @@ -29,7 +29,7 @@ Moving from a traditional CI plug-in to a single application for the entire soft life cycle can decrease hours spent on maintaining toolchains by 10% or more. For more details, see the ['GitLab vs. Jenkins' comparison page](https://about.gitlab.com/devops-tools/jenkins-vs-gitlab/). -NOTE: **Note:** +NOTE: This documentation focuses only on how to **configure** a Jenkins *integration* with GitLab. Learn how to **migrate** from Jenkins to GitLab CI/CD in our [Migrating from Jenkins](../ci/migration/jenkins.md) documentation. diff --git a/doc/integration/jenkins_deprecated.md b/doc/integration/jenkins_deprecated.md index f023dbaef41..8fcd6eace31 100644 --- a/doc/integration/jenkins_deprecated.md +++ b/doc/integration/jenkins_deprecated.md @@ -6,14 +6,14 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Jenkins CI (deprecated) service -NOTE: **Note:** +NOTE: In GitLab 8.3, Jenkins integration using the [GitLab Hook Plugin](https://wiki.jenkins.io/display/JENKINS/GitLab+Hook+Plugin) was deprecated in favor of the [GitLab Plugin](https://wiki.jenkins.io/display/JENKINS/GitLab+Plugin). Please use documentation for the new [Jenkins CI service](jenkins.md). -NOTE: **Note:** +NOTE: This service was [removed in v13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/1600) Integration includes: diff --git a/doc/integration/jira_development_panel.md b/doc/integration/jira_development_panel.md index 860d3977b9a..0f197961946 100644 --- a/doc/integration/jira_development_panel.md +++ b/doc/integration/jira_development_panel.md @@ -89,7 +89,7 @@ create and use a single-purpose `jira` user in GitLab. replacing `` with your GitLab instance domain. For example, if you are using GitLab.com, this would be `https://gitlab.com/login/oauth/callback`. - NOTE: **Note:** + NOTE: If using a GitLab version earlier than 11.3, the `Redirect URI` must be `https:///-/jira/login/oauth/callback`. If you want Jira to have access to all projects, GitLab recommends that an administrator create the @@ -125,7 +125,7 @@ If you're using GitLab.com and Jira Cloud, we recommend you use the replacing `` with your GitLab instance domain. For example, if you are using GitLab.com, this would be `https://gitlab.com/`. - NOTE: **Note:** + NOTE: If using a GitLab version earlier than 11.3 the **Host URL** value should be `https:///-/jira` For the **Client ID** field, use the **Application ID** value from the previous section. @@ -267,7 +267,7 @@ For a walkthrough of the integration with GitLab for Jira, watch [Configure GitL **Link namespace to Jira**. The user setting up *GitLab for Jira* must have *Maintainer* access to the GitLab namespace. -NOTE: **Note:** +NOTE: The GitLab user only needs access when adding a new namespace. For syncing with Jira, we do not depend on the user's token. ![Configure namespace on GitLab Jira App](img/jira_dev_panel_setup_com_3.png) diff --git a/doc/integration/kerberos.md b/doc/integration/kerberos.md index 83d94d56966..3ac1d2b7f2d 100644 --- a/doc/integration/kerberos.md +++ b/doc/integration/kerberos.md @@ -49,7 +49,7 @@ sudo chmod 0600 /etc/http.keytab #### Installations from source -NOTE: **Note:** +NOTE: For source installations, make sure the `kerberos` gem group [has been installed](../install/installation.md#install-gems). @@ -150,7 +150,7 @@ With that information at hand: 1. If `block_auto_created_users` is false, the Kerberos user is authenticated and is signed in to GitLab. -CAUTION: **Warning** +WARNING: We recommend that you retain the default for `block_auto_created_users`. Kerberos users who create accounts on GitLab without administrator knowledge can be a security risk. diff --git a/doc/integration/omniauth.md b/doc/integration/omniauth.md index c3f78015590..53c19ddfdb1 100644 --- a/doc/integration/omniauth.md +++ b/doc/integration/omniauth.md @@ -49,7 +49,7 @@ contains some settings that are common for all providers. Before configuring individual OmniAuth providers there are a few global settings that are in common for all providers that we need to consider. -NOTE: **Note:** +NOTE: Starting from GitLab 11.4, OmniAuth is enabled by default. If you're using an earlier version, you must explicitly enable it. @@ -63,14 +63,14 @@ earlier version, you must explicitly enable it. be blocked by default and must be unblocked by an administrator before they are able to sign in. -NOTE: **Note:** +NOTE: If you set `block_auto_created_users` to `false`, make sure to only define providers under `allow_single_sign_on` that you are able to control, like SAML, Shibboleth, Crowd or Google, or set it to `false` otherwise any user on the Internet can successfully sign in to your GitLab without administrative approval. -NOTE: **Note:** +NOTE: `auto_link_ldap_user` requires the `uid` of the user to be the same in both LDAP and the OmniAuth provider. @@ -176,7 +176,7 @@ access to internal projects. You must use the full name of the provider, like `google_oauth2` for Google. Refer to the examples for the full names of the supported providers. -NOTE: **Note:** +NOTE: If you decide to remove an OmniAuth provider from the external providers list, you must manually update the users that use this method to sign in if you want their accounts to be upgraded to full internal accounts. @@ -196,7 +196,7 @@ omniauth: ## Using Custom OmniAuth Providers -NOTE: **Note:** +NOTE: The following information only applies for installations from source. GitLab uses [OmniAuth](https://github.com/omniauth/omniauth) for authentication and already ships @@ -253,7 +253,7 @@ we'd like to at least help those with specific needs. Administrators are able to enable or disable Sign In via some OmniAuth providers. -NOTE: **Note:** +NOTE: By default Sign In is enabled via all the OAuth Providers that have been configured in `config/gitlab.yml`. In order to enable/disable an OmniAuth provider, go to Admin Area -> Settings -> Sign-in Restrictions section -> Enabled OAuth Sign-In sources and select the providers you want to enable or disable. diff --git a/doc/integration/recaptcha.md b/doc/integration/recaptcha.md index 61b60b7962d..bb5425187c1 100644 --- a/doc/integration/recaptcha.md +++ b/doc/integration/recaptcha.md @@ -25,7 +25,7 @@ To use reCAPTCHA, first you must create a site and private key. to `return CONDITONAL_ALLOW` so that the spam check short-circuits and triggers the response to return `recaptcha_html`. -NOTE: **Note:** +NOTE: Make sure you are viewing an issuable in a project that is public, and if you're working with an issue, the issue is public. ## Enabling reCAPTCHA for user logins via passwords diff --git a/doc/integration/salesforce.md b/doc/integration/salesforce.md index ae1fc1ed5a2..1aca3b04eee 100644 --- a/doc/integration/salesforce.md +++ b/doc/integration/salesforce.md @@ -85,5 +85,5 @@ On the sign in page, there should now be a Salesforce icon below the regular sig Click the icon to begin the authentication process. Salesforce asks the user to sign in and authorize the GitLab application. If everything goes well, the user is returned to GitLab and is signed in. -NOTE: **Note:** +NOTE: GitLab requires the email address of each new user. Once the user is logged in using Salesforce, GitLab redirects the user to the profile page where they must provide the email and verify the email. diff --git a/doc/integration/saml.md b/doc/integration/saml.md index 7f5312c6419..af0a58eab59 100644 --- a/doc/integration/saml.md +++ b/doc/integration/saml.md @@ -378,7 +378,7 @@ You may also bypass the auto sign-in feature by browsing to ### `attribute_statements` -NOTE: **Note:** +NOTE: This setting should be used only to map attributes that are part of the OmniAuth `info` hash schema. @@ -536,7 +536,7 @@ args: { Your Identity Provider will encrypt the assertion with the public certificate of GitLab. GitLab will decrypt the EncryptedAssertion with its private key. -NOTE: **Note:** +NOTE: This integration uses the `certificate` and `private_key` settings for both assertion encryption and request signing. ## Request signing (optional) diff --git a/doc/integration/shibboleth.md b/doc/integration/shibboleth.md index 7a4b8d982e7..52b51f75554 100644 --- a/doc/integration/shibboleth.md +++ b/doc/integration/shibboleth.md @@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w # Shibboleth OmniAuth Provider -NOTE: **Note:** +NOTE: The preferred approach for integrating a Shibboleth authentication system with GitLab 10 or newer is to use [GitLab's SAML integration](saml.md). This documentation is for Omnibus GitLab 9.x installs or older. @@ -52,7 +52,7 @@ The following changes are needed to enable Shibboleth: RequestHeader set X_FORWARDED_PROTO 'https' ``` - NOTE: **Note:** + NOTE: Starting from GitLab 11.4, OmniAuth is enabled by default. If you're using an earlier version, you must explicitly enable it in `/etc/gitlab/gitlab.rb`. diff --git a/doc/integration/sourcegraph.md b/doc/integration/sourcegraph.md index 861e5563328..8e1a6cdcfd1 100644 --- a/doc/integration/sourcegraph.md +++ b/doc/integration/sourcegraph.md @@ -19,7 +19,7 @@ For GitLab.com users, see [Sourcegraph for GitLab.com](#sourcegraph-for-gitlabco For an overview, watch the video [Sourcegraph's new GitLab native integration](https://www.youtube.com/watch?v=LjVxkt4_sEA). -NOTE: **Note:** +NOTE: This feature requires user opt-in. After Sourcegraph has been enabled for your GitLab instance, you can choose to enable Sourcegraph [through your user preferences](#enable-sourcegraph-in-user-preferences). @@ -32,7 +32,7 @@ Before you can enable Sourcegraph code intelligence in GitLab you will need to: ### Enable the Sourcegraph feature flag -NOTE: **Note:** +NOTE: If you are running a self-managed instance, the Sourcegraph integration will not be available unless the feature flag `sourcegraph` is enabled. This can be done from the Rails console by instance administrators. diff --git a/doc/migrate_ci_to_ce/README.md b/doc/migrate_ci_to_ce/README.md index 8fe481ca77c..4c1683670f8 100644 --- a/doc/migrate_ci_to_ce/README.md +++ b/doc/migrate_ci_to_ce/README.md @@ -80,7 +80,7 @@ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production SKIP=r If this fails you need to fix it before upgrading to 8.0. Also see -NOTE: **Note:** +NOTE: For GitLab 12.1 and earlier, use `gitlab-rake gitlab:backup:create`. ### 2. Check source and target database types diff --git a/doc/operations/feature_flags.md b/doc/operations/feature_flags.md index 37a9e0512c4..e22a45fc18c 100644 --- a/doc/operations/feature_flags.md +++ b/doc/operations/feature_flags.md @@ -18,7 +18,7 @@ delivery from customer launch. For an example of feature flags in action, see [GitLab for Deploys, Feature Flags, and Error Tracking](https://www.youtube.com/embed/5tw2p6lwXxo). -NOTE: **Note:** +NOTE: The Feature Flags GitLab offer as a feature (described in this document) is not the same method used for the [development of GitLab](../development/feature_flags/index.md). @@ -129,7 +129,7 @@ The rollout percentage can be from 0% to 100%. Selecting a consistency based on User IDs functions the same as the [percent of Users](#percent-of-users) rollout. -CAUTION: **Caution:** +WARNING: Selecting **Random** provides inconsistent application behavior for individual users. ### Percent of Users @@ -147,7 +147,7 @@ but not anonymous users. Note that [percent rollout](#percent-rollout) with a consistency based on **User IDs** has the same behavior. We recommend using percent rollout because it's more flexible than percent of users -CAUTION: **Caution:** +WARNING: If the percent of users strategy is selected, then the Unleash client **must** be given a user ID for the feature to be enabled. See the [Ruby example](#ruby-application-example) below. @@ -164,7 +164,7 @@ Enter user IDs as a comma-separated list of values (for example, `user@example.com, user2@example.com`, or `username1,username2,username3`, and so on). Note that user IDs are identifiers for your application users. They do not need to be GitLab users. -CAUTION: **Caution:** +WARNING: The Unleash client **must** be given a user ID for the feature to be enabled for target users. See the [Ruby example](#ruby-application-example) below. diff --git a/doc/operations/incident_management/alerts.md b/doc/operations/incident_management/alerts.md index f1b90803ae3..af5f0763b9d 100644 --- a/doc/operations/incident_management/alerts.md +++ b/doc/operations/incident_management/alerts.md @@ -222,7 +222,7 @@ the correct runbook: > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/232492) in GitLab 13.5 behind a feature flag, disabled by default. > - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/232492) in GitLab 13.6. -CAUTION: **Warning:** +WARNING: This feature might not be available to you. Check the **version history** note above for details. The environment information and the link are displayed in the [Alert Details tab](#alert-details-tab). diff --git a/doc/operations/incident_management/status_page.md b/doc/operations/incident_management/status_page.md index d819a5d0550..6514a80a32b 100644 --- a/doc/operations/incident_management/status_page.md +++ b/doc/operations/incident_management/status_page.md @@ -83,7 +83,7 @@ the necessary CI/CD variables to deploy the Status Page to AWS S3: 1. Navigate to **CI / CD > Pipelines > Run Pipeline**, and run the pipeline to deploy the Status Page to S3. -CAUTION: **Caution:** +WARNING: Consider limiting who can access issues in this project, as any user who can view the issue can potentially [publish comments to your GitLab Status Page](#publish-comments-on-incidents). @@ -144,7 +144,7 @@ After publication, you can access the incident's details page by clicking the To publish an update to the Incident, update the incident issue's description. -CAUTION: **Caution:** +WARNING: When referenced issues are changed (such as title or confidentiality) the incident they were referenced in is not updated. @@ -159,7 +159,7 @@ To publish comments to the Status Page Incident: - Any files attached to the comment (up to 5000 per issue) are also published. ([Introduced in GitLab 13.1](https://gitlab.com/gitlab-org/gitlab/-/issues/205166).) -CAUTION: **Caution:** +WARNING: Anyone with access to view the Issue can add an emoji award to a comment, so consider limiting access to issues to team members only. diff --git a/doc/operations/metrics/dashboards/index.md b/doc/operations/metrics/dashboards/index.md index 8407ab43a41..f875c4a87c5 100644 --- a/doc/operations/metrics/dashboards/index.md +++ b/doc/operations/metrics/dashboards/index.md @@ -65,7 +65,7 @@ To create a new dashboard from the command line: Your custom dashboard is available at `https://example.com/project/-/metrics/custom_dashboard_name.yml`. -NOTE: **Note:** +NOTE: Configuration files nested under subdirectories of `.gitlab/dashboards` aren't supported or available in the UI. @@ -81,7 +81,7 @@ with the **Add Panel** page: [permissions](../../../user/permissions.md#project-members-permissions). 1. Click **Add panel** in the **{ellipsis_v}** **More actions** menu. - NOTE: **Note:** + NOTE: You can only add panels to custom dashboards. ![Monitoring Dashboard actions menu with add panel item](img/actions_menu_create_add_panel_v13_3.png) diff --git a/doc/operations/metrics/dashboards/panel_types.md b/doc/operations/metrics/dashboards/panel_types.md index 286a973fd14..86f6776e273 100644 --- a/doc/operations/metrics/dashboards/panel_types.md +++ b/doc/operations/metrics/dashboards/panel_types.md @@ -229,7 +229,7 @@ For example, if you have a query value of `53.6`, adding `%` as the unit results ## Gauge -CAUTION: **Warning:** +WARNING: This panel type is an _alpha_ feature, and is subject to change at any time without prior notice! @@ -307,7 +307,7 @@ Note the following properties: ![heatmap panel type](img/heatmap_panel_type.png) -CAUTION: **Warning:** +WARNING: When a query returns too many data points, the heatmap data bucket dimensions tend downwards to 0, making the chart's data invisible, as shown in the image below. To fix this problem, limit the amount of data returned by changing the time range filter on the metrics dashboard UI, or adding the **step** property to your dashboard's YAML file. ![heatmap chart_too_much_data](img/heatmap_chart_too_much_data_v_13_2.png) diff --git a/doc/operations/metrics/dashboards/templating_variables.md b/doc/operations/metrics/dashboards/templating_variables.md index d6368628f42..db02cc3bf98 100644 --- a/doc/operations/metrics/dashboards/templating_variables.md +++ b/doc/operations/metrics/dashboards/templating_variables.md @@ -21,7 +21,7 @@ described [in Using Variables](variables.md). ## `text` variable type -CAUTION: **Warning:** +WARNING: This variable type is an _alpha_ feature, and is subject to change at any time without prior notice! @@ -58,7 +58,7 @@ templating: ## `custom` variable type -CAUTION: **Warning:** +WARNING: This variable type is an _alpha_ feature, and is subject to change at any time without prior notice! @@ -106,7 +106,7 @@ templating: ## `metric_label_values` variable type -CAUTION: **Warning:** +WARNING: This variable type is an _alpha_ feature, and is subject to change at any time without prior notice! diff --git a/doc/operations/metrics/embed.md b/doc/operations/metrics/embed.md index faac51d279e..9a9a0b4cff2 100644 --- a/doc/operations/metrics/embed.md +++ b/doc/operations/metrics/embed.md @@ -19,7 +19,7 @@ metrics to others, and you want to have relevant information directly available. This feature requires [Kubernetes](../../user/project/integrations/prometheus_library/kubernetes.md) metrics. -Note: **Note:** +NOTE: In GitLab versions 13.3 and earlier, metrics dashboard links were in the form `https:////-/environments//metrics`. These links are still supported, and can be used to embed metric charts. diff --git a/doc/operations/product_analytics.md b/doc/operations/product_analytics.md index 5aa8079abb2..e6e887b9738 100644 --- a/doc/operations/product_analytics.md +++ b/doc/operations/product_analytics.md @@ -70,7 +70,7 @@ database from growing too quickly. Product Analytics stores events are stored in GitLab database. -CAUTION: **Caution:** +WARNING: This data storage is experimental, and GitLab is likely to remove this data during future development. diff --git a/doc/policy/maintenance.md b/doc/policy/maintenance.md index 351cf45a91c..e097d2c24a8 100644 --- a/doc/policy/maintenance.md +++ b/doc/policy/maintenance.md @@ -63,13 +63,13 @@ one major version. For example, it is safe to: - `12.0.4` -> `12.0.12` - `11.11.1` -> `11.11.8` -NOTE: **Note:** +NOTE: Version specific changes in Omnibus GitLab Linux packages can be found in [the Omnibus GitLab documentation](https://docs.gitlab.com/omnibus/update/README.html#version-specific-changes). -NOTE: **Note:** +NOTE: Instructions are available for downloading an Omnibus GitLab Linux package locally and [manually installing](https://docs.gitlab.com/omnibus/manual_install.html) it. -NOTE: **Note:** +NOTE: A step-by-step guide to [upgrading the Omnibus-bundled PostgreSQL is documented separately](https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server). ## Upgrading major versions diff --git a/doc/public_access/public_access.md b/doc/public_access/public_access.md index 88af60367b4..8d751d10aa5 100644 --- a/doc/public_access/public_access.md +++ b/doc/public_access/public_access.md @@ -32,7 +32,7 @@ in users. Any logged in users except [external users](../user/permissions.md#external-users) have [Guest permissions](../user/permissions.md) on the repository. -NOTE: **Note:** +NOTE: From July 2019, the `Internal` visibility setting is disabled for new projects, groups, and snippets on GitLab.com. Existing projects, groups, and snippets using the `Internal` visibility setting keep this setting. You can read more about the change in the @@ -51,7 +51,7 @@ They appear in the public access directory (`/public`) for project members only. ## Visibility of groups -NOTE: **Note:** +NOTE: [Starting with](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3323) GitLab 8.6, the group visibility has changed and can be configured the same way as projects. In previous versions, a group's page was always visible to all users. diff --git a/doc/push_rules/push_rules.md b/doc/push_rules/push_rules.md index 5ee516eaaa3..69cacd41347 100644 --- a/doc/push_rules/push_rules.md +++ b/doc/push_rules/push_rules.md @@ -75,7 +75,7 @@ See [server hooks](../administration/server_hooks.md) for more information. ## Enabling push rules -NOTE: **Note:** +NOTE: GitLab administrators can set push rules globally under **Admin Area > Push Rules** that all new projects will inherit. You can later override them in a project's settings. They can be also set on a [group level](../user/group/index.md#group-push-rules). @@ -116,7 +116,7 @@ pushes to the repository when a file matches a regular expression as read from [`files_denylist.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/gitlab/checks/files_denylist.yml) (make sure you are at the right branch as your GitLab version when viewing this file). -NOTE: **Note:** +NOTE: Files already committed won't get restricted by this push rule. Below is an example list of what will be rejected by these regular expressions: diff --git a/doc/raketasks/backup_restore.md b/doc/raketasks/backup_restore.md index 868c1efa3c1..4b06a8d5a1d 100644 --- a/doc/raketasks/backup_restore.md +++ b/doc/raketasks/backup_restore.md @@ -15,7 +15,7 @@ You can only restore a backup to **exactly the same version and type (CE/EE)** of GitLab on which it was created. The best way to migrate your repositories from one server to another is through backup restore. -CAUTION: **Warning:** +WARNING: GitLab doesn't back up items that aren't stored in the filesystem. If you're using [object storage](../administration/object_storage.md), be sure to enable backups with your object storage provider, if desired. @@ -62,7 +62,7 @@ including: - GitLab Pages content - Snippets -CAUTION: **Warning:** +WARNING: GitLab does not back up any configuration files, SSL certificates, or system files. You are highly advised to read about [storing configuration files](#storing-configuration-files). @@ -154,7 +154,7 @@ items including encrypted information for two-factor authentication and the CI/CD _secure variables_. Storing encrypted information in the same location as its key defeats the purpose of using encryption in the first place. -CAUTION: **Warning:** +WARNING: The secrets file is essential to preserve your database encryption key. At the very **minimum**, you must backup: @@ -220,7 +220,7 @@ Users of GitLab 12.1 and earlier should use the command `gitlab-rake gitlab:back #### Backup filename -CAUTION: **Warning:** +WARNING: If you use a custom backup filename, you can't [limit the lifetime of the backups](#limit-backup-lifetime-for-local-files-prune-old-backups). @@ -269,9 +269,9 @@ You can exclude specific directories from the backup by adding the environment v - `repositories` (Git repositories data) All wikis will be backed up as part of the `repositories` group. Non-existent wikis will be skipped during a backup. - -NOTE: **Note:** -When [backing up and restoring Helm Charts](https://docs.gitlab.com/charts/architecture/backup-restore.html), there is an additional option `packages`, which refers to any packages managed by the GitLab [package registry](../user/packages/package_registry/index.md). + +NOTE: +When [backing up and restoring Helm Charts](https://docs.gitlab.com/charts/architecture/backup-restore.html), there is an additional option `packages`, which refers to any packages managed by the GitLab [package registry](../user/packages/package_registry/index.md). For more information see [command line arguments](https://docs.gitlab.com/charts/architecture/backup-restore.html#command-line-arguments). All wikis are backed up as part of the `repositories` group. Non-existent @@ -700,7 +700,7 @@ For installations from source: #### Configuring cron to make daily backups -CAUTION: **Warning:** +WARNING: The following cron jobs do not [backup your GitLab configuration files](#storing-configuration-files) or [SSH host keys](https://superuser.com/questions/532040/copy-ssh-keys-from-one-server-to-another-server/532079#532079). @@ -743,7 +743,7 @@ output if there aren't any errors. This is recommended to reduce cron spam. ### Limit backup lifetime for local files (prune old backups) -CAUTION: **Warning:** +WARNING: The process described in this section don't work if you used a [custom filename](#backup-filename) for your backups. @@ -926,7 +926,7 @@ sudo gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce Users of GitLab 12.1 and earlier should use the command `gitlab-rake gitlab:backup:restore` instead. -CAUTION: **Warning:** +WARNING: `gitlab-rake gitlab:backup:restore` doesn't set the correct file system permissions on your Registry directory. This is a [known issue](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62759). On GitLab 12.2 or later, you can use `gitlab-backup restore` to avoid this @@ -948,7 +948,7 @@ installed version of GitLab, the restore command aborts with an error message. Install the [correct GitLab version](https://packages.gitlab.com/gitlab/), and then try again. -NOTE: **Note:** +NOTE: There is a known issue with restore not working with `pgbouncer`. [Read more about backup and restore with `pgbouncer`](#backup-and-restore-for-installations-using-pgbouncer). ### Restore for Docker image and GitLab Helm chart installations @@ -988,7 +988,7 @@ docker exec -it gitlab-rake gitlab:check SANITIZE=true Users of GitLab 12.1 and earlier should use the command `gitlab-rake gitlab:backup:create` instead. -CAUTION: **Warning:** +WARNING: `gitlab-rake gitlab:backup:restore` doesn't set the correct file system permissions on your Registry directory. This is a [known issue](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/62759). On GitLab 12.2 or later, you can use `gitlab-backup restore` to avoid this @@ -1186,7 +1186,7 @@ You can determine if you have undecryptable values in the database by using the You must directly modify GitLab data to work around your lost secrets file. -CAUTION: **Warning:** +WARNING: Be sure to create a full database backup before attempting any changes. #### Disable user two-factor authentication (2FA) @@ -1247,7 +1247,7 @@ You may need to reconfigure or restart GitLab for the changes to take effect. 1. Clear all tokens for projects, groups, and the entire instance: - CAUTION: **Caution:** + WARNING: The final `UPDATE` operation stops the runners from being able to pick up new jobs. You must register new runners. diff --git a/doc/raketasks/cleanup.md b/doc/raketasks/cleanup.md index c414e501b23..e03d1cd6411 100644 --- a/doc/raketasks/cleanup.md +++ b/doc/raketasks/cleanup.md @@ -148,7 +148,7 @@ I, [2018-08-02T10:26:47.764356 #45087] INFO -- : Moved to lost and found: @hash > - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29681) in GitLab 12.1. > - [`ionice` support fixed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28023) in GitLab 12.10. -NOTE: **Note:** +NOTE: These commands don't work for artifacts stored on [object storage](../administration/object_storage.md). diff --git a/doc/security/rack_attack.md b/doc/security/rack_attack.md index 17c9d40ef6f..3b178498079 100644 --- a/doc/security/rack_attack.md +++ b/doc/security/rack_attack.md @@ -19,12 +19,12 @@ tracking. For more information on how to use these options see the [Rack Attack README](https://github.com/kickstarter/rack-attack/blob/master/README.md). -NOTE: **Note:** +NOTE: See [User and IP rate limits](../user/admin_area/settings/user_and_ip_rate_limits.md) for simpler limits that are configured in the UI. -NOTE: **Note:** +NOTE: Starting with GitLab 11.2, Rack Attack is disabled by default. If your instance is not exposed to the public internet, it is recommended that you leave Rack Attack disabled. diff --git a/doc/security/rate_limits.md b/doc/security/rate_limits.md index 1a943662504..500ec057102 100644 --- a/doc/security/rate_limits.md +++ b/doc/security/rate_limits.md @@ -7,7 +7,7 @@ type: reference, howto # Rate limits -NOTE: **Note:** +NOTE: For GitLab.com, please see [GitLab.com-specific rate limits](../user/gitlab_com/index.md#gitlabcom-specific-rate-limits). diff --git a/doc/security/reset_user_password.md b/doc/security/reset_user_password.md index 2d193e48019..fc808452736 100644 --- a/doc/security/reset_user_password.md +++ b/doc/security/reset_user_password.md @@ -58,7 +58,7 @@ user.save! Exit the console, and then try to sign in with your new password. -NOTE: **Note:** +NOTE: You can also reset passwords by using the [Users API](../api/users.md#user-modification). ### Reset your root password diff --git a/doc/security/two_factor_authentication.md b/doc/security/two_factor_authentication.md index 6528ef524ff..74d77cc32cf 100644 --- a/doc/security/two_factor_authentication.md +++ b/doc/security/two_factor_authentication.md @@ -72,7 +72,7 @@ The following are important notes about 2FA: ## Disabling 2FA for everyone -CAUTION: **Caution:** +WARNING: Disabling 2FA for everyone does not disable the [enforce 2FA for all users](#enforcing-2fa-for-all-users) or [enforce 2FA for all users in a group](#enforcing-2fa-for-all-users-in-a-group) settings. In addition to the steps in this section, you will need to disable any enforced 2FA @@ -94,7 +94,7 @@ sudo gitlab-rake gitlab:two_factor:disable_for_all_users sudo -u git -H bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production ``` -CAUTION: **Caution:** +WARNING: This is a permanent and irreversible action. Users will have to reactivate 2FA from scratch if they want to use it again. diff --git a/doc/security/user_file_uploads.md b/doc/security/user_file_uploads.md index 462d82f2ad8..bce2aeb88b4 100644 --- a/doc/security/user_file_uploads.md +++ b/doc/security/user_file_uploads.md @@ -18,7 +18,7 @@ notification emails, which are often read from email clients that are not authenticated with GitLab, such as Outlook, Apple Mail, or the Mail app on your mobile device. -NOTE: **Note:** +NOTE: Non-image attachments do require authentication to be viewed. ## Required pipeline configuration **(PREMIUM ONLY)** -CAUTION: **Caution:** +WARNING: This feature is being re-evaluated in favor of a different [compliance solution](https://gitlab.com/gitlab-org/gitlab/-/issues/34830). We recommend that users who haven't yet implemented this feature wait for diff --git a/doc/user/admin_area/settings/email.md b/doc/user/admin_area/settings/email.md index 89757d07e98..4ebfac57715 100644 --- a/doc/user/admin_area/settings/email.md +++ b/doc/user/admin_area/settings/email.md @@ -39,9 +39,9 @@ In order to change this option: 1. Enter the desired hostname in the **Custom hostname (for private commit emails)** field. 1. Select **Save changes**. -NOTE: **Note:** -Once the hostname gets configured, every private commit email using the previous hostname is not -recognized by GitLab. This can directly conflict with certain [Push rules](../../../push_rules/push_rules.md), such as +NOTE: +Once the hostname gets configured, every private commit email using the previous hostname, will not get +recognized by GitLab. This can directly conflict with certain [Push rules](../../../push_rules/push_rules.md) such as `Check whether author is a GitLab user` and `Check whether committer is the current authenticated user`.