From: Tom Clegg Date: Fri, 11 Mar 2022 14:38:30 +0000 (-0500) Subject: 18700: Add 'arvados-package testinstall -live=vhost' option. X-Git-Tag: 2.5.0~214^2~28 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/105c4f587fa4fedbdc03154da46869803ceedd5f 18700: Add 'arvados-package testinstall -live=vhost' option. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/cmd/arvados-package/cmd.go b/cmd/arvados-package/cmd.go index a64d440749..6e3de08e9f 100644 --- a/cmd/arvados-package/cmd.go +++ b/cmd/arvados-package/cmd.go @@ -65,6 +65,7 @@ type opts struct { TargetOS string Maintainer string Vendor string + Live string } func parseFlags(prog string, args []string, stderr io.Writer) (_ opts, ok bool, exitCode int) { @@ -82,6 +83,7 @@ func parseFlags(prog string, args []string, stderr io.Writer) (_ opts, ok bool, flags.StringVar(&opts.TargetOS, "target-os", opts.TargetOS, "target operating system vendor:version") flags.StringVar(&opts.Maintainer, "package-maintainer", opts.Maintainer, "maintainer to be listed in package metadata") flags.StringVar(&opts.Vendor, "package-vendor", opts.Vendor, "vendor to be listed in package metadata") + flags.StringVar(&opts.Live, "live", opts.Live, "run controller at https://`example.com`, use host's /var/lib/acme/live certificates, wait for ^C before shutting down") flags.BoolVar(&opts.RebuildImage, "rebuild-image", opts.RebuildImage, "rebuild docker image(s) instead of using existing") flags.Usage = func() { fmt.Fprint(flags.Output(), `Usage: arvados-package [options] diff --git a/cmd/arvados-package/install.go b/cmd/arvados-package/install.go index b0a87ba3ba..0e05f96d64 100644 --- a/cmd/arvados-package/install.go +++ b/cmd/arvados-package/install.go @@ -85,9 +85,21 @@ rm /etc/apt/sources.list.d/arvados-local.list versionsuffix = "=" + opts.PackageVersion } cmd := exec.CommandContext(ctx, "docker", "run", "--rm", - "--tmpfs", "/tmp:exec,mode=01777", - "-v", absPackageDir+":/pkg:ro", - "--env", "DEBIAN_FRONTEND=noninteractive", + "--tmpfs=/tmp:exec,mode=01777", + "--volume="+absPackageDir+":/pkg:ro", + "--env=DEBIAN_FRONTEND=noninteractive") + if opts.Live != "" { + cmd.Args = append(cmd.Args, + "--env=domain="+opts.Live, + "--env=bootargs=", + "--publish=:4430-4450:4430-4450", + "--volume=/var/lib/acme:/var/lib/acme:ro") + } else { + cmd.Args = append(cmd.Args, + "--env=domain=localhost", + "--env=bootargs=-shutdown") + } + cmd.Args = append(cmd.Args, depsImageName, "bash", "-c", ` set -e -o pipefail @@ -106,8 +118,8 @@ eatmydata apt-get install --reinstall -y --no-install-recommends arvados-server- SUDO_FORCE_REMOVE=yes apt-get autoremove -y /etc/init.d/postgresql start -arvados-server init -cluster-id x1234 -exec arvados-server boot -listen-host 0.0.0.0 -shutdown +arvados-server init -cluster-id x1234 -domain=$domain +exec arvados-server boot -listen-host=0.0.0.0 $bootargs `) cmd.Stdout = stdout cmd.Stderr = stderr diff --git a/lib/install/init.go b/lib/install/init.go index 1d063506b8..f79fae7820 100644 --- a/lib/install/init.go +++ b/lib/install/init.go @@ -103,49 +103,49 @@ func (initcmd *initCommand) RunCommand(prog string, args []string, stdin io.Read Controller: InternalURLs: "http://0.0.0.0:8003/": {} - ExternalURL: {{printf "%q" ( print "https://" .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4430/" ) }} RailsAPI: InternalURLs: "http://0.0.0.0:8004/": {} Websocket: InternalURLs: "http://0.0.0.0:8005/": {} - ExternalURL: {{printf "%q" ( print "wss://ws." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "wss://." .Domain ":4436/" ) }} Keepbalance: InternalURLs: "http://0.0.0.0:9005/": {} GitHTTP: InternalURLs: "http://0.0.0.0:9001/": {} - ExternalURL: {{printf "%q" ( print "https://git." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4437/" ) }} DispatchCloud: InternalURLs: "http://0.0.0.0:9006/": {} Keepproxy: InternalURLs: "http://0.0.0.0:25108/": {} - ExternalURL: {{printf "%q" ( print "https://keep." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4438/" ) }} WebDAV: InternalURLs: "http://0.0.0.0:9002/": {} - ExternalURL: {{printf "%q" ( print "https://*.collections." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4439/" ) }} WebDAVDownload: InternalURLs: "http://0.0.0.0:8004/": {} - ExternalURL: {{printf "%q" ( print "https://download." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4439/" ) }} Keepstore: InternalURLs: "http://0.0.0.0:25107/": {} Composer: - ExternalURL: {{printf "%q" ( print "https://workbench." .Domain "/composer" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4440/composer" ) }} Workbench1: InternalURLs: "http://0.0.0.0:8001/": {} - ExternalURL: {{printf "%q" ( print "https://workbench." .Domain "/" ) }} - #Workbench2: - # InternalURLs: - # "http://0.0.0.0:8002/": {} - # ExternalURL: {{printf "%q" ( print "https://workbench2." .Domain "/" ) }} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4441/" ) }} + Workbench2: + InternalURLs: + "http://0.0.0.0:8002/": {} + ExternalURL: {{printf "%q" ( print "https://" .Domain ":4442/" ) }} Health: InternalURLs: "http://0.0.0.0:9007/": {}