summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Sheffield <ajs@sheffieldfamily.net>2018-11-29 15:38:02 -0600
committerAaron Sheffield <ajs@sheffieldfamily.net>2018-12-05 11:20:15 -0600
commit296f4eb2c5c42ef3d4bfc87fa8b7ea0427ea7f76 (patch)
treea55b2bb60b88aaaf83d83f21fa557c172135954b
parent515e36ea037bf1b17369c0af931d94674b070928 (diff)
Airship Copilot
- Added spec for an Electron application as an Airship GUI. Change-Id: I4c21021d2337e1f8c1ff7656568c1dcff78b28d5
Notes
Notes (review): Code-Review+1: Michael Beaver <michaelbeaver64@gmail.com> Code-Review+2: Roman Gorshunov <roman.gorshunov@att.com> Code-Review+1: Rick Bartra <rb560u@att.com> Code-Review+2: Scott Hussey <sthussey@att.com> Workflow+1: Scott Hussey <sthussey@att.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Wed, 26 Dec 2018 15:48:49 +0000 Reviewed-on: https://review.openstack.org/621028 Project: openstack/airship-specs Branch: refs/heads/master
-rw-r--r--specs/approved/airship_copilot_gui.rst97
1 files changed, 97 insertions, 0 deletions
diff --git a/specs/approved/airship_copilot_gui.rst b/specs/approved/airship_copilot_gui.rst
new file mode 100644
index 0000000..986c8bf
--- /dev/null
+++ b/specs/approved/airship_copilot_gui.rst
@@ -0,0 +1,97 @@
1..
2 This work is licensed under a Creative Commons Attribution 3.0 Unported
3 License.
4
5 http://creativecommons.org/licenses/by/3.0/legalcode
6
7.. index::
8 single: Airship
9 single: Shipyard
10 single: GUI
11 single: CLI
12 single: API
13
14===============
15Airship Copilot
16===============
17
18Copilot is an Electron application that can interface with Airship CLIs and
19REST interfaces. This tool will wrap SSH sessions and HTTP/HTTPS calls to
20Airship components. The responses will be enhanced with a GUI (links for more
21commands, color coded, formatting, etc.).
22
23Links
24=====
25
26None
27
28Problem description
29===================
30
31Airship can be difficult to approach as a user. There are lots of commands to
32know with lots of data to interpret.
33
34Impacted components
35===================
36
37None.
38
39Proposed change
40===============
41
42Create an Electron application that simplifies the experience of accessing
43Airship. The application will be 100% client side, thus no change to the
44Airship components. The application will default to use HTTP/HTTPS APIs,
45but will be able to use the CLI commands when needed via an SSH connection.
46All of the raw commands input and output will be available for the user to
47see, with the goal of the user not needing to look at the raw input/output.
48
49The application will start as a GUI interface to Shipyard.
50 - Shipyard
51 - API calls (create, commit, get, logs, etc.)
52 - CLI commands (create, commit, get, logs, etc.)
53 - From a list of actions drill down into logs
54
55The GUI will create links to additional commands based off of the response.
56The GUI can color code different aspects of the response and format it. An
57example would be when Shipyard returns a list of tasks, that list can be used
58to create hyperlinks to drill down on that task (details, logs, etc.).
59
60The GUI could start by looking similar to the CLI. Where the values in the
61different columns would be buttons/links to call additional commands for more
62information.
63
64::
65
66 Name Action Lifecycle Execution Time Step Succ/Fail/Oth Footnotes
67 deploy_site action/01BTP9T2WCE1PAJR2DWYXG805V Failed 2017-09-23T02:42:12 12/1/3 (1)
68 update_site action/01BZZKMW60DV2CJZ858QZ93HRS Processing 2017-09-23T04:12:21 6/0/10 (2)
69
70
71Security impact
72---------------
73
74None - This will continue to use HTTP/HTTPS and SSH just like today, the only
75difference is that it is wrapped in an application.
76
77Performance impact
78------------------
79
80Minimal - Wrapping the commands in an Electron application might add a little
81latency, but only on the client side.
82
83Future plans
84------------
85
86Extend to other Airship components. Pegleg seems like the next step, but
87any componment with an exposed API/CLI.
88
89Dependencies
90============
91
92None
93
94References
95==========
96
97.. _Electron: https://electronjs.org/