Workbench2 is the web-based user interface for Arvados.
Workbench2 is the replacement for Arvados Workbench. Workbench2 is suitable for day-to-day use, but does not yet implement every feature of the traditional Workbench.
Edit config.yml
to set the keys below. The full set of configuration options are in the Workbench section of config.yml
Services:
Workbench2:
ExternalURL: "https://workbench2.ClusterID.example.com"
Workbench2 does not require its own database. It is a set of html, javascript and css files that are served as static files from Nginx.
Use a text editor to create a new file /etc/nginx/conf.d/arvados-workbench2.conf
with the following configuration. Options that need attention are marked in red.
server {
listen 80;
server_name workbench2.ClusterID.example.com;
return 301 https://workbench2.ClusterID.example.com$request_uri;
}
server {
listen 443 ssl;
server_name workbench2.ClusterID.example.com;
ssl_certificate /YOUR/PATH/TO/cert.pem;
ssl_certificate_key /YOUR/PATH/TO/cert.key;
index index.html;
# Workbench2 uses a call to /config.json to bootstrap itself
# and find out where to contact the API server.
location /config.json {
return 200 '{ "API_HOST": "ClusterID.example.com" }';
}
location / {
root /var/www/arvados-workbench2/workbench2;
index index.html;
try_files $uri $uri/ /index.html;
if (-f $document_root/maintenance.html) {
return 503;
}
}
}
Workbench2 will load, if available, a vocabulary definition which lists available metadata properties for groups and collections. To learn how to configure the property vocabulary definition, please visit the Metadata Vocabulary Format page in the Admin section.
# yum install arvados-workbench2
# apt-get install arvados-workbench2
Make sure the cluster config file is up to date on the API server host then restart the API server and controller processes to ensure the configuration changes are visible to the whole cluster.
# systemctl restart nginx arvados-controller
# arvados-server check
Visit https://workbench2.ClusterID.example.com
in a browser. You should be able to log in using the login method you configured in the previous step. If Users.AutoAdminFirstUser
is true, you will be an admin user.
Log in to Workbench once to ensure that the Arvados API server has a record of the Workbench client. (It’s OK if Workbench says your account hasn’t been activated yet. We’ll deal with that next.)
In the API server project root, start the Rails console.
Changewebserver-user
to the user that runs your web server process. If you install Phusion Passenger as we recommend, this is www-data
on Debian-based systems, and nginx
on Red Hat-based systems.
apiserver:~$ cd /var/www/arvados-api/current
apiserver:/var/www/arvados-api/current$ sudo -u webserver-user RAILS_ENV=production bin/rails console
At the console, enter the following commands to locate the ApiClient record for your Workbench installation (typically, while you’re setting this up, the last
one in the database is the one you want), then set the is_trusted
flag for the appropriate client record:
irb(main):001:0> wb = ApiClient.all.last; [wb.url_prefix, wb.created_at]
=> ["https://workbench.example.com/", Sat, 19 Apr 2014 03:35:12 UTC +00:00]
irb(main):002:0> include CurrentApiClient
=> true
irb(main):003:0> act_as_system_user do wb.update_attributes!(is_trusted: true) end
=> true
The content of this documentation is licensed under the
Creative
Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the
Apache License, Version 2.0.