shipwright-io / build

Shipwright - a framework for building container images on Kubernetes
https://shipwright.io
Apache License 2.0
657 stars 112 forks source link

CLI #382

Open otaviof opened 4 years ago

otaviof commented 4 years ago

What's your ideas on adding a command-line interface for Shipwright?

The initial thoughts on it is a command-line interface (like shp), which provides access to all resources provided by the operator, and provides easy means to consume those resources and create automation for them.

We should be inspired by the upstream examples like tkn, oc and kubectl, and we should keep in mind the plugins use-case, where our new CLI could dub as a plugin or as a standalone binary.

zhangtbj commented 4 years ago

I prefer plugin way, there are too much command lines for end-user. :)

adambkaplan commented 4 years ago

I prefer plugin way, there are too much command lines for end-user. :)

Obligatory "why not both?" meme [1]. The Krew project provides an easy way for us to package and distribute CLIs as a kubectl plugin [2]. We do not have to name our command line kubectl-xxx - the Krew manifests system takes care of symlinking across platforms [3].

The shorthand shp may run afoul of their naming practices [4]. I will reach out to sig-cli to see if this is acceptable.

[1] https://media.giphy.com/media/3ohfFhG5VDtDTzQv2o/giphy.gif [2] https://krew.sigs.k8s.io/ [3] https://krew.sigs.k8s.io/docs/developer-guide/plugin-manifest/ [4] https://krew.sigs.k8s.io/docs/developer-guide/develop/naming-guide/

adambkaplan commented 4 years ago

Update from the Krew community - shp/kubectl-shp is acceptable.