Commit 271c2f99 authored by Georges Racinet's avatar Georges Racinet 🦑
Browse files

Grafted and amended changes to INSTALL_HEPTAPOD from heptapod-0-12

The amendment is that the "secondary GitLab Shell" configuration
will stay there for the whole 0.12.x: we simply don't want to
force a change of config in stable releases.

--HG--
branch : heptapod-stable
parent fbcf1098daca
......@@ -115,6 +115,15 @@ Notes:
### Configuration
You need to
1. define Mercurial settings, including some necessary paths
2. create an internal service for Mercurial
3. configure GitLab components to use the proper Mercurial with those settings
4. take care of few special cases, depending on the Heptapod version
#### Defining Mercurial settings
`py-heptapod` ships with a configuration file that perfoms most of the required
and default Mercurial settings for Heptapod
(using the `heptapod` extension, permission policy, etc.)
......@@ -124,14 +133,6 @@ You'll need to use it and add your local installation details.
A simple way is to create a `heptapod.hgrc` file using the `%include` directive.
See the example in `py-heptapod/heptapod/heptapod.example.hgrc`.
Then edit the configuration files for the Rails application
(see `config/gitlab.yml.example`) and GitLab Shell (see `config.yml.example`),
to provide the full path to your `heptapod.hgrc` file, and the `hg` executable
in the `mercurial` section.
Note: in those YaML files, `hgrc` must always be a list. This is for separation
in several files with different persistence properties.
### Internal Mercurial service
Repository content is exposed to GitLab through an internal HTTP service.
......@@ -154,11 +155,35 @@ Again, this `gunicorn` must be able to load the Heptapod Python packages.
Notes:
- Heptapod is not able yet to use Unix domain sockets
- If you want to use another loopback URL, configure the Rails app
accordingly, in `config/gitlab.yml`.
#### Using Mercurial in GitLab
Edit the configuration files for the Rails application
(see `config/gitlab.yml.example`) and GitLab Shell (see `config.yml.example`),
to provide the full path to your `heptapod.hgrc` file, and the `hg` executable
in the `mercurial` section.
Note: in those YaML files, `hgrc` must always be a list. This is for separation
in several files with different persistence properties.
#### Special cases
##### Heptapod 0.12: secondary GitLab shell
You need to copy over `config.yml` and `.gitlab_shell_secret`
from GitLab shell to the appropriate `gitlab-shell` subdirectory of the Gitaly
installation. The exact path may depend on your installation. Worst case is
you'll be told about it in Mercurial logs if pushes don't work.
Reason: we're using the Ruby GitLab Shell code shipping with Gitaly
to tell GitLab about
changes in repositories. This is prone to disappear in favour of a more direct
approach in forthcoming Heptapod versions.
### Validation with the functional tests
- start from an empty set of data (do not even set the instance root password)
......
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