Merge branch '5030-hide-graph-until-data' closes #5030
[arvados.git] / apps / workbench / app / views / users / _manage_virtual_machines.html.erb
1 <div>
2   <p>
3     For more information see <%= link_to raw('Arvados Docs &rarr; User Guide &rarr; SSH access'),
4   "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html",
5   target: "_blank"%>.
6     <% if @my_virtual_machines.any? or true %>
7       A sample <code>~/.ssh/config</code> entry is provided below.
8     <% end %>
9   </p>
10
11   <% if !@my_virtual_machines.any? %>
12     <div id="no_shell_access" class="no_shell_access">
13       <div class="alert alert-warning clearfix">
14         <p>
15           You do not have access to any virtual machines.  Some
16           Arvados features require using the command line.  You may
17           request access to a hosted virtual machine with the command
18           line shell.
19         </p>
20         <div class="pull-right">
21           <%= link_to({
22               action: 'request_shell_access',
23               controller: 'users',
24               id: current_user.uuid
25               },
26               method: :post,
27               remote: true,
28               class: 'btn btn-xs btn-primary',
29               data: {
30               disable_with: "Sending request...",
31               on_error_hide: '.no_shell_access .alert-success',
32               on_error_show: '.no_shell_access .alert-danger',
33               on_error_write: '.no_shell_access .alert-danger .error-text',
34               on_success_hide: '.no_shell_access .alert-danger',
35               }) do %>
36             Send request for shell access
37           <% end %>
38         </div>
39       </div>
40       <div class="alert alert-success" style="display:none">
41         <p class="contain-align-left"><%# (see javascripts/request_shell_access.js) %></p>
42       </div>
43       <div class="alert alert-danger" style="display:none">
44         <p class="contain-align-left">Sorry, something went wrong. Please try again. (<span class="error-text"></span>)</p>
45       </div>
46     </div>
47   <% else %>
48     <script> localStorage.removeItem('request_shell_access'); </script>
49     <table class="table virtual-machines-table">
50       <colgroup>
51         <col style="width: 25%" />
52         <col style="width: 25%" />
53         <col style="width: 50%" />
54       </colgroup>
55       <thead>
56         <tr>
57           <th> Host name </th>
58           <th> Login name </th>
59           <th> Command line </th>
60         </tr>
61       </thead>
62       <tbody>
63         <% @my_virtual_machines.andand.each do |vm| %>
64           <tr>
65             <td style="word-break:break-all;">
66               <%= vm[:hostname] %>
67             </td>
68             <td style="word-break:break-all;">
69               <%= @my_vm_logins[vm[:uuid]].andand.compact.andand.join(", ") %>
70             </td>
71             <td style="word-break:break-all;">
72               <% if @my_vm_logins[vm[:uuid]] %>
73                 <% @my_vm_logins[vm[:uuid]].each do |login| %>
74                   <code>ssh&nbsp;<%= login %>@<%= vm[:hostname] %>.arvados</code>
75                 <% end %>
76               <% end %>
77             </td>
78           </tr>
79         <% end %>
80       </tbody>
81     </table>
82
83     <p><i>~/.ssh/config:</i></p>
84     <pre>Host *.arvados
85       TCPKeepAlive yes
86       ServerAliveInterval 60
87       ProxyCommand ssh -p2222 turnout@switchyard.<%= current_api_host || 'xyzzy.arvadosapi.com' %> -x -a $SSH_PROXY_FLAGS %h
88     </pre>
89   <% end %>
90 </div>