/
main.go
47 lines (37 loc) · 1.01 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC
// (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S.
// Government retains certain rights in this software.
package main
import (
"flag"
"fmt"
"math/rand"
"time"
"pkg/commands"
"pkg/discovery"
log "pkg/minilog"
)
// universal flags
var (
f_server = flag.String("server", fmt.Sprintf("localhost:%v", discovery.Port), "web service")
f_seed = flag.Int64("seed", 0, "seed for random number generator, 0 means use random seed")
f_dryrun = flag.Bool("dry-run", false, "print updates rather than commit them")
f_overwrite = flag.Bool("overwrite", false, "overwrite values even if already set")
)
var (
dc *discovery.Client
rng *rand.Rand
)
func main() {
flag.Parse()
log.Init()
dc = discovery.New(*f_server)
if *f_seed != 0 {
rng = rand.New(rand.NewSource(*f_seed))
} else {
rng = rand.New(rand.NewSource(time.Now().UnixNano()))
}
if err := commands.Run(); err != nil {
log.Errorln(err)
}
}