paz-sh / paz

An open-source, in-house service platform with a PaaS-like workflow, built on Docker, CoreOS, Etcd and Fleet. This repository houses the documentation and installation scripts.
http://paz.sh
Other
1.08k stars 56 forks source link

Implement CLI #25

Closed lukebond closed 9 years ago

lukebond commented 9 years ago

Let's discuss the scope and features of the Paz command-line interface functionality.

Naturally, it needs to be called paz.sh :)

Proposed functionality:

tomgco commented 9 years ago

Provision a Vagrant/VirtualBox cluster running Paz Provision a DigitalOcean cluster running Paz

Would classify this as the most important to start off with.

Register SSH keys

How do we get around this at the moment, do we rely on fleet ssh?

List status of Paz internal units List declared services Show status of running services Show status of hosts

:+1: on these above.

Add/edit/delete/scale services Administer Paz configuration (e.g. domain/DNS) Scale the cluster

Eventually sounds good, but the CLI UI for the above seems quite complicated maybe leave this to last?

lukebond commented 9 years ago

re SSH keys, we're currently leaving the user to sort out their own cluster of hosts/VMs including SSH keys and then assuming they'll do everything through the UI. if they get stuck and need to SSH we offer them no help. also for installation it will be needed, in order to install the initial set of containers with Fleet. our existing installation script for Vagrant/VirtualBox uses the insecure Vagrant key, but for DO or other public could we'll need some way of managing keys to be used here.

i agree re priorities of CLI: focus on installation and duplication of the basic Orchestrator REST client functionality, and leave anything infra related to later (or maybe not at all, still unsure).

tomgco commented 9 years ago

we're currently leaving the user to sort out their own cluster of hosts/VMs including SSH keys and then assuming they'll do everything through the UI

Then yes this sounds nice to implement in the cli.

tomgco commented 9 years ago

Took the liberty of creating: https://github.com/paz-sh/paz.sh/tree/master, it is in Go, because I thought if we need to interface with etcd / fleet it would be much easier to use the packages that they supply rather than building an api in another language.

lukebond commented 9 years ago

Great stuff. Closing at this can now be tracked in its own repository.