This learning track contains a sequence of lectures that will teach the
setup and use of a SlapOS based system. It is split into different sessions
differentiating by the technical depth a reader wants to familiarize
The initial lecture contains a generic and mandatory introduction into SlapOS
and is followed by specific lectures for SlapOS System admins (lecture 2),
SlapOS users (lecture 3) and SlapOS developers (lecture 4).
Each lecture contains a number of Tutorials. If required, DesignDocuments
will explain certain concepts or programms. Additonal HowTos cover certain
aspects in more detail in case required.
After finishing this learning track and all lectures, you should have a
ready-to-use SlapOS system and be familiar with providing both
existing and custom software to users, monitoring system health as well
as software service consumption.
This lecture will introduce SlapOS and underlying concepts. It provides both
a quick overview of a SlapOS system as well as in-depth look at the
architecture and minimal system requirements.
The SlapOS Introduction will give an technical overview over a SlapOS system
explaining the philosophy and principles behind SlapOS. It also demonstrates
the SlapOS Dashboard, command line utilities and the Buildout Software
Profiles responsible for supplying and instantiating software on SlapOS.
The SlapOS Architecture DesignDocument will introduce the Master (COMP-Root/COMP-0)
and slave (COMP-123) design along with the SlapProtocol. It will explain why
software instances are created inside computer partitions and describe the
means of communication between system components as well as users.
The SlapOS System Requirements includes profiles and information of required
hard- and software for each type of node for setting up a minimal SlapOS
The SlapOS Rationale includes an analysis of on-premise and cloud-based
providers of both open-source and proprietary software solutions. This is used
to derive an economic baseline and operating principles for creating a cloud
provider of free and open-source software. Such as
ViFiB, Nexedi's cloud provider working on
a SlapOS based system.
This lecture covers setting up and configuring a minimal
SlapOS network consisting of a SlapOS Master (COMP-Root) and the first
network node (COMP-0). It is meant for network administrators interested
in learning how to create their own SlapOS-based system for managing servers
and software deployments.
The Install SlapOS Master tutorial will guide through the steps of
setting up the main component of a SlapOS system: The Master (COMP-Root),
which is a SlapOS node itself configured by SlapProxy and running an instance
of ERP5 Cloud Engine (providing the Dashboard among other things) as well as
a Frontend (Apache).
The Install SlapOS Node tutorial continues the system setup by installing
the first network node (COMP-0) with the Re6st Registry handling IPv6
and routing network traffic as well as another Frontend (Apache) enabling
network access for users.
Completing both tutorials means setting up a minimal SlapOS system.
The additional readings cover adding software to the SlapOS Master catalog.
It shows how to add a software product and release in the ERP5 Cloud Engine and
make it available on SlapOS.
The HowTos on requesting a wildcard certificate and accessing a node via SSH
are somewhat trivial but are included for completeness of the lecture.
This lecture teaches how to use SlapOS including installation of new nodes
on an existing system, manage servers, supply software and monitor system
The tutorial on installing a SlapOS Node (COMP-123) will guide through
installing SlapOS on a regular network node from setting up IPv6 and Re6st to
registering the server with a SlapOS Master. This is the standard tutorial
for adding a new machine to a network.
Managing a SlapOS system shows how the Dashboard can be used to handle
support requests and tickets which are generated automatically (or by users)
whenever an instance or machine runs into issues causing a Promise to fail.
Monitoring a SlapOS node follows the previous tutorial and shows
how to use the Monitoring app which provides a micro view into what is happening
on a node partitions. It will show how to analyse a node's status, search
for failing Promises and show the location of all relevant logs so issues can
Additional readings cover topics related to setting up a node, such as
registering on SlapOS (or ViFiB's commerical service), requesting
a Re6st (ViFiB: FreeFib) token required during node installation and
classifying nodes on a system.
Once the node is setup, HowTo use the SlapOS Client shows alternative
ways of accessing and working with a node via the terminal, which is also the
place to manually format a SlapOS node, for example when adding additional
SSD storage. Finally, the HowTo debug a SlapOS node gives tips and tricks
on where to look for logs and common issues when a node is not behaving as
The instantiation section list the relevant configuration parameters of the
software releases available on SlapOS by default and is more of a lookup
reference to ensure, parameters are set correctly when requiring an instance
and that follow-up steps are also being made aware.
This lecture teaches how to work on software releases itself creating the
software to be distributed over a SlapOS network.
Developing software for SlapOS requires being familiar with Buildout and the
concept of Promises. Buildout will be introduced in detail in the DesignDocument
Understanding SlapOS Buildout showing how it is used to install and
instantiate software from software and instance profiles. Understanding
SlapOS Promises will introduce Promises, show how they are used to
continuously monitor the status of a software and integrate them into a
software's instance profile.
The developer tutorials cover several angles of working with software on SlapOS
starting with showing how to extend an existing release by adding parameters,
components and proimses using a Webrunner.
Creating a software release and porting an existing software to
SlapOS outline the required steps to create the software and instance profile
required by SlapOS to deploy a software.
Lastly, Upgrading a Software Release covers the steps of adding a new
release to the SlapOS catalog and triggering the propagation through the SlapOS
Additonal readings cover basic aspects related to software development for SlapOS,
such as HowTo deploy a software release on a Webrunner.