"Rebalance and garbage-collect data blocks stored in Arvados Keep"
package_go_binary services/keepproxy keepproxy \
"Make a Keep cluster accessible to clients that are not on the LAN"
-package_go_binary services/keepstore keepstore \
+package_go_binary cmd/arvados-server keepstore \
"Keep storage daemon, accessible to clients on the LAN"
package_go_binary services/keep-web keep-web \
"Static web hosting service for user data stored in Arvados Keep"
do_install services/api
do_install services/arv-git-httpd go
do_install services/keepproxy go
- do_install services/keepstore go
do_install services/keep-web go
- do_install services/ws go
}
install_all() {
"git.arvados.org/arvados.git/lib/install"
"git.arvados.org/arvados.git/lib/lsf"
"git.arvados.org/arvados.git/lib/recovercollection"
+ "git.arvados.org/arvados.git/services/keepstore"
"git.arvados.org/arvados.git/services/ws"
)
"dispatch-lsf": lsf.DispatchCommand,
"install": install.Command,
"init": install.InitCommand,
+ "keepstore": keepstore.Command,
"recover-collection": recovercollection.Command,
"ws": ws.Command,
})
Description=Arvados Keep Storage Daemon
Documentation=https://doc.arvados.org/
After=network.target
+AssertPathExists=/etc/arvados/config.yml
# systemd>=230 (debian:9) obeys StartLimitIntervalSec in the [Unit] section
StartLimitIntervalSec=0
runGoProgram{src: "services/arv-git-httpd", svc: super.cluster.Services.GitHTTP},
runGoProgram{src: "services/health", svc: super.cluster.Services.Health},
runGoProgram{src: "services/keepproxy", svc: super.cluster.Services.Keepproxy, depends: []supervisedTask{runPassenger{src: "services/api"}}},
- runGoProgram{src: "services/keepstore", svc: super.cluster.Services.Keepstore},
+ runServiceCommand{name: "keepstore", svc: super.cluster.Services.Keepstore},
runGoProgram{src: "services/keep-web", svc: super.cluster.Services.WebDAV},
runServiceCommand{name: "ws", svc: super.cluster.Services.Websocket, depends: []supervisedTask{seedDatabase{}}},
installPassenger{src: "services/api"},
confdata['Clusters']['zzzzz']['Collections']['BlobSigning'] = blob_signing
with open(conf, 'w') as f:
yaml.safe_dump(confdata, f)
- keep_cmd = ["keepstore", "-config", conf]
+ keep_cmd = ["arvados-server", "keepstore", "-config", conf]
with open(_logfilename('keep{}'.format(n)), WRITE_MODE) as logf:
with open('/dev/null') as _stdin:
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"sync"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
Command = service.Command(arvados.ServiceNameKeepstore, newHandlerOrErrorHandler)
)
-func main() {
- os.Exit(runCommand(os.Args[0], os.Args[1:], os.Stdin, os.Stdout, os.Stderr))
-}
-
func runCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.Writer) int {
args, ok := convertKeepstoreFlagsToServiceFlags(args, ctxlog.FromContext(context.Background()))
if !ok {
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"io"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"gopkg.in/check.v1"
// The HTTP handlers are responsible for enforcing permission policy,
// so these tests must exercise all possible permission permutations.
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"container/list"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"time"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"fmt"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
type MockMutex struct {
AllowLock chan struct{}
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"time"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"strconv"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bufio"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"sync"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"encoding/json"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"errors"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"container/list"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"context"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"bytes"
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
/* A WorkQueue is an asynchronous thread-safe queue manager. It
provides a channel from which items can be read off the queue, and
//
// SPDX-License-Identifier: AGPL-3.0
-package main
+package keepstore
import (
"container/list"