# How To Add Webrunner Software Release To SlapOS Master

This document explains how to add the Webrunner Software Product and Software Release to a SlapOS Master in order for it to be installed and instantiated on nodes of a network. The process is the same for any software that should be provided over a SlapOS network. The Webrunner is only used as example. For software not included on the standard catalog it is required to create a new software release, described in creating a software release or to port a software to SlapOS described in porting software to SlapOS.

This howTo requires having administrator (superuser) access to a SlapOS Master (done in install a SlapOS Master) and another network node on which to install the Software Release.

# Table of Content

- Granting Admin Rights to a User
- Adding Software Product
- Adding Software Release
- Supply Webrunner on Node

# Granting Admin Rights to a User

For adding new software products and releases to the catalog on a SlapOS Master and to view accounting and consumption information, a user must have administrative rights. These can be assigned by a superuser like the initial zope user given after installing the SlapOS Master. This section requires to have superuser privileges (for more information on the type of users in ERP5, please refer to differentiating users from the ERP5 documentation).

# Login to ERP5 Interface

Go to the ERP5 Cloud Engine interface "behind" the SlapOS Dashboard. If your master has a user-friendly url provided via a Frontend Slave (created while installing COMP-0) like `https://master.slaptest.erp5.net/` for example, you can find the backend url in the Frontend Slave connection parameters (in the Dashboard access Services menu, locate your Frontend Slave). Remove the `web_site_module/hostingjs/` part of the URL and don't forget to logout of the SlapOS Dashboard so you can login on the underlying ERP5 interface with superuser privileges.

Once you are on the login page, login using zope and the password retrieved during configuration of the SlapOS Master (when calling `erp5 show -s` in the terminal).

# Access Person Module

Click on Persons or select Person Module from the Modules select field.

# Find Specific User

Locate the person you want to give administrator rights to

# Find Assignments of this User

Once on the person, click on the Assignments tab.

# Find Member Assignment

Find the Member Assignment and open it.

# Associate Group with User

In the right hand menu, update the Group field to `SlapOs Company`. This will give administrative rights to this user. Click the Save (disk) icon to update the assignment configuration.

Once saved, this user will be able to add new software products and releases besides being able to view accounting and consumption related data.

# Logout Superuser

Logout of the superuser account.

# Add Webrunner to Software Catalogue

The Webrunner is a development IDE for SlapOS and part of the SlapOS toolbox. It is a platform-as-a-service (PAAS), browser-based development IDE providing a sandbox for a SlapOS application, that can be used to develop this application itself. The Webrunner is useful, as it can be run in resilient mode replicated on 3 different locations. It is actually a mini SlapOS Master that can deploy a single instance of a software release inside. Besides resiliency, the Webrunner allows to encapsulate a (possibly) patched version of a software while also providing ssh access to the software's underlying file system in case required.

# Administrator Login to ERP5 Interface

Login with the user who just received administrator privileges.

# Access Software Product Module

Once logged in click on Software Products or select Software Product Module from the Modules select field.

# Add Software Product

On the software product page, select Action and Add Software Product.

# Define Software Product

Set `Title` and `Reference` to Webrunner and webrunner, then save by clicking the disk icon.

# Publish Software Product

The final step is to publish the Software Product. Select Action and Publish to change the workflow change.

# Published Software Product

Confirm and once you are back on the Software Product page and the state is changed to Published, click on the ERP5 breadcrumb to get back to the main homescreen.

# Access Software Release Module

Next click on Software Releases or select Software Release Module from the Modules select field.

# Add Software Release

Repeat the steps, so once on the software release page, select Action and Add Software Release.

Note, that whenever you want to upgrade a software release, you have to create a new software release entry with the difference being the version and `software.cfg` being pointed to, which can both be set in the next steps.

# Locate Software.Cfg Url

Head over to the repository you are using to host software releases and locate the `software.cfg` file which contains the instructions for building your software. Find the URL of this software release. Note, that you can use different releases, for example:

- latest development:

      https://lab.nexedi.com/nexedi/slapos/raw/master/software/slaprunner/software.cfg

- latest tagged version:

      https://lab.nexedi.com/nexedi/slapos/raw/[TAG]/software/slaprunner/software.cfg

`[TAG]` can be any value listed on the published releases, found on https://lab.node.vifib.com/nexedi/slapos/tags. Continue using the latest tagged version which is 1.0.64. Note down the following url:

    https://lab.nexedi.com/nexedi/slapos/raw/v1.0.64/software/slaprunner/software.cfg

# Define Software Release

Fill the form as shown in the screenshot. Make sure to add the `Software Product` pointing to the Webrunner product you just created (add the title of the software product). Title and reference can be the same as on the software product. Make sure define a version and select HTTP, then provide the url to your `software.cfg`. Once all fields have been filled out, click the disk icon to save.

# Publish Software Release Alive

The final step is to publish the Software Release Alive (publishing alive, will allow to edit the provided data in case necessary). Select Action and Publish Alive to change the workflow change.

# Published Software Release

Confirm and once you are back on the Software Release page and the state is changed to Published Alive, click on the ERP5 breadcrumb to get back to the main homescreen.

# Software Available in SlapOS Dashboard

Head over to the SlapOS Dashboard. If you pick a computer and click Supply, the newly defined software will now be on the list. We can continue and install the Webrunner on this machine.

# Select Webrunner Software Release

Select the Webrunner software release.

# Select Webrunner Software Release Version

Select the latest version.

# Launch Webrunner Software Release Installation

Click Proceed in the header to start installation.

# Wait for Webrunner Installation

After clicking Proceed you will be forwarded to the installation status page.

Installation will take some time depending on the software you are installing, so either refresh the current page or check installation status directly by either going to your Servers list and selecting the machine you chose during installation or clicking directly on Computer Reference.

# Verify Webrunner Installation

You can see the installed service is now available in the bottom list. The indicator will stay red until the software has finished compiling and installing. Once the installation status bar changes to green on a refresh of the page, the installation has finished.

You can follow the compilation by looking at the `slapos-node-software.log` using:

    # tail /opt/slapos/log/slapos-node-software.log -f

in your terminal.

# Thank You

- Nexedi SA
- 147 Rue du Ballon
- 59110 La Madeleine
- France

- nexedi.com/contact