summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-12-26 15:48:49 +0000
committerGerrit Code Review <review@openstack.org>2018-12-26 15:48:49 +0000
commit9bb5b9ea66a9b8d5e3e9ce0399dba51a47c9bdc5 (patch)
tree11a8291f5c6d86f041dfd8213d87f5c1403207e8
parentf8da65c96b5460815cd07f8d680bf6b20fd3fc27 (diff)
parent296f4eb2c5c42ef3d4bfc87fa8b7ea0427ea7f76 (diff)
Merge "Airship Copilot"
-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/