Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
73 changes: 70 additions & 3 deletions cmd/client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"os"
"time"

"github.com/Sirupsen/logrus"
pb "github.com/kubernetes/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
"github.com/urfave/cli"
"golang.org/x/net/context"
Expand Down Expand Up @@ -233,7 +234,7 @@ func main() {
podSandboxCommand,
containerCommand,
runtimeVersionCommand,
pullImageCommand,
imagesCommand,
}

app.Flags = []cli.Flag{
Expand All @@ -250,6 +251,72 @@ func main() {
}
}

var imagesCommand = cli.Command{
Name: "image",
Subcommands: []cli.Command{
pullImageCommand,
removeImageCommand,
listImagesCommand,
},
}

var removeImageCommand = cli.Command{
Name: "delete",
Usage: "delete an image",
Action: func(context *cli.Context) error {
// Set up a connection to the server.
conn, err := getClientConnection()
if err != nil {
return fmt.Errorf("failed to connect: %v", err)
}
defer conn.Close()
client := pb.NewImageServiceClient(conn)
if err := RemoveImage(client, context.Args().Get(0)); err != nil {
return err
}

return nil
},
}

func RemoveImage(client pb.ImageServiceClient, image string) error {
_, err := client.RemoveImage(context.Background(), &pb.RemoveImageRequest{Image: &pb.ImageSpec{Image: &image}})
if err != nil {
return err
}
return nil
}

var listImagesCommand = cli.Command{
Name: "list",
Usage: "list images",
Action: func(context *cli.Context) error {
// Set up a connection to the server.
conn, err := getClientConnection()
if err != nil {
return fmt.Errorf("failed to connect: %v", err)
}
defer conn.Close()
client := pb.NewImageServiceClient(conn)
if err := ListImages(client); err != nil {
return err
}

return nil
},
}

func ListImages(client pb.ImageServiceClient) error {
resp, err := client.ListImages(context.Background(), &pb.ListImagesRequest{})
if err != nil {
return fmt.Errorf("listing images failed: %v", err)
}
for _, i := range resp.Images {
logrus.Println(i.String())
}
return nil
}

func PullImage(client pb.ImageServiceClient, image string) error {
_, err := client.PullImage(context.Background(), &pb.PullImageRequest{Image: &pb.ImageSpec{Image: &image}})
if err != nil {
Expand All @@ -258,9 +325,9 @@ func PullImage(client pb.ImageServiceClient, image string) error {
return nil
}

// try this with ./ocic pullimage docker://busybox
// try this with ./ocic pullimage busybox
var pullImageCommand = cli.Command{
Name: "pullimage",
Name: "pull",
Usage: "pull an image",
Action: func(context *cli.Context) error {
// Set up a connection to the server.
Expand Down
9 changes: 9 additions & 0 deletions cmd/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import (
"os"

"github.com/Sirupsen/logrus"
sreexec "github.com/containers/storage/pkg/reexec"
dreexec "github.com/docker/docker/pkg/reexec"
"github.com/kubernetes-incubator/ocid/server"
"github.com/kubernetes/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
"github.com/urfave/cli"
Expand All @@ -18,6 +20,13 @@ const (
)

func main() {
if sreexec.Init() {
return
}
if dreexec.Init() {
return
}

app := cli.NewApp()
app.Name = "ocic"
app.Usage = "client for ocid"
Expand Down
98 changes: 75 additions & 23 deletions glide.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions glide.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,15 @@ import:
- package: github.com/Sirupsen/logrus
version: ~0.10.0
- package: github.com/containers/image
version: add-storage-transport
repo: [email protected]:nalind/image
subpackages:
- directory
- image
- transports
- signatures
- copy
- storage
- package: github.com/kubernetes/kubernetes
version: ~1.5.0-alpha.0
subpackages:
Expand All @@ -26,3 +31,11 @@ import:
- context
- package: google.golang.org/grpc
version: ~1.0.1-GA
- package: github.com/containers/storage
subpackages:
- storage
- pkg/reexec
- package: github.com/docker/docker
version: ~1.12.1
subpackages:
- pkg/reexec
Loading