Commit 39e45d86 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents e1e4188c c453b76a
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
> *Note:* Before 8.11 only issues submitted via the API and for non-project > *Note:* Before 8.11 only issues submitted via the API and for non-project
members were submitted to Akismet. members were submitted to Akismet.
GitLab leverages [Akismet](http://akismet.com) to protect against spam. Currently GitLab leverages [Akismet](https://akismet.com/) to protect against spam. Currently
GitLab uses Akismet to prevent the creation of spam issues on public projects. Issues GitLab uses Akismet to prevent the creation of spam issues on public projects. Issues
created via the WebUI or the API can be submitted to Akismet for review. created via the WebUI or the API can be submitted to Akismet for review.
......
...@@ -2,21 +2,21 @@ ...@@ -2,21 +2,21 @@
To enable the Microsoft Azure OAuth2 OmniAuth provider you must register your application with Azure. Azure will generate a client ID and secret key for you to use. To enable the Microsoft Azure OAuth2 OmniAuth provider you must register your application with Azure. Azure will generate a client ID and secret key for you to use.
1. Sign in to the [Azure Management Portal](https://manage.windowsazure.com). 1. Sign in to the [Azure Management Portal](https://portal.azure.com).
1. Select "Active Directory" on the left and choose the directory you want to use to register GitLab. 1. Select "Active Directory" on the left and choose the directory you want to use to register GitLab.
1. Select "Applications" at the top bar and click the "Add" button the bottom. 1. Select "Applications" at the top bar and click the "Add" button the bottom.
1. Select "Add an application my organization is developing". 1. Select "Add an application my organization is developing".
1. Provide the project information and click the "Next" button. 1. Provide the project information and click the "Next" button.
- Name: 'GitLab' works just fine here. - Name: 'GitLab' works just fine here.
- Type: 'WEB APPLICATION AND/OR WEB API' - Type: 'WEB APPLICATION AND/OR WEB API'
1. On the "App properties" page enter the needed URI's and click the "Complete" button. 1. On the "App properties" page enter the needed URI's and click the "Complete" button.
- SIGN-IN URL: Enter the URL of your GitLab installation (e.g `https://gitlab.mycompany.com/`) - SIGN-IN URL: Enter the URL of your GitLab installation (e.g `https://gitlab.mycompany.com/`)
- APP ID URI: Enter the endpoint URL for Microsoft to use, just has to be unique (e.g `https://mycompany.onmicrosoft.com/gitlab`) - APP ID URI: Enter the endpoint URL for Microsoft to use, just has to be unique (e.g `https://mycompany.onmicrosoft.com/gitlab`)
1. Select "Configure" in the top menu. 1. Select "Configure" in the top menu.
...@@ -30,59 +30,59 @@ To enable the Microsoft Azure OAuth2 OmniAuth provider you must register your ap ...@@ -30,59 +30,59 @@ To enable the Microsoft Azure OAuth2 OmniAuth provider you must register your ap
1. You will see lots of endpoint URLs in the form `https://login.microsoftonline.com/TENANT ID/...`, note down the TENANT ID part of one of those endpoints. 1. You will see lots of endpoint URLs in the form `https://login.microsoftonline.com/TENANT ID/...`, note down the TENANT ID part of one of those endpoints.
1. On your GitLab server, open the configuration file. 1. On your GitLab server, open the configuration file.
For omnibus package: For omnibus package:
```sh ```sh
sudo editor /etc/gitlab/gitlab.rb sudo editor /etc/gitlab/gitlab.rb
``` ```
For installations from source: For installations from source:
```sh ```sh
cd /home/git/gitlab cd /home/git/gitlab
sudo -u git -H editor config/gitlab.yml sudo -u git -H editor config/gitlab.yml
``` ```
1. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings. 1. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings.
1. Add the provider configuration: 1. Add the provider configuration:
For omnibus package: For omnibus package:
```ruby ```ruby
gitlab_rails['omniauth_providers'] = [ gitlab_rails['omniauth_providers'] = [
{ {
"name" => "azure_oauth2", "name" => "azure_oauth2",
"args" => { "args" => {
"client_id" => "CLIENT ID", "client_id" => "CLIENT ID",
"client_secret" => "CLIENT SECRET", "client_secret" => "CLIENT SECRET",
"tenant_id" => "TENANT ID", "tenant_id" => "TENANT ID",
} }
} }
] ]
``` ```
For installations from source: For installations from source:
``` ```
- { name: 'azure_oauth2', - { name: 'azure_oauth2',
args: { client_id: "CLIENT ID", args: { client_id: "CLIENT ID",
client_secret: "CLIENT SECRET", client_secret: "CLIENT SECRET",
tenant_id: "TENANT ID" } } tenant_id: "TENANT ID" } }
``` ```
The `base_azure_url` is optional and can be added for different locales; The `base_azure_url` is optional and can be added for different locales;
e.g. `base_azure_url: "https://login.microsoftonline.de"`. e.g. `base_azure_url: "https://login.microsoftonline.de"`.
1. Replace 'CLIENT ID', 'CLIENT SECRET' and 'TENANT ID' with the values you got above. 1. Replace 'CLIENT ID', 'CLIENT SECRET' and 'TENANT ID' with the values you got above.
1. Save the configuration file. 1. Save the configuration file.
1. [Reconfigure][] or [restart GitLab][] for the changes to take effect if you 1. [Reconfigure][] or [restart GitLab][] for the changes to take effect if you
installed GitLab via Omnibus or from source respectively. installed GitLab via Omnibus or from source respectively.
On the sign in page there should now be a Microsoft icon below the regular sign in form. Click the icon to begin the authentication process. Microsoft will ask the user to sign in and authorize the GitLab application. If everything goes well the user will be returned to GitLab and will be signed in. On the sign in page there should now be a Microsoft icon below the regular sign in form. Click the icon to begin the authentication process. Microsoft will ask the user to sign in and authorize the GitLab application. If everything goes well the user will be returned to GitLab and will be signed in.
......
...@@ -11,7 +11,7 @@ If you want to use: ...@@ -11,7 +11,7 @@ If you want to use:
## Introduction to OAuth ## Introduction to OAuth
[OAuth] provides to client applications a 'secure delegated access' to server [OAuth](https://oauth.net/2/) provides to client applications a 'secure delegated access' to server
resources on behalf of a resource owner. In fact, OAuth allows an authorization resources on behalf of a resource owner. In fact, OAuth allows an authorization
server to issue access tokens to third-party clients with the approval of the server to issue access tokens to third-party clients with the approval of the
resource owner, or the end-user. resource owner, or the end-user.
...@@ -85,5 +85,3 @@ application can perform such as `read_user` and `api`. There are many more scope ...@@ -85,5 +85,3 @@ application can perform such as `read_user` and `api`. There are many more scope
available. available.
At any time you can revoke any access by just clicking **Revoke**. At any time you can revoke any access by just clicking **Revoke**.
[oauth]: http://oauth.net/2/ "OAuth website"
...@@ -5,7 +5,7 @@ to sign in to other services. ...@@ -5,7 +5,7 @@ to sign in to other services.
## Introduction to OpenID Connect ## Introduction to OpenID Connect
[OpenID Connect] \(OIDC) is a simple identity layer on top of the [OpenID Connect](https://openid.net/connect/) \(OIDC) is a simple identity layer on top of the
OAuth 2.0 protocol. It allows clients to verify the identity of the end-user OAuth 2.0 protocol. It allows clients to verify the identity of the end-user
based on the authentication performed by GitLab, as well as to obtain based on the authentication performed by GitLab, as well as to obtain
basic profile information about the end-user in an interoperable and basic profile information about the end-user in an interoperable and
...@@ -14,7 +14,7 @@ but does so in a way that is API-friendly, and usable by native and ...@@ -14,7 +14,7 @@ but does so in a way that is API-friendly, and usable by native and
mobile applications. mobile applications.
On the client side, you can use [omniauth-openid-connect] for Rails On the client side, you can use [omniauth-openid-connect] for Rails
applications, or any of the other available [client implementations]. applications, or any of the other available [client implementations](https://openid.net/developers/libraries/#connect).
GitLab's implementation uses the [doorkeeper-openid_connect] gem, refer GitLab's implementation uses the [doorkeeper-openid_connect] gem, refer
to its README for more details about which parts of the specifications to its README for more details about which parts of the specifications
...@@ -46,8 +46,6 @@ Currently the following user information is shared with clients: ...@@ -46,8 +46,6 @@ Currently the following user information is shared with clients:
Only the `sub` and `sub_legacy` claims are included in the ID token, all other claims are available from the `/oauth/userinfo` endpoint used by OIDC clients. Only the `sub` and `sub_legacy` claims are included in the ID token, all other claims are available from the `/oauth/userinfo` endpoint used by OIDC clients.
[OpenID Connect]: http://openid.net/connect/ "OpenID Connect website"
[doorkeeper-openid_connect]: https://github.com/doorkeeper-gem/doorkeeper-openid_connect "Doorkeeper::OpenidConnect website" [doorkeeper-openid_connect]: https://github.com/doorkeeper-gem/doorkeeper-openid_connect "Doorkeeper::OpenidConnect website"
[OAuth guide]: oauth_provider.md "GitLab as OAuth2 authentication service provider" [OAuth guide]: oauth_provider.md "GitLab as OAuth2 authentication service provider"
[omniauth-openid-connect]: https://github.com/jjbohn/omniauth-openid-connect/ "OmniAuth::OpenIDConnect website" [omniauth-openid-connect]: https://github.com/jjbohn/omniauth-openid-connect/ "OmniAuth::OpenIDConnect website"
[client implementations]: http://openid.net/developers/libraries#connect "List of available client implementations"
...@@ -5,8 +5,8 @@ This documentation is for enabling shibboleth with omnibus-gitlab package. ...@@ -5,8 +5,8 @@ This documentation is for enabling shibboleth with omnibus-gitlab package.
In order to enable Shibboleth support in gitlab we need to use Apache instead of Nginx (It may be possible to use Nginx, however this is difficult to configure using the bundled Nginx provided in the omnibus-gitlab package). Apache uses mod_shib2 module for shibboleth authentication and can pass attributes as headers to omniauth-shibboleth provider. In order to enable Shibboleth support in gitlab we need to use Apache instead of Nginx (It may be possible to use Nginx, however this is difficult to configure using the bundled Nginx provided in the omnibus-gitlab package). Apache uses mod_shib2 module for shibboleth authentication and can pass attributes as headers to omniauth-shibboleth provider.
To enable the Shibboleth OmniAuth provider you must configure Apache shibboleth module. To enable the Shibboleth OmniAuth provider you must configure Apache shibboleth module.
Installation and configuration of module it self is out of scope of this document. The installation and configuration of the module itself is out of the scope of this document.
Check <https://wiki.shibboleth.net/> for more info. Check <https://wiki.shibboleth.net/confluence/display/SP3/Apache> for more info.
You can find Apache config in gitlab-recipes (<https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache>). You can find Apache config in gitlab-recipes (<https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache>).
......
...@@ -2,80 +2,81 @@ ...@@ -2,80 +2,81 @@
To enable the Twitter OmniAuth provider you must register your application with Twitter. Twitter will generate a client ID and secret key for you to use. To enable the Twitter OmniAuth provider you must register your application with Twitter. Twitter will generate a client ID and secret key for you to use.
1. Sign in to [Twitter Application Management](https://apps.twitter.com/). 1. Sign in to [Twitter Application Management](https://developer.twitter.com/apps).
1. Select "Create new app" 1. Select "Create new app"
1. Fill in the application details. 1. Fill in the application details.
- Name: This can be anything. Consider something like `<Organization>'s GitLab` or `<Your Name>'s GitLab` or - Name: This can be anything. Consider something like `<Organization>'s GitLab` or `<Your Name>'s GitLab` or
something else descriptive. something else descriptive.
- Description: Create a description. - Description: Create a description.
- Website: The URL to your GitLab installation. `https://gitlab.example.com` - Website: The URL to your GitLab installation. `https://gitlab.example.com`
- Callback URL: `https://gitlab.example.com/users/auth/twitter/callback` - Callback URL: `https://gitlab.example.com/users/auth/twitter/callback`
- Agree to the "Developer Agreement". - Agree to the "Developer Agreement".
![Twitter App Details](img/twitter_app_details.png) ![Twitter App Details](img/twitter_app_details.png)
1. Select "Create your Twitter application."
1. Select the "Settings" tab. 1. Select "Create your Twitter application."
1. Underneath the Callback URL check the box next to "Allow this application to be used to Sign in with Twitter." 1. Select the "Settings" tab.
1. Select "Update settings" at the bottom to save changes. 1. Underneath the Callback URL check the box next to "Allow this application to be used to Sign in with Twitter."
1. Select the "Keys and Access Tokens" tab. 1. Select "Update settings" at the bottom to save changes.
1. You should now see an API key and API secret (see screenshot). Keep this page open as you continue configuration. 1. Select the "Keys and Access Tokens" tab.
![Twitter app](img/twitter_app_api_keys.png) 1. You should now see an API key and API secret (see screenshot). Keep this page open as you continue configuration.
1. On your GitLab server, open the configuration file. ![Twitter app](img/twitter_app_api_keys.png)
For omnibus package: 1. On your GitLab server, open the configuration file.
```sh For omnibus package:
sudo editor /etc/gitlab/gitlab.rb
```
For installations from source: ```sh
sudo editor /etc/gitlab/gitlab.rb
```
```sh For installations from source:
cd /home/git/gitlab
sudo -u git -H editor config/gitlab.yml ```sh
``` cd /home/git/gitlab
1. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings. sudo -u git -H editor config/gitlab.yml
```
1. Add the provider configuration: 1. See [Initial OmniAuth Configuration](omniauth.md#initial-omniauth-configuration) for initial settings.
For omnibus package: 1. Add the provider configuration:
```ruby For omnibus package:
gitlab_rails['omniauth_providers'] = [
{
"name" => "twitter",
"app_id" => "YOUR_APP_ID",
"app_secret" => "YOUR_APP_SECRET"
}
]
```
For installations from source: ```ruby
gitlab_rails['omniauth_providers'] = [
{
"name" => "twitter",
"app_id" => "YOUR_APP_ID",
"app_secret" => "YOUR_APP_SECRET"
}
]
```
``` For installations from source:
- { name: 'twitter', app_id: 'YOUR_APP_ID',
app_secret: 'YOUR_APP_SECRET' }
```
1. Change 'YOUR_APP_ID' to the API key from Twitter page in step 11. ```
- { name: 'twitter', app_id: 'YOUR_APP_ID',
app_secret: 'YOUR_APP_SECRET' }
```
1. Change 'YOUR_APP_SECRET' to the API secret from the Twitter page in step 11. 1. Change 'YOUR_APP_ID' to the API key from Twitter page in step 11.
1. Save the configuration file. 1. Change 'YOUR_APP_SECRET' to the API secret from the Twitter page in step 11.
1. [Reconfigure][] or [restart GitLab][] for the changes to take effect if you 1. Save the configuration file.
installed GitLab via Omnibus or from source respectively.
1. [Reconfigure][] or [restart GitLab][] for the changes to take effect if you
installed GitLab via Omnibus or from source respectively.
On the sign in page there should now be a Twitter icon below the regular sign in form. Click the icon to begin the authentication process. Twitter will ask the user to sign in and authorize the GitLab application. If everything goes well the user will be returned to GitLab and will be signed in. On the sign in page there should now be a Twitter icon below the regular sign in form. Click the icon to begin the authentication process. Twitter will ask the user to sign in and authorize the GitLab application. If everything goes well the user will be returned to GitLab and will be signed in.
......
...@@ -13,7 +13,7 @@ NOTE: **Note:** ...@@ -13,7 +13,7 @@ NOTE: **Note:**
Support for MySQL was removed in GitLab 12.1. This procedure should be performed Support for MySQL was removed in GitLab 12.1. This procedure should be performed
**before** installing GitLab 12.1. **before** installing GitLab 12.1.
[pgloader](http://pgloader.io) 3.4.1+ is required. [pgloader](https://pgloader.io/) 3.4.1+ is required.
You can install it directly from your distribution, for example in You can install it directly from your distribution, for example in
Debian/Ubuntu: Debian/Ubuntu:
...@@ -59,7 +59,7 @@ pgloader within the container as it is not included in the container image. ...@@ -59,7 +59,7 @@ pgloader within the container as it is not included in the container image.
``` ```
1. Install pgloader: 1. Install pgloader:
``` bash ``` bash
apt-get update apt-get update
apt-get -y install pgloader apt-get -y install pgloader
......
...@@ -76,7 +76,7 @@ sudo gem install bundler --no-document --version '< 2' ...@@ -76,7 +76,7 @@ sudo gem install bundler --no-document --version '< 2'
NOTE: Beginning in GitLab 11.8, we only support node 8 or higher, and dropped NOTE: Beginning in GitLab 11.8, we only support node 8 or higher, and dropped
support for node 6. Be sure to upgrade if necessary. support for node 6. Be sure to upgrade if necessary.
GitLab utilizes [webpack](http://webpack.js.org) to compile frontend assets. GitLab utilizes [webpack](https://webpack.js.org/) to compile frontend assets.
This requires a minimum version of node v8.10.0. This requires a minimum version of node v8.10.0.
You can check which version you are running with `node -v`. If you are running You can check which version you are running with `node -v`. If you are running
......
# Custom instance-level project templates **(PREMIUM ONLY)** # Custom instance-level project templates **(PREMIUM ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing) 11.2. > [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/6860) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
When you create a new [project](../project/index.md), creating it based on custom project templates is When you create a new [project](../project/index.md), creating it based on custom project templates is
a convenient bootstrap option. a convenient bootstrap option.
......
...@@ -5,7 +5,7 @@ type: reference ...@@ -5,7 +5,7 @@ type: reference
# External authorization control **(CORE ONLY)** # External authorization control **(CORE ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/4216) in > [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/4216) in
> [GitLab Premium](https://about.gitlab.com/pricing) 10.6. > [GitLab Premium](https://about.gitlab.com/pricing/) 10.6.
> [Moved](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27056) to > [Moved](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27056) to
> [GitLab Core](https://about.gitlab.com/pricing/) in 11.10. > [GitLab Core](https://about.gitlab.com/pricing/) in 11.10.
......
...@@ -5,7 +5,7 @@ type: reference ...@@ -5,7 +5,7 @@ type: reference
# Instance template repository **(PREMIUM ONLY)** # Instance template repository **(PREMIUM ONLY)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/5986) in > [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/5986) in
> [GitLab Premium](https://about.gitlab.com/pricing) 11.3. > [GitLab Premium](https://about.gitlab.com/pricing/) 11.3.
## Overview ## Overview
......
# AsciiDoc # AsciiDoc
GitLab uses the [Asciidoctor](https://asciidoctor.org) gem to convert AsciiDoc content to HTML5. GitLab uses the [Asciidoctor](https://asciidoctor.org) gem to convert AsciiDoc content to HTML5.
Consult the [Asciidoctor User Manual](https://asciidoctor.org/docs/user-manual) for a complete Asciidoctor reference. Consult the [Asciidoctor User Manual](https://asciidoctor.org/docs/user-manual/) for a complete Asciidoctor reference.
## Syntax ## Syntax
......
# GitLab.com settings # GitLab.com settings
In this page you will find information about the settings that are used on In this page you will find information about the settings that are used on
[GitLab.com](https://about.gitlab.com/pricing). [GitLab.com](https://about.gitlab.com/pricing/).
## SSH host keys fingerprints ## SSH host keys fingerprints
...@@ -260,7 +260,7 @@ The list of GitLab.com specific settings (and their defaults) is as follows: ...@@ -260,7 +260,7 @@ The list of GitLab.com specific settings (and their defaults) is as follows:
| hot_standby_feedback | on | off | | hot_standby_feedback | on | off |
| log_autovacuum_min_duration | 0 | -1 | | log_autovacuum_min_duration | 0 | -1 |
| log_checkpoints | on | off | | log_checkpoints | on | off |
| log_line_prefix | `%t [%p]: [%l-1] ` | empty | | log_line_prefix | `%t [%p]: [%l-1]` | empty |
| log_min_duration_statement | 1000 | -1 | | log_min_duration_statement | 1000 | -1 |
| log_temp_files | 0 | -1 | | log_temp_files | 0 | -1 |
| maintenance_work_mem | 2048MB | 16 MB | | maintenance_work_mem | 2048MB | 16 MB |
......
...@@ -4,7 +4,7 @@ type: reference ...@@ -4,7 +4,7 @@ type: reference
# Custom group-level project templates **(PREMIUM)** # Custom group-level project templates **(PREMIUM)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/6861) in [GitLab Premium](https://about.gitlab.com/pricing) 11.6. > [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/6861) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.6.
When you create a new [project](../project/index.md), creating it based on custom project templates is When you create a new [project](../project/index.md), creating it based on custom project templates is
a convenient bootstrap option. a convenient bootstrap option.
......
...@@ -4,7 +4,7 @@ type: reference ...@@ -4,7 +4,7 @@ type: reference
# Roadmap **(ULTIMATE)** # Roadmap **(ULTIMATE)**
> Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing) 10.5. > Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.5.
An Epic within a group containing **Start date** and/or **Due date** An Epic within a group containing **Start date** and/or **Due date**
can be visualized in a form of a timeline (e.g. a Gantt chart). The Epics Roadmap page can be visualized in a form of a timeline (e.g. a Gantt chart). The Epics Roadmap page
...@@ -30,7 +30,7 @@ Roadmaps can also be [visualized inside an epic](../epics/index.md#roadmap-in-ep ...@@ -30,7 +30,7 @@ Roadmaps can also be [visualized inside an epic](../epics/index.md#roadmap-in-ep
## Timeline duration ## Timeline duration
> Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing) 11.0. > Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.0.
Roadmap supports the following date ranges: Roadmap supports the following date ranges:
......
...@@ -29,7 +29,7 @@ directly in a filesystem level. ...@@ -29,7 +29,7 @@ directly in a filesystem level.
1. Install Oracle JRE 1.8 or newer. On Debian-based Linux distributions you can 1. Install Oracle JRE 1.8 or newer. On Debian-based Linux distributions you can
follow [this article](http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html). follow [this article](http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html).
1. Download SubGit from <https://subgit.com/download/>. 1. Download SubGit from <https://subgit.com/download>.
1. Unpack the downloaded SubGit zip archive to the `/opt` directory. The `subgit` 1. Unpack the downloaded SubGit zip archive to the `/opt` directory. The `subgit`
command will be available at `/opt/subgit-VERSION/bin/subgit`. command will be available at `/opt/subgit-VERSION/bin/subgit`.
......
# Migrating from TFS # Migrating from TFS
[TFS](https://www.visualstudio.com/tfs/) is a set of tools developed by Microsoft [TFS](https://visualstudio.microsoft.com/tfs/) is a set of tools developed by Microsoft
which also includes a centralized version control system (TFVC) similar to Git. which also includes a centralized version control system (TFVC) similar to Git.
In this document, we emphasize on the TFVC to Git migration. In this document, we emphasize on the TFVC to Git migration.
...@@ -18,10 +18,10 @@ The following list illustrates the main differences between TFVC and Git: ...@@ -18,10 +18,10 @@ The following list illustrates the main differences between TFVC and Git:
a committed file(s) is stored in its entirety (snapshot). That means that's a committed file(s) is stored in its entirety (snapshot). That means that's
very easy in Git to revert or undo a whole change. very easy in Git to revert or undo a whole change.
_Check also Microsoft's documentation on the Check also Microsoft's documentation on the
[comparison of Git and TFVC](https://www.visualstudio.com/en-us/docs/tfvc/comparison-git-tfvc) [comparison of Git and TFVC](https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops)
and the Wikipedia article on and the Wikipedia
[comparing the different version control software](https://en.wikipedia.org/wiki/Comparison_of_version_control_software)._ [comparison of version control software](https://en.wikipedia.org/wiki/Comparison_of_version_control_software).
## Why migrate ## Why migrate
......
...@@ -14,7 +14,7 @@ and is automatically configured on [GitHub import](../../../integration/github.m ...@@ -14,7 +14,7 @@ and is automatically configured on [GitHub import](../../../integration/github.m
### Complete these steps on GitHub ### Complete these steps on GitHub
This integration requires a [GitHub API token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) This integration requires a [GitHub API token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line)
with `repo:status` access granted: with `repo:status` access granted:
1. Go to your "Personal access tokens" page at <https://github.com/settings/tokens> 1. Go to your "Personal access tokens" page at <https://github.com/settings/tokens>
......
...@@ -18,6 +18,7 @@ Once enabled, GitLab will automatically detect metrics from known services in th ...@@ -18,6 +18,7 @@ Once enabled, GitLab will automatically detect metrics from known services in th
## Enabling Prometheus Integration ## Enabling Prometheus Integration
### Managed Prometheus on Kubernetes ### Managed Prometheus on Kubernetes
> **Note**: [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/28916) in GitLab 10.5 > **Note**: [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/28916) in GitLab 10.5
GitLab can seamlessly deploy and manage Prometheus on a [connected Kubernetes cluster](../clusters/index.md), making monitoring of your apps easy. GitLab can seamlessly deploy and manage Prometheus on a [connected Kubernetes cluster](../clusters/index.md), making monitoring of your apps easy.
...@@ -39,9 +40,9 @@ Once you have a connected Kubernetes cluster with Helm installed, deploying a ma ...@@ -39,9 +40,9 @@ Once you have a connected Kubernetes cluster with Helm installed, deploying a ma
#### About managed Prometheus deployments #### About managed Prometheus deployments
Prometheus is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/kubernetes/charts/tree/master/stable/prometheus). Prometheus is only accessible within the cluster, with GitLab communicating through the [Kubernetes API](https://kubernetes.io/docs/concepts/overview/kubernetes-api/). Prometheus is deployed into the `gitlab-managed-apps` namespace, using the [official Helm chart](https://github.com/helm/charts/tree/master/stable/prometheus). Prometheus is only accessible within the cluster, with GitLab communicating through the [Kubernetes API](https://kubernetes.io/docs/concepts/overview/kubernetes-api/).
The Prometheus server will [automatically detect and monitor](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Ckubernetes_sd_config%3E) nodes, pods, and endpoints. To configure a resource to be monitored by Prometheus, simply set the following [Kubernetes annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/): The Prometheus server will [automatically detect and monitor](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config) nodes, pods, and endpoints. To configure a resource to be monitored by Prometheus, simply set the following [Kubernetes annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/):
- `prometheus.io/scrape` to `true` to enable monitoring of the resource. - `prometheus.io/scrape` to `true` to enable monitoring of the resource.
- `prometheus.io/port` to define the port of the metrics endpoint. - `prometheus.io/port` to define the port of the metrics endpoint.
...@@ -66,9 +67,9 @@ Integration with Prometheus requires the following: ...@@ -66,9 +67,9 @@ Integration with Prometheus requires the following:
Installing and configuring Prometheus to monitor applications is fairly straight forward. Installing and configuring Prometheus to monitor applications is fairly straight forward.
1. [Install Prometheus](https://prometheus.io/docs/introduction/install/) 1. [Install Prometheus](https://prometheus.io/docs/prometheus/latest/installation/)
1. Set up one of the [supported monitoring targets](prometheus_library/index.md) 1. Set up one of the [supported monitoring targets](prometheus_library/index.md)
1. Configure the Prometheus server to [collect their metrics](https://prometheus.io/docs/operating/configuration/#scrape_config) 1. Configure the Prometheus server to [collect their metrics](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config)
#### Configuration in GitLab #### Configuration in GitLab
......
...@@ -20,7 +20,7 @@ The [Prometheus service](../prometheus.md) must be enabled. ...@@ -20,7 +20,7 @@ The [Prometheus service](../prometheus.md) must be enabled.
To get started with Cloudwatch monitoring, you should install and configure the [Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter) which retrieves and parses the specified Cloudwatch metrics and translates them into a Prometheus monitoring endpoint. To get started with Cloudwatch monitoring, you should install and configure the [Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter) which retrieves and parses the specified Cloudwatch metrics and translates them into a Prometheus monitoring endpoint.
Right now, the only AWS resource supported is the Elastic Load Balancer, whose Cloudwatch metrics can be found [here](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html). Right now, the only AWS resource supported is the Elastic Load Balancer, whose Cloudwatch metrics are [documented here](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html).
A sample Cloudwatch Exporter configuration file, configured for basic AWS ELB monitoring, is [available for download](../samples/cloudwatch.yml). A sample Cloudwatch Exporter configuration file, configured for basic AWS ELB monitoring, is [available for download](../samples/cloudwatch.yml).
......
...@@ -6,7 +6,7 @@ The Slack Notifications Service allows your GitLab project to send events (e.g. ...@@ -6,7 +6,7 @@ The Slack Notifications Service allows your GitLab project to send events (e.g.
## Slack Configuration ## Slack Configuration
1. Sign in to your Slack team and [start a new Incoming WebHooks configuration](https://my.slack.com/services/new/incoming-webhook/). 1. Sign in to your Slack team and [start a new Incoming WebHooks configuration](https://my.slack.com/services/new/incoming-webhook).
1. Select the Slack channel where notifications will be sent to by default. Click the **Add Incoming WebHooks integration** button to add the configuration. 1. Select the Slack channel where notifications will be sent to by default. Click the **Add Incoming WebHooks integration** button to add the configuration.
1. Copy the **Webhook URL**, which we'll use later in the GitLab configuration. 1. Copy the **Webhook URL**, which we'll use later in the GitLab configuration.
......
...@@ -19,7 +19,7 @@ tool for measuring the performance of web sites, and has built a simple ...@@ -19,7 +19,7 @@ tool for measuring the performance of web sites, and has built a simple
which outputs the results in a file called `performance.json`. This plugin which outputs the results in a file called `performance.json`. This plugin
outputs the performance score for each page that is analyzed. outputs the performance score for each page that is analyzed.
The [Sitespeed.io performance score](http://examples.sitespeed.io/6.0/2017-11-23-23-43-35/help.html) The [Sitespeed.io performance score](https://examples.sitespeed.io/6.0/2017-11-23-23-43-35/help.html)
is a composite value based on best practices, and we will be expanding support is a composite value based on best practices, and we will be expanding support
for [additional metrics](https://gitlab.com/gitlab-org/gitlab-ee/issues/4370) for [additional metrics](https://gitlab.com/gitlab-org/gitlab-ee/issues/4370)
in a future release. in a future release.
......
...@@ -17,8 +17,8 @@ systems. ...@@ -17,8 +17,8 @@ systems.
### Deploying Jaeger ### Deploying Jaeger
To learn more about deploying Jaeger, read the official To learn more about deploying Jaeger, read the official
[Getting Started documentation](https://www.jaegertracing.io/docs/latest/getting-started/). [Getting Started documentation](https://www.jaegertracing.io/docs/1.13/getting-started/).
There is an easy to use [all-in-one Docker image](https://www.jaegertracing.io/docs/latest/getting-started/#AllinoneDockerimage), There is an easy to use [all-in-one Docker image](https://www.jaegertracing.io/docs/1.13/getting-started/#AllinoneDockerimage),
as well as deployment options for [Kubernetes](https://github.com/jaegertracing/jaeger-kubernetes) as well as deployment options for [Kubernetes](https://github.com/jaegertracing/jaeger-kubernetes)
and [OpenShift](https://github.com/jaegertracing/jaeger-openshift). and [OpenShift](https://github.com/jaegertracing/jaeger-openshift).
...@@ -27,8 +27,8 @@ and [OpenShift](https://github.com/jaegertracing/jaeger-openshift). ...@@ -27,8 +27,8 @@ and [OpenShift](https://github.com/jaegertracing/jaeger-openshift).
GitLab provides an easy way to open the Jaeger UI from within your project: GitLab provides an easy way to open the Jaeger UI from within your project:
1. [Set up Jaeger](#deploying-jaeger) and configure your application using one of the 1. [Set up Jaeger](#deploying-jaeger) and configure your application using one of the
[client libraries](https://www.jaegertracing.io/docs/latest/client-libraries/). [client libraries](https://www.jaegertracing.io/docs/1.13/client-libraries/).
1. Navigate to your project's **Settings > Operations** and provide the Jaeger URL. 1. Navigate to your project's **Settings > Operations** and provide the Jaeger URL.
1. Click **Save changes** for the changes to take effect. 1. Click **Save changes** for the changes to take effect.
1. You can now visit **Operations > Tracing** in your project's sidebar and 1. You can now visit **Operations > Tracing** in your project's sidebar and
GitLab will redirect you to the configured Jaeger URL. GitLab will redirect you to the configured Jaeger URL.
\ No newline at end of file
...@@ -54,7 +54,7 @@ to offload local hard disk R/W operations, and free up disk space significantly. ...@@ -54,7 +54,7 @@ to offload local hard disk R/W operations, and free up disk space significantly.
GitLab is tightly integrated with `Fog`, so you can refer to its [documentation](http://fog.io/about/provider_documentation.html) GitLab is tightly integrated with `Fog`, so you can refer to its [documentation](http://fog.io/about/provider_documentation.html)
to check which storage services can be integrated with GitLab. to check which storage services can be integrated with GitLab.
You can also use external object storage in a private local network. For example, You can also use external object storage in a private local network. For example,
[Minio](https://www.minio.io/) is a standalone object storage service, is easy to set up, and works well with GitLab instances. [Minio](https://min.io/) is a standalone object storage service, is easy to set up, and works well with GitLab instances.
GitLab provides two different options for the uploading mechanism: "Direct upload" and "Background upload". GitLab provides two different options for the uploading mechanism: "Direct upload" and "Background upload".
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment