commit
9bb5b9ea66
@ -0,0 +1,97 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
.. index::
|
||||
single: Airship
|
||||
single: Shipyard
|
||||
single: GUI
|
||||
single: CLI
|
||||
single: API
|
||||
|
||||
===============
|
||||
Airship Copilot
|
||||
===============
|
||||
|
||||
Copilot is an Electron application that can interface with Airship CLIs and
|
||||
REST interfaces. This tool will wrap SSH sessions and HTTP/HTTPS calls to
|
||||
Airship components. The responses will be enhanced with a GUI (links for more
|
||||
commands, color coded, formatting, etc.).
|
||||
|
||||
Links
|
||||
=====
|
||||
|
||||
None
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Airship can be difficult to approach as a user. There are lots of commands to
|
||||
know with lots of data to interpret.
|
||||
|
||||
Impacted components
|
||||
===================
|
||||
|
||||
None.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Create an Electron application that simplifies the experience of accessing
|
||||
Airship. The application will be 100% client side, thus no change to the
|
||||
Airship components. The application will default to use HTTP/HTTPS APIs,
|
||||
but will be able to use the CLI commands when needed via an SSH connection.
|
||||
All of the raw commands input and output will be available for the user to
|
||||
see, with the goal of the user not needing to look at the raw input/output.
|
||||
|
||||
The application will start as a GUI interface to Shipyard.
|
||||
- Shipyard
|
||||
- API calls (create, commit, get, logs, etc.)
|
||||
- CLI commands (create, commit, get, logs, etc.)
|
||||
- From a list of actions drill down into logs
|
||||
|
||||
The GUI will create links to additional commands based off of the response.
|
||||
The GUI can color code different aspects of the response and format it. An
|
||||
example would be when Shipyard returns a list of tasks, that list can be used
|
||||
to create hyperlinks to drill down on that task (details, logs, etc.).
|
||||
|
||||
The GUI could start by looking similar to the CLI. Where the values in the
|
||||
different columns would be buttons/links to call additional commands for more
|
||||
information.
|
||||
|
||||
::
|
||||
|
||||
Name Action Lifecycle Execution Time Step Succ/Fail/Oth Footnotes
|
||||
deploy_site action/01BTP9T2WCE1PAJR2DWYXG805V Failed 2017-09-23T02:42:12 12/1/3 (1)
|
||||
update_site action/01BZZKMW60DV2CJZ858QZ93HRS Processing 2017-09-23T04:12:21 6/0/10 (2)
|
||||
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None - This will continue to use HTTP/HTTPS and SSH just like today, the only
|
||||
difference is that it is wrapped in an application.
|
||||
|
||||
Performance impact
|
||||
------------------
|
||||
|
||||
Minimal - Wrapping the commands in an Electron application might add a little
|
||||
latency, but only on the client side.
|
||||
|
||||
Future plans
|
||||
------------
|
||||
|
||||
Extend to other Airship components. Pegleg seems like the next step, but
|
||||
any componment with an exposed API/CLI.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. _Electron: https://electronjs.org/
|
Loading…
Reference in new issue