cli: add config and images command

Extends the existing zot CLI to add commands for listing all images and
their details on a zot server.
Listing all images introduces the need for configurations.

Each configuration has a name and URL at the least. Check 'zot config
-h' for more details.

The user can specify the URL of zot server explicitly while running the
command or configure a URL and pass it directly.

Adding a configuration:
zot config add aci-zot <zot-url>

Run 'zot config --help' for more.

Listing all images:
zot images --url <zot-url>

Pass a config instead of the url:
zot images <config-name>

Filter the list of images by image name:
zot images <config-name> --name <image-name>

Run 'zot images --help' for all details

- Stores configurations in '$HOME/.zot' file

Add CLI README
This commit is contained in:
Tanmay Naik
2020-06-16 21:52:40 -04:00
parent 4a1519bb1d
commit ad684ac44b
17 changed files with 2169 additions and 84 deletions
+9 -1
View File
@@ -2,12 +2,20 @@ package main
import (
"os"
"path"
"github.com/anuvu/zot/pkg/cli"
)
func main() {
if err := cli.NewRootCmd().Execute(); err != nil {
home, err := os.UserHomeDir()
if err != nil {
panic(err)
}
configPath := path.Join(home + "/.zot")
if err := cli.NewRootCmd(configPath).Execute(); err != nil {
os.Exit(1)
}
}
+3 -1
View File
@@ -1,6 +1,7 @@
package main_test
import (
"io/ioutil"
"testing"
"github.com/anuvu/zot/pkg/api"
@@ -14,7 +15,8 @@ func TestIntegration(t *testing.T) {
c := api.NewController(config)
So(c, ShouldNotBeNil)
cl := cli.NewRootCmd()
tempFile, _ := ioutil.TempFile("", "tmp-")
cl := cli.NewRootCmd(tempFile.Name())
So(cl, ShouldNotBeNil)
So(cl.Execute(), ShouldBeNil)