Skip to content

Commit

Permalink
tuf: add add-aci command
Browse files Browse the repository at this point in the history
Basic workflow now looks like:

```
mkdir -p staged/targets/appc.io
cp ace-validator* staged/targets/appc.io
tuf add-aci appc.io/ace-validator-sidekick.aci
tuf snapshot; tuf timestamp; tuf commit
```

Now on the client side:

```
tuf-client list http://127.0.0.1:8000/repository
tuf-client init http://127.0.0.1:8000/repository  /tmp/keys
PATH                                 SIZE  CUSTOM
/appc.io/ace-validator-sidekick.aci  44MB  {"acKind":"ImageManifest","acVersion":"0.2.0","annotations":[{"name":"coreos.com/rocket/stage1/run","value":"/init"},{"name":"coreos.com/rocket/stage1/enter","value":"/enter"}],"labels":[{"name":"version","value":"0.0.1"},{"name":"arch","value":"amd64"},{"name":"os","value":"linux"}],"name":"coreos.com/rocket/stage1"}
```
  • Loading branch information
Brandon Philips committed Mar 18, 2015
1 parent 6679afa commit 90193e0
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions cmd/tuf/add-aci.go
@@ -0,0 +1,49 @@
package main

import (
"encoding/json"
"os"

"github.com/appc/spec/aci"
"github.com/flynn/go-tuf"
"github.com/flynn/go-tuf/Godeps/_workspace/src/github.com/flynn/go-docopt"
)

func init() {
register("add-aci", cmdAddACI, `
usage: tuf add-aci [--expires=<days>] [<path>...]

Add target file(s).

Options:
--expires=<days> Set the targets manifest to expire <days> days from now.
`)
}

func cmdAddACI(args *docopt.Args, repo *tuf.Repo) error {
var custom json.RawMessage
if c := args.String["--custom"]; c != "" {
custom = json.RawMessage(c)
}
paths := args.All["<path>"].([]string)
f, err := os.Open("staged/targets/" + paths[0])
if err != nil {
panic(err)
}
img, err := aci.ManifestFromImage(f)
if err != nil {
panic(err)
}
custom, err = img.MarshalJSON()
if err != nil {
panic(err)
}
if arg := args.String["--expires"]; arg != "" {
expires, err := parseExpires(arg)
if err != nil {
return err
}
return repo.AddTargetsWithExpires(paths, custom, expires)
}
return repo.AddTargets(paths, custom)
}

0 comments on commit 90193e0

Please sign in to comment.