9 var exampleConfigFile = []byte(`
12 "APIHost": "zzzzz.arvadosapi.com:443",
23 fmt.Fprintf(os.Stderr, `
25 keep-balance rebalances a set of keepstore servers. It creates new
26 copies of underreplicated blocks, deletes excess copies of
27 overreplicated and unreferenced blocks, and moves blocks to better
28 positions (according to the rendezvous hash algorithm) so clients find
31 Usage: keep-balance -config path/to/config.json [options]
36 fmt.Fprintf(os.Stderr, `
40 Client.AuthToken must be recognized by Arvados as an admin token,
41 and must be recognized by all Keep services as a "data manager
44 Client.Insecure should be true if your Arvados API endpoint uses
45 an unverifiable SSL/TLS certificate.
49 By default, keep-balance operates periodically, i.e.: do a
50 scan/balance operation, sleep, repeat.
52 RunPeriod determines the interval between start times of
53 successive scan/balance operations. If a scan/balance operation
54 takes longer than RunPeriod, the next one will follow it
57 If SIGUSR1 is received during an idle period between operations,
58 the next operation will start immediately.
62 Use the -once flag to do a single operation and then exit. The
63 exit code will be zero if the operation was successful.
67 By default, keep-service computes and reports changes but does not
68 implement them by sending pull and trash lists to the Keep
71 Use the -commit-pull and -commit-trash flags to implement the
76 keep-balance does not attempt to discover whether committed pull
77 and trash requests ever get carried out -- only that they are
78 accepted by the Keep services. If some services are full, new
79 copies of underreplicated blocks might never get made, only