Skip to content
Snippets Groups Projects
Commit d05eebe1 authored by Evan Read's avatar Evan Read Committed by Achilleas Pipinellis
Browse files

Fix most bare URLs in project

Linting rule not enabled for now
because tooling produces false
positives.
parent 10a3ef22
No related branches found
No related tags found
No related merge requests found
Showing
with 55 additions and 48 deletions
Loading
Loading
@@ -67,8 +67,8 @@ docs lint:
- cd /tmp/gitlab-docs
# Lint Markdown
# https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md
- bundle exec mdl content/$DOCS_GITLAB_REPO_SUFFIX/**/*.md --rules \
MD004,MD032
- bundle exec mdl content/$DOCS_GITLAB_REPO_SUFFIX/**/*.md --ignore-front-matter --rules \
MD004,MD032,MD034
# Build HTML from Markdown
- bundle exec nanoc
# Check the internal links
Loading
Loading
Loading
Loading
@@ -13,7 +13,7 @@ The steps below cover:
 
## Configuring Google LDAP client
 
1. Navigate to https://admin.google.com and sign in as a GSuite domain administrator.
1. Navigate to <https://admin.google.com> and sign in as a GSuite domain administrator.
 
1. Go to **Apps > LDAP > Add Client**.
 
Loading
Loading
Loading
Loading
@@ -185,7 +185,7 @@ group, as opposed to the full DN.
 
## Global group memberships lock
 
"Lock memberships to LDAP synchronization" setting allows instance administrators
"Lock memberships to LDAP synchronization" setting allows instance administrators
to lock down user abilities to invite new members to a group. When enabled following happens:
 
1. Only administrator can manage memberships of any group including access levels.
Loading
Loading
@@ -198,14 +198,14 @@ to lock down user abilities to invite new members to a group. When enabled follo
 
NOTE: **Note:**
These are cron formatted values. You can use a crontab generator to create
these values, for example http://www.crontabgenerator.com/.
these values, for example <http://www.crontabgenerator.com/>.
 
By default, GitLab will run a worker once per day at 01:30 a.m. server time to
check and update GitLab users against LDAP.
 
You can manually configure LDAP user sync times by setting the
following configuration values. The example below shows how to set LDAP user
sync to run once every 12 hours at the top of the hour.
sync to run once every 12 hours at the top of the hour.
 
**Omnibus installations**
 
Loading
Loading
@@ -233,7 +233,7 @@ sync to run once every 12 hours at the top of the hour.
 
NOTE: **Note:**
These are cron formatted values. You can use a crontab generator to create
these values, for example http://www.crontabgenerator.com/.
these values, for example <http://www.crontabgenerator.com/>.
 
By default, GitLab will run a group sync process every hour, on the hour.
 
Loading
Loading
@@ -245,8 +245,8 @@ for installations with a large number of LDAP users. Please review the
your installation compares before proceeding.
 
You can manually configure LDAP group sync times by setting the
following configuration values. The example below shows how to set group
sync to run once every 2 hours at the top of the hour.
following configuration values. The example below shows how to set group
sync to run once every 2 hours at the top of the hour.
 
**Omnibus installations**
 
Loading
Loading
Loading
Loading
@@ -383,7 +383,6 @@ The prerequisites for a HA Redis setup are the following:
redis['password'] = 'redis-password-goes-here'
```
 
1. Only the primary GitLab application server should handle migrations. To
prevent database migrations from running on upgrade, add the following
configuration to your `/etc/gitlab/gitlab.rb` file:
Loading
Loading
@@ -396,7 +395,7 @@ The prerequisites for a HA Redis setup are the following:
 
> Note: You can specify multiple roles like sentinel and redis as:
> roles ['redis_sentinel_role', 'redis_master_role']. Read more about high
> availability roles at https://docs.gitlab.com/omnibus/roles/
> availability roles at <https://docs.gitlab.com/omnibus/roles/>.
 
### Step 2. Configuring the slave Redis instances
 
Loading
Loading
@@ -445,7 +444,7 @@ The prerequisites for a HA Redis setup are the following:
 
> Note: You can specify multiple roles like sentinel and redis as:
> roles ['redis_sentinel_role', 'redis_slave_role']. Read more about high
> availability roles at https://docs.gitlab.com/omnibus/roles/
> availability roles at <https://docs.gitlab.com/omnibus/roles/>.
 
---
 
Loading
Loading
Loading
Loading
@@ -291,7 +291,6 @@ Parameters:
| `merge_requests_events` | boolean | false | Enable notifications for merge request events |
| `tag_push_events` | boolean | false | Enable notifications for tag push events |
 
### Delete Drone CI service
 
Delete Drone CI service for a project.
Loading
Loading
@@ -744,7 +743,7 @@ Parameters:
| --------- | ---- | -------- | ----------- |
| `username` | string | yes | The username of a Packagist account |
| `token` | string | yes | API token to the Packagist server |
| `server` | boolean | no | URL of the Packagist server. Leave blank for default: https://packagist.org |
| `server` | boolean | no | URL of the Packagist server. Leave blank for default: <https://packagist.org> |
| `push_events` | boolean | false | Enable notifications for push events |
| `merge_requests_events` | boolean | false | Enable notifications for merge request events |
| `tag_push_events` | boolean | false | Enable notifications for tag push events |
Loading
Loading
@@ -1161,7 +1160,7 @@ PUT /projects/:id/services/jenkins
 
Parameters:
 
- `jenkins_url` (**required**) - Jenkins URL like http://jenkins.example.com
- `jenkins_url` (**required**) - Jenkins URL like `http://jenkins.example.com`
- `project_name` (**required**) - The URL-friendly project name. Example: my_project_name
- `username` (optional) - A user with access to the Jenkins server, if applicable
- `password` (optional) - The password of the user
Loading
Loading
@@ -1196,7 +1195,7 @@ PUT /projects/:id/services/jenkins-deprecated
 
Parameters:
 
- `project_url` (**required**) - Jenkins project URL like http://jenkins.example.com/job/my-project/
- `project_url` (**required**) - Jenkins project URL like `http://jenkins.example.com/job/my-project/`
- `multiproject_enabled` (optional) - Multi-project mode is configured in Jenkins GitLab Hook plugin
- `pass_unstable` (optional) - Unstable builds will be treated as passing
 
Loading
Loading
Loading
Loading
@@ -40,7 +40,7 @@ A complete architecture diagram is available in our
 
![Simplified Component Overview](img/architecture_simplified.png)
 
<!--
<!--
To update this diagram, GitLab team members can edit this source file:
https://docs.google.com/drawings/d/1fBzAyklyveF-i-2q-OHUIqDkYfjjxC4mq5shwKSZHLs/edit.
-->
Loading
Loading
@@ -304,7 +304,7 @@ GitLab is comprised of a large number of services that all log. We started bundl
- Configuration: [Omnibus][mattermost-omnibus], [Charts][mattermost-charts]
- Layer: Core Service (Processor)
 
Mattermost is an open source, private cloud, Slack-alternative from https://mattermost.com.
Mattermost is an open source, private cloud, Slack-alternative from <https://mattermost.com>.
 
#### MinIO
 
Loading
Loading
@@ -321,7 +321,7 @@ MinIO is an object storage server released under Apache License v2.0. It is comp
- Layer: Core Service (Processor)
- Process: `nginx`
 
Nginx as an ingress port for all HTTP requests and routes them to the approriate sub-systems within GitLab. We are bundling an unmodified version of the popular open source webserver.
Nginx as an ingress port for all HTTP requests and routes them to the appropriate sub-systems within GitLab. We are bundling an unmodified version of the popular open source webserver.
 
#### Node Exporter
 
Loading
Loading
Loading
Loading
@@ -151,7 +151,7 @@ The table below shows what kind of documentation goes where.
applies to images.
1. For image files, do not exceed 100KB.
1. Do not upload video files to the product repositories.
[Link or embed videos](#videos) instead.
[Link or embed videos](#videos) instead.
1. There are four main directories, `user`, `administration`, `api` and `development`.
1. The `doc/user/` directory has five main subdirectories: `project/`, `group/`,
`profile/`, `dashboard/` and `admin_area/`.
Loading
Loading
@@ -179,7 +179,7 @@ The table below shows what kind of documentation goes where.
If you are unsure where a document or a content addition should live, this should
not stop you from authoring and contributing. You can use your best judgment and
then ask the reviewer of your MR to confirm your decision, and/or ask a technical writer
at any stage in the process. The techncial writing team will review all documentation
at any stage in the process. The technical writing team will review all documentation
changes, regardless, and can move content if there is a better place for it.
 
### Avoid duplication
Loading
Loading
@@ -476,7 +476,7 @@ Do not upload videos to the product repositories. [Link](#link-to-video) or [emb
 
### Link to video
 
To link out to a video, include a YouTube icon so that readers can
To link out to a video, include a YouTube icon so that readers can
quickly and easily scan the page for videos before reading:
 
```md
Loading
Loading
Loading
Loading
@@ -65,7 +65,7 @@ Search queries are generated by the concerns found in [ee/app/models/concerns/el
 
## Existing Analyzers/Tokenizers/Filters
 
These are all defined in https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/lib/elasticsearch/git/model.rb
These are all defined in <https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/lib/elasticsearch/git/model.rb>
 
### Analyzers
 
Loading
Loading
Loading
Loading
@@ -6,6 +6,7 @@ easy to maintain, and performant for the end-user.
## Rules
 
### Utility Classes
As part of the effort for [cleaning up our CSS and moving our components into GitLab-UI](https://gitlab.com/groups/gitlab-org/-/epics/950)
led by the [GitLab UI WG](https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/20623) we prefer the use of utility classes over adding new CSS. However, complex CSS can be addressed by adding component classes.
 
Loading
Loading
@@ -31,12 +32,12 @@ New utility classes should be added to [`utilities.scss`](https://gitlab.com/git
 
#### When should I create component classes?
 
We recommend a "utility-first" approach.
We recommend a "utility-first" approach.
 
1. Start with utility classes.
2. If composing utility classes into a component class removes code duplication and encapsulates a clear responsibility, do it.
 
This encourages an organic growth of component classes and prevents the creation of one-off unreusable classes. Also, the kind of classes that emerge from "utility-first" tend to be design-centered (e.g. `.button`, `.alert`, `.card`) rather than domain-centered (e.g. `.security-report-widget`, `.commit-header-icon`).
This encourages an organic growth of component classes and prevents the creation of one-off unreusable classes. Also, the kind of classes that emerge from "utility-first" tend to be design-centered (e.g. `.button`, `.alert`, `.card`) rather than domain-centered (e.g. `.security-report-widget`, `.commit-header-icon`).
 
Examples of component classes that were created using "utility-first" include:
 
Loading
Loading
@@ -45,8 +46,8 @@ Examples of component classes that were created using "utility-first" include:
 
Inspiration:
 
- https://tailwindcss.com/docs/utility-first
- https://tailwindcss.com/docs/extracting-components
- <https://tailwindcss.com/docs/utility-first>
- <https://tailwindcss.com/docs/extracting-components>
 
### Naming
 
Loading
Loading
Loading
Loading
@@ -49,7 +49,9 @@ provided as a prop to the main component.
Be sure to read about [page-specific JavaScript][page_specific_javascript].
 
### Bootstrapping Gotchas
#### Providing data from HAML to JavaScript
While mounting a Vue application may be a need to provide data from Rails to JavaScript.
To do that, provide the data through `data` attributes in the HTML element and query them while mounting the application.
 
Loading
Loading
@@ -83,7 +85,8 @@ document.addEventListener('DOMContentLoaded', () => new Vue({
```
 
#### Accessing the `gl` object
When we need to query the `gl` object for data that won't change during the application's life cyle, we should do it in the same place where we query the DOM.
When we need to query the `gl` object for data that won't change during the application's life cycle, we should do it in the same place where we query the DOM.
By following this practice, we can avoid the need to mock the `gl` object, which will make tests easier.
It should be done while initializing our Vue instance, and the data should be provided as `props` to the main component:
 
Loading
Loading
@@ -118,6 +121,7 @@ You can read more about components in Vue.js site, [Component System][component-
### A folder for the Store
 
#### Vuex
Check this [page](vuex.md) for more details.
 
### Mixing Vue and jQuery
Loading
Loading
@@ -212,6 +216,7 @@ describe('Todos App', () => {
```
 
### `mountComponent` helper
There is a helper in `spec/javascripts/helpers/vue_mount_component_helper.js` that allows you to mount a component with the given props:
 
```javascript
Loading
Loading
@@ -225,10 +230,12 @@ const vm = mountComponent(Component, data);
```
 
### Test the component's output
The main return value of a Vue component is the rendered output. In order to test the component we
need to test the rendered output. [Vue][vue-test] guide's to unit test show us exactly that:
 
## Vue.js Expert Role
One should apply to be a Vue.js expert by opening an MR when the Merge Request's they create and review show:
 
- Deep understanding of Vue and Vuex reactivy
Loading
Loading
# Feature flags process
## Feature flags for user applications
 
This document only covers feature flags used in the development of GitLab
Loading
Loading
@@ -12,12 +13,12 @@ should be leveraged:
 
- By default, the feature flags should be **off**.
- Feature flags should remain in the codebase for as short period as possible
to reduce the need for feature flag accounting.
to reduce the need for feature flag accounting.
- The person operating with feature flags is responsible for clearly communicating
the status of a feature behind the feature flag with responsible stakeholders.
the status of a feature behind the feature flag with responsible stakeholders.
- Merge requests that make changes hidden behind a feature flag, or remove an
existing feature flag because a feature is deemed stable must have the
~"feature flag" label assigned.
existing feature flag because a feature is deemed stable must have the
~"feature flag" label assigned.
 
One might be tempted to think that feature flags will delay the release of a
feature by at least one month (= one release). This is not the case. A feature
Loading
Loading
@@ -64,12 +65,12 @@ to be included in the final self-managed release.
In addition to this, the feature behind feature flag should:
 
- Run in all GitLab.com environments for a sufficient period of time. This time
period depends on the feature behind the feature flag, but as a general rule of
thumb 2-4 working days should be sufficient to gather enough feedback.
period depends on the feature behind the feature flag, but as a general rule of
thumb 2-4 working days should be sufficient to gather enough feedback.
- The feature should be exposed to all users within the GitLab.com plan during
the above mentioned period of time. Exposing the feature to a smaller percentage
or only a group of users might not expose a sufficient amount of information to aid in
making a decision on feature stability.
the above mentioned period of time. Exposing the feature to a smaller percentage
or only a group of users might not expose a sufficient amount of information to aid in
making a decision on feature stability.
 
While rare, release managers may decide to reject picking or revert a change in
a stable branch, even when feature flags are used. This might be necessary if
Loading
Loading
Loading
Loading
@@ -113,7 +113,7 @@ are as follows:
(`pool.source_project`)
 
> TODO Fix invalid SQL data for pools created prior to GitLab 11.11
> https://gitlab.com/gitlab-org/gitaly/issues/1653.
> <https://gitlab.com/gitlab-org/gitaly/issues/1653>.
 
### Assumptions
 
Loading
Loading
@@ -157,7 +157,7 @@ are as follows:
repository.
 
> TODO should forks of forks be deduplicated?
> https://gitlab.com/gitlab-org/gitaly/issues/1532
> <https://gitlab.com/gitlab-org/gitaly/issues/1532>
 
### Consequences
 
Loading
Loading
@@ -215,4 +215,4 @@ the secondary, at which stage Git objects will get deduplicated.
 
> TODO How do we handle the edge case where at the time the Geo
> secondary tries to create the pool repository, the source project does
> not exist? https://gitlab.com/gitlab-org/gitaly/issues/1533
> not exist? <https://gitlab.com/gitlab-org/gitaly/issues/1533>
Loading
Loading
@@ -424,7 +424,7 @@ might find using these gems more convenient:
### Examples
 
You may find some useful examples in this snippet:
https://gitlab.com/gitlab-org/gitlab-ce/snippets/33946
<https://gitlab.com/gitlab-org/gitlab-ce/snippets/33946>
 
[#15607]: https://gitlab.com/gitlab-org/gitlab-ce/issues/15607
[yorickpeterse]: https://gitlab.com/yorickpeterse
Loading
Loading
Loading
Loading
@@ -73,7 +73,7 @@ Similar to source browsing, is [Documentation browsing](https://github.com/pry/p
 
### Command history
 
With <kdb>Ctrl+R</kbd> you can search your [command history](https://github.com/pry/pry/wiki/History).
With **Ctrl+R** you can search your [command history](https://github.com/pry/pry/wiki/History).
 
## Stepping
 
Loading
Loading
---
redirect_to: https://docs.gitlab.com/charts/
redirect_to: 'https://docs.gitlab.com/charts/'
---
 
This document was moved to [another location](https://docs.gitlab.com/charts/).
---
redirect_to: https://docs.gitlab.com/charts/
redirect_to: 'https://docs.gitlab.com/charts/'
---
 
This document was moved to [another location](https://docs.gitlab.com/charts/).
---
redirect_to: https://docs.gitlab.com/runner/install/kubernetes.html
redirect_to: 'https://docs.gitlab.com/runner/install/kubernetes.html'
---
 
This document was moved to [another location](https://docs.gitlab.com/runner/install/kubernetes.html).
---
redirect_to: https://docs.gitlab.com/charts/
redirect_to: 'https://docs.gitlab.com/charts/'
---
 
This document was moved to [another location](https://docs.gitlab.com/charts/).
---
redirect_to: https://docs.gitlab.com/charts/installation/cloud/
redirect_to: 'https://docs.gitlab.com/charts/installation/cloud/'
---
 
This document was moved to [another location](https://docs.gitlab.com/charts/installation/cloud/).
---
redirect_to: https://docs.gitlab.com/charts/installation/cloud/eks.html
redirect_to: 'https://docs.gitlab.com/charts/installation/cloud/eks.html'
---
 
This document was moved to [another location](https://docs.gitlab.com/charts/installation/cloud/eks.html).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment