Skip to content

Commit c235fad

Browse files
committed
add new command to show layers that are needed in the repo
1 parent 4f35dbf commit c235fad

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

daemon/cmd/list_needed_layers.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package cmd
2+
3+
import (
4+
"fmt"
5+
"os"
6+
7+
"github.com/spf13/cobra"
8+
9+
"github.com/cvmfs/docker-graphdriver/daemon/lib"
10+
)
11+
12+
func init() {
13+
listNeededLayers.Flags().BoolVarP(&machineFriendly, "machine-friendly", "z", false, "produce machine friendly output, one line of csv")
14+
rootCmd.AddCommand(listNeededLayers)
15+
}
16+
17+
var listNeededLayers = &cobra.Command{
18+
Use: "list-needed-layers",
19+
Short: "Show all the layers that are needed",
20+
Aliases: []string{"list-needed-layer", "ls-layer", "ls-layers", "layer-ls", "layers-ls", "list-layers", "list-layer"},
21+
Run: func(cmd *cobra.Command, args []string) {
22+
layers, err := lib.GetAllNeededLayers()
23+
if err != nil {
24+
fmt.Println(err)
25+
os.Exit(1)
26+
}
27+
for _, layer := range layers {
28+
fmt.Println(layer)
29+
}
30+
os.Exit(0)
31+
},
32+
}

daemon/lib/sql.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,9 +749,9 @@ func GetAllNeededImages() ([]string, error) {
749749
return images, nil
750750
}
751751

752-
var getAllNeededLayers = fmt.Sprint(`
752+
var getAllNeededLayers = fmt.Sprintf(`
753753
SELECT DISTINCT(
754-
'/cvmfs/' || wish.cvmfs_repo || '%s' || substr(json_extract(layers.value, '$.Digest'), 8)
754+
'/cvmfs/' || wish.cvmfs_repo || '/'|| '%s' || '/' || substr(json_extract(layers.value, '$.Digest'), 8)
755755
)
756756
FROM
757757
converted, wish, json_each(converted.manifest, '$.Layers') as layers WHERE

0 commit comments

Comments
 (0)