16360: Don't bypass autofillConfig in production mode.
[arvados.git] / lib / boot / service.go
index 018e9f8bb06fe096a8c680fe7f68b36d809b16c6..77fdc98be038a465b1f240bba1a92e252f8a2f5f 100644 (file)
@@ -30,14 +30,19 @@ func (runner runServiceCommand) String() string {
 }
 
 func (runner runServiceCommand) Run(ctx context.Context, fail func(error), super *Supervisor) error {
-       binfile := filepath.Join(super.tempdir, "bin", "arvados-server")
-       err := super.RunProgram(ctx, super.tempdir, nil, nil, binfile, "-version")
+       binfile := filepath.Join(super.bindir, "arvados-server")
+       err := super.RunProgram(ctx, super.bindir, nil, nil, binfile, "-version")
        if err != nil {
                return err
        }
        super.wait(ctx, runner.depends...)
        for u := range runner.svc.InternalURLs {
                u := u
+               if islocal, err := addrIsLocal(u.Host); err != nil {
+                       return err
+               } else if !islocal {
+                       continue
+               }
                super.waitShutdown.Add(1)
                go func() {
                        defer super.waitShutdown.Done()
@@ -80,6 +85,11 @@ func (runner runGoProgram) Run(ctx context.Context, fail func(error), super *Sup
        super.wait(ctx, runner.depends...)
        for u := range runner.svc.InternalURLs {
                u := u
+               if islocal, err := addrIsLocal(u.Host); err != nil {
+                       return err
+               } else if !islocal {
+                       continue
+               }
                super.waitShutdown.Add(1)
                go func() {
                        defer super.waitShutdown.Done()