TargetOS string
Maintainer string
Vendor string
+ Live string
}
func parseFlags(prog string, args []string, stderr io.Writer) (_ opts, ok bool, exitCode int) {
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 <subcommand> [options]
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
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
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/": {}