X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/db31bedb109a4d918830a910654685a9f591cf28..3236e0cbbe0fcb9e684d63a0ffac4d1f4a0d96b8:/doc/install/install-arv-git-httpd.html.textile.liquid
diff --git a/doc/install/install-arv-git-httpd.html.textile.liquid b/doc/install/install-arv-git-httpd.html.textile.liquid
index 964f5a25ac..476c89005f 100644
--- a/doc/install/install-arv-git-httpd.html.textile.liquid
+++ b/doc/install/install-arv-git-httpd.html.textile.liquid
@@ -34,10 +34,10 @@ Git services must be installed on the same host as the Arvados Rails API server.
h2(#dependencies). Install dependencies
-h3. Centos 7
+h3. Alma/CentOS/Red Hat/Rocky
# yum install git perl-Data-Dumper openssh-server
+
# dnf install git perl-Data-Dumper openssh-server
# su git
+
$ sudo -u git -i bash
git@gitserver:~$ echo 'PATH=$HOME/bin:$PATH' >.profile
git@gitserver:~$ . .profile
-git@gitserver:~$ git clone --branch v3.6.4 https://github.com/sitaramc/gitolite
+git@gitserver:~$ git clone --branch v3.6.11 https://github.com/sitaramc/gitolite
...
Note: checking out '5d24ae666bfd2fa9093d67c840eb8d686992083f'.
...
@@ -176,6 +176,15 @@ Create a configuration file @/var/www/arvados-api/current/config/arvados-clients
+$ sudo chown git:git /var/www/arvados-api/current/config/arvados-clients.yml +$ sudo chmod og-rwx /var/www/arvados-api/current/config/arvados-clients.yml ++ +h3. Test configuration + +notextile.
$ sudo -u git -i bash -c 'cd /var/www/arvados-api/current && bin/bundle exec script/arvados-git-sync.rb production'
+
h3. Enable the synchronization script
The API server package includes a script that retrieves the current set of repository names and permissions from the API, writes them to @arvadosaliases.pl@ in a format usable by gitolite, and triggers gitolite hooks which create new empty repositories if needed. This script should run every 2 to 5 minutes.
@@ -183,47 +192,43 @@ The API server package includes a script that retrieves the current set of repos
Create @/etc/cron.d/arvados-git-sync@ with the following content:
*/5 * * * * git cd /var/www/arvados-api/current && bundle exec script/arvados-git-sync.rb production
+*/5 * * * * git cd /var/www/arvados-api/current && bin/bundle exec script/arvados-git-sync.rb production
Services:
GitSSH:
- ExternalURL: git@git.ClusterID.example.com:
+ ExternalURL: "ssh://git@git.ClusterID.example.com"
GitHTTP:
ExternalURL: https://git.ClusterID.example.com/
InternalURLs:
- "http://git.ClusterID.example.com:9001": {}
+ "http://localhost:9001": {}
Git:
GitCommand: /var/lib/arvados/git/gitolite/src/gitolite-shell
GitoliteHome: /var/lib/arvados/git
- Repositories: /var/lib/arvados/git/repositories
+ Repositories: /var/lib/arvados/git/repositories
-upstream arvados-git-httpd {
+upstream arvados-git-httpd {
server 127.0.0.1:9001;
}
server {
- listen [your public IP address]:443 ssl;
+ listen 443 ssl;
server_name git.ClusterID.example.com;
proxy_connect_timeout 90s;
proxy_read_timeout 300s;
- ssl on;
ssl_certificate /YOUR/PATH/TO/cert.pem;
ssl_certificate_key /YOUR/PATH/TO/cert.key;
@@ -241,10 +246,10 @@ h2(#install-packages). Install the arvados-git-httpd package
The arvados-git-httpd package provides HTTP access, using Arvados authentication tokens instead of passwords. It must be installed on the system where your git repositories are stored.
-h3. Centos 7
+h3. Alma/CentOS/Red Hat/Rocky
-# yum install arvados-git-httpd
+# dnf install arvados-git-httpd
@@ -269,13 +274,15 @@ h2(#confirm-working). Confirm working installation
Create 'testrepo' in the Arvados database.
-~$ arv --format=uuid repository create --repository '{"name":"testrepo"}'
+~$ arv --format=uuid repository create --repository '{"name":"myusername/testrepo"}'
The arvados-git-sync cron job will notice the new repository record and create a repository on disk. Because it is on a timer (default 5 minutes) you may have to wait a minute or two for it to show up.
h3. SSH
+Before you do this, go to Workbench and choose *SSH Keys* from the menu, and upload your public key. Arvados uses the public key to identify you when you access the git repo.
+
~$ git clone git@git.ClusterID.example.com:username/testrepo.git
@@ -283,7 +290,7 @@ h3. SSH
h3. HTTP
-Set up git credential helpers as described in "install shell server":install-shell-server.html for the "git push" command to use your API token instead of prompting you for a username and password.
+Set up git credential helpers as described in "install shell server":install-shell-server.html#config-git for the git command to use your API token instead of prompting you for a username and password.
~$ git clone https://git.ClusterID.example.com/username/testrepo.git