// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 // arvados-git-httpd provides authenticated access to Arvados-hosted // git repositories. // // See http://doc.arvados.org/install/install-arv-git-httpd.html. package main import ( "flag" "fmt" "os" "github.com/ghodss/yaml" ) func usage() { c := defaultConfig() c.Client.APIHost = "zzzzz.arvadosapi.com:443" exampleConfigFile, err := yaml.Marshal(c) if err != nil { panic(err) } fmt.Fprintf(os.Stderr, ` arvados-git-httpd provides authenticated access to Arvados-hosted git repositories. See http://doc.arvados.org/install/install-arv-git-httpd.html. Usage: arvados-git-httpd [-config path/to/arvados/git-httpd.yml] Options: `) flag.PrintDefaults() fmt.Fprintf(os.Stderr, ` Example config file: %s Client.APIHost: Address (or address:port) of the Arvados API endpoint. Client.AuthToken: Unused. Normally empty, or omitted entirely. Client.Insecure: True if your Arvados API endpoint uses an unverifiable SSL/TLS certificate. GitCommand: Path to git or gitolite-shell executable. Each authenticated request will execute this program with the single argument "http-backend". GitoliteHome: Path to Gitolite's home directory. If a non-empty path is given, the CGI environment will be set up to support the use of gitolite-shell as a GitCommand: for example, if GitoliteHome is "/gh", then the CGI environment will have GITOLITE_HTTP_HOME=/gh, PATH=$PATH:/gh/bin, and GL_BYPASS_ACCESS_CHECKS=1. Listen: Local port to listen on. Can be "address:port" or ":port", where "address" is a host IP address or name and "port" is a port number or name. RepoRoot: Path to git repositories. `, exampleConfigFile) }