X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/09a2e88c51e5432e607f2a38466e55b4ba15e887..231a86fd3f7e30e9f66d71d92ad7c26578637e37:/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 b28674de03..7fc332177d 100644 --- a/doc/install/install-arv-git-httpd.html.textile.liquid +++ b/doc/install/install-arv-git-httpd.html.textile.liquid @@ -3,6 +3,11 @@ layout: default navsection: installguide title: Install the Git server ... +{% comment %} +Copyright (C) The Arvados Authors. All rights reserved. + +SPDX-License-Identifier: CC-BY-SA-3.0 +{% endcomment %} Arvados allows users to create their own private and public git repositories, and clone/push them using SSH and HTTPS. @@ -14,6 +19,7 @@ The git hosting setup involves three components. It is not strictly necessary to deploy _both_ SSH and HTTPS access, but we recommend deploying both: * SSH is a more appropriate way to authenticate from a user's workstation because it does not require managing tokens on the client side; * HTTPS is a more appropriate way to authenticate from a shell VM because it does not depend on SSH agent forwarding (SSH clients' agent forwarding features tend to behave as if the remote machine is fully trusted). +* HTTPS is also used by Arvados Composer to access git repositories from the browser. The HTTPS instructions given below will not work if you skip the SSH setup steps. @@ -333,3 +339,47 @@ Restart Nginx to make the Nginx and API server configuration changes take effect
gitserver:~$ sudo nginx -s reload
+
+h2. Clone Arvados repository
+
+Here we create a repository object which will be used to set up a hosted clone of the arvados repository on this cluster.
+
+~$ uuid_prefix=`arv --format=uuid user current | cut -d- -f1`
+~$ echo "Site prefix is '$uuid_prefix'"
+~$ all_users_group_uuid="$uuid_prefix-j7d0g-fffffffffffffff"
+~$ repo_uuid=`arv --format=uuid repository create --repository "{\"owner_uuid\":\"$uuid_prefix-tpzed-000000000000000\", \"name\":\"arvados\"}"`
+~$ echo "Arvados repository uuid is '$repo_uuid'"
+
~$ read -rd $'\000' newlink <<EOF; arv link create --link "$newlink"
+{
+ "tail_uuid":"$all_users_group_uuid",
+ "head_uuid":"$repo_uuid",
+ "link_class":"permission",
+ "name":"can_read"
+}
+EOF
+
~$ cd /tmp
+/tmp$ git clone --bare https://github.com/curoverse/arvados.git
+/tmp git --git-dir arvados.git push https://git.uuid_prefix.your.domain/arvados.git '*:*'
+
+git@git.uuid_prefix.your.domain:arvados.git
using your SSH key, or by logging in to your git server and using sudo.
+
+gitserver:~$ sudo -u git -i bash
+git@gitserver:~$ git clone --bare https://github.com/curoverse/arvados.git /tmp/arvados.git
+git@gitserver:~$ cd /tmp/arvados.git
+git@gitserver:/tmp/arvados.git$ gitolite push /var/lib/arvados/git/repositories/your_arvados_repo_uuid.git '*:*'
+
+