blob: ae188d7dc6b848fdd43ffc414faa0e1a59f69b96 [file] [log] [blame]
package main
import (
"encoding/json"
"io"
"os"
"github.com/flynn/go-docopt"
tuf "github.com/flynn/go-tuf/client"
"github.com/flynn/go-tuf/data"
)
func init() {
register("init", cmdInit, `
usage: tuf-client init [-s|--store=<path>] <url> [<root-keys-file>]
Options:
-s <path> The path to the local file store [default: tuf.db]
Initialize the local file store with root keys.
`)
}
func cmdInit(args *docopt.Args, client *tuf.Client) error {
file := args.String["<root-keys-file>"]
var in io.Reader
if file == "" || file == "-" {
in = os.Stdin
} else {
var err error
in, err = os.Open(file)
if err != nil {
return err
}
}
var rootKeys []*data.Key
if err := json.NewDecoder(in).Decode(&rootKeys); err != nil {
return err
}
return client.Init(rootKeys, len(rootKeys))
}