Added some Gitaly docs to docs/development
This commit is contained in:
parent
0bba522f74
commit
0aef7d27e5
2 changed files with 55 additions and 0 deletions
|
@ -44,6 +44,7 @@
|
||||||
- [Building a package for testing purposes](build_test_package.md)
|
- [Building a package for testing purposes](build_test_package.md)
|
||||||
- [Manage feature flags](feature_flags.md)
|
- [Manage feature flags](feature_flags.md)
|
||||||
- [View sent emails or preview mailers](emails.md)
|
- [View sent emails or preview mailers](emails.md)
|
||||||
|
- [Working with Gitaly](gitaly.md)
|
||||||
|
|
||||||
## Databases
|
## Databases
|
||||||
|
|
||||||
|
|
54
doc/development/gitaly.md
Normal file
54
doc/development/gitaly.md
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
# GitLab Developers Guide to Working with Gitaly
|
||||||
|
|
||||||
|
[Gitaly](https://gitlab.com/gitlab-org/gitaly) is a high-level Git RPC service used by GitLab CE/EE,
|
||||||
|
Workhorse and GitLab-Shell. All Rugged operations in GitLab CE/EE are currently being phased out to
|
||||||
|
be replaced by Gitaly API calls.
|
||||||
|
|
||||||
|
Visit the [Gitaly Migration Board](https://gitlab.com/gitlab-org/gitaly/boards/331341) for current
|
||||||
|
status of the migration.
|
||||||
|
|
||||||
|
## Feature Flags
|
||||||
|
|
||||||
|
Gitaly makes heavy use of [feature flags](feature_flags.md).
|
||||||
|
|
||||||
|
Each Rugged-to-Gitaly migration goes through a [series of phases](https://gitlab.com/gitlab-org/gitaly/blob/master/doc/MIGRATION_PROCESS.md):
|
||||||
|
* **Opt-In**: by default the Rugged implementation is used.
|
||||||
|
* Production instances can choose to enable the Gitaly endpoint by enabling the feature flag.
|
||||||
|
* For testing purposes, you may wish to enable all feature flags by default. This can be done by exporting the following
|
||||||
|
environment variable: `GITALY_FEATURE_DEFAULT_ON=1`.
|
||||||
|
* On developer instances (ie, when `Rails.env.development?` is true), the Gitaly endpoint
|
||||||
|
is enabled by default, but can be _disabled_ using feature flags.
|
||||||
|
* **Opt-Out**: by default, the Gitaly endpoint is used, but the feature can be explicitly disabled using the feature flag.
|
||||||
|
* **Madatory**: The migration is complete and cannot be disabled. The old codepath is removed.
|
||||||
|
|
||||||
|
### Enabling and Disabling Feature
|
||||||
|
|
||||||
|
In the Rails console, type:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Feature.enable(:gitaly_feature_name)
|
||||||
|
Feature.disable(:gitaly_feature_name)
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `gitaly_feature_name` is the name of the Gitaly feature. This can be determined by finding the appropriate
|
||||||
|
`gitaly_migrate` code block, for example:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
gitaly_migrate(:tag_names) do
|
||||||
|
...
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Since Gitaly features are always prefixed with `gitaly_`, the name of the feature flag in this case would be `gitaly_tag_names`.
|
||||||
|
|
||||||
|
## Gitaly-Related Test Failures
|
||||||
|
|
||||||
|
If your test-suite is failing with Gitaly issues, as a first step, try running:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
rm -rf tmp/tests/gitaly
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[Return to Development documentation](README.md)
|
Loading…
Reference in a new issue