SlapOS Home SlapOS

    How To Add A Software Release Attached To A Software Product

    How to add a software release attached to a software product.
    • Last Update:2024-02-02
    • Version:001
    • Language:en

    Agenda

    • Prerequisites
    • Administrator Login to ERP5 Interface
    • Add Software Release
    • Define Software Release
    • Publish Software Release Alive
    • Verification

    This document explains how to add a software release attached to a software product in order for it to be installed and instantiated on nodes of a network. The process is the same for any software release that should be provided over a SlapOS network. The Theia is only used as example. For software product not published, it is required to add a new software product, described in How To Add A Software Product.

    The Theia 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.

    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.

    Prerequisites

    Administrator Login to ERP5 Interface

    ERP5 Interface - Login with Administrator Account

    Login with the  your administrator account to SlapOS Master ERP5 Modern Interface. 

    Access Software Release Module

    ERP5 Interface - Administrator Homescreen

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

    Add Software Release

    ERP5 Interface - Administrator Add Software Release Webrunner

    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

    Gitlab - Webrunner Software Release Software.cfg profile

    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 should always used tagged version in production environment for example:

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

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

    https://lab.nexedi.com/nexedi/slapos/raw/1.0.299/software/theia/software.cfg

     

    In very special occasion during development, you may use directly a branch (e.g. master branch: https://lab.nexedi.com/nexedi/slapos/raw/master/software/theia/software.cfg) but this is not recommended.

     

    Upload SR into Shacache (RapidSpace specific)

    In order to have faster installation of software releases, you can upload SR in binary shacache (by using upload configuration in [shacache] section of your slapos configuration file). Then, if you configure your machines to download binaries from shacache, the machines will download the SR instead of compile it. You can even force some machine to only download from shacache and never compile.

    For example, at RapidSpace, we configured 7 machines in vifib-test-agent account to upload binaries into shacache:

    • Debian 9 (COMP-2825)
    • Debian 10 (COMP-3102)
    • Debian 11 (COMP-3487)
    • Debian 12 (COMP-3997)
    • Ubuntu 20.04 (COMP-3702)
    • Ubuntu 22.04 (COMP-3823)
    • Debian 11 raspberry (arm 64 bits) (COMP-3525)
    • Debian 11 olimex (arm 32 bits) (COMP-3526)

    Have your client-vifib-test-agent.crtclient-vifib-test-agent.key and slapos-client-vifib-test-agent.cfg configured on one of your SlapOS node, then supply the SR to the vifib-test-agent machines by: 

    $ for c in COMP-2537 COMP-2825 COMP-3102 COMP-3487 COMP-3997 COMP-3702; do slapos supply --cfg ~/slapos-vifib-test-agent/slapos-client-vifib-test-agent.cfg https://lab.nexedi.com/nexedi/slapos/raw/1.0.299/software/theia/software.cfg $c ; done

     

    Define Software Release

    ERP5 Interface - Administrator Define Software Release Webrunner

    Fill the form as shown in the screenshot. Make sure to add the Software Product pointing to the Theia 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 of raw code to your software.cfg. Once all fields have been filled out, click the save.

    Publish Software Release Alive

    ERP5 Interface - Administrator Publish Software Release Alive Webrunner

    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

    ERP5 Interface - Administrator Published Software Release Webrunner

    Confirm and once you are back on the Software Release page and the state is changed to Published Alive.

    Verification

    • Software Available in SlapOS Master
    • Add Theia

    Software Available in SlapOS Master

    SlapOS Interface - Published Software Release Available

    Head over to the SlapOS Master ERP5 Modern Interface and login with usual user.

    Add Service

    SlapOS Dashboard - Select Software Release to supply

    Click Add in Services module.

    Select Theia Software Product

    SlapOS Dashboard - Select Software Release to supply

    Select the Theia software product.

    Select Theia Software Release Version

    SlapOS Dashboard - Select Software Release Version

    Select the latest version.

    Fill the Request Form

    SlapOS Dashboard - Launch Software Release Installation

    Click Proceed in the header to start installation.

    Wait for Webrunner Installation

    SlapOS Dashboard - Access Computer

    After clicking Proceed you will be forwarded to the service list 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 entering the instance tree page.

    Verify Theia Installation

    SlapOS Dashboard - Verify Installation Success

    You can see the installed service is now available on the instance tree page. Once the Monitor 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 if you have access to the SlapOS node.