intro and small mods

This commit is contained in:
Jaromil 2018-10-22 14:54:03 +02:00
parent b2e44dc00a
commit 9a02434af8
3 changed files with 87 additions and 21 deletions

54
doc/introduction.md Normal file
View File

@ -0,0 +1,54 @@
Stable DECODE OS release
========================
This document accompanies the stable release of the DECODE OS, one of
the core development outputs of the DECODE project, aimed at providing
a reliable operating system to run application space development in an
environment ensuring privacy by design outside of the application
domain. This deliverable references, without duplication of
information, the research and development done and detailed in
previous deliverables D4.1 and D4.4.
The DECODE OS is a GNU+Linux distribution based on Devuan.org to
provide a minimalist base for distributed computing micro-services
capable of targeting any mainstream hardware platform, from
virtual-machines to ARM boards to bare-metal server racks.
The main website for this distribution is https://decodeos.dyne.org
As part of the DECODE OS distribution, backend software applications
have been developed to implement
1. a front-end web application to facilitate the adoption of the
DECODE continuous integration infrastructure (toaster)
https://toaster.dyne.org
2. a continuous integration system to release and customize new
versions of DECODE OS (SDK) https://git.devuan.org/sdk
3. a private peer-to-peer network over the Tor protocol (tor-dam)
https://github.com/decodeproject/tor-dam
These core features of these three components will be described in the
following sections of this document, along with operational
instructions.
Due to the experimental stage of development of other components in
DECODE and according to the LEAN principles declared in the project,
this stable release doesn't only constitutes a final point of arrival
for this development task. What DECODE OS can do today is facilitate
the deployement of lab-tested software applications (for example made
in a Docker format, widely adopted by other partners in DECODE) and
render these prototypes into a production ready format that can be
deployed on the DECODE BOX open-hardware as well on virtual-machines.
We consider this achievement highly beneficial for a project whose
development is still in-flux, as well for the free and open source
community out there, since the access to the powerful features of the
SDK is now made very easy via an integrated continuous pipeline.
In light of these advantages, there is a clear intention within our
organisation (DYNE) to keep maintaining DECODE OS also beyond the span
of the project and this very task now concluded, since it greatly
helps the manning of prototypes into stable production environments.

View File

@ -1,21 +1,21 @@
The Devuan SDK The DECODE SDK
============== ==============
The Devuan SDK is a unique build framework written to ease maintenance The DECODE SDK is a unique build framework written to ease maintenance
and production of various types of the Devuan distribution images, such and production of various types of the Devuan distribution images,
as: live ISOs, virtual machine images, and images targeted at embedded such as: live ISOs, virtual machine images, and images targeted at
ARM boards. This paper explains how to use the SDK, gives and inside embedded ARM boards. This section explains how to use the SDK, gives
look at its various parts and documents the workflow to be used when and inside look at its various parts and documents the workflow to be
modifying its code. used when modifying its code.
The SDK is designed in such a way that there are levels of priority The SDK is designed in such a way that there are levels of priority
within the scripts. First there is libdevuansdk, which holds the vanilla within the scripts. First there is `libdevuansdk`, which holds the
configuration, then come the various wrappers targeted around specific vanilla configuration, then come the various wrappers targeted around
targets (live, virtual, embedded), and afterwards we optionally add more specific targets (`live`, `virtual`, `embedded`), and afterwards we
on top of it if we need to customize or override specific functions. optionally add more on top of it if we need to customize or override
This is for example the case with DECODE OS, where we have to add specific functions. This is for example the case with DECODE OS,
additional software and extra components on top of the base Devuan where we have to add additional software and extra components on top
system. of the base Devuan system.
libdevuansdk libdevuansdk

View File

@ -1,17 +1,29 @@
toaster.do toaster.do
========== ==========
The **toaster.do** setup is an ecosystem of modular parts of software The **toaster.do** setup is a modular web app relying on different
used to facilitate builds of customized Devuan images using Dockerfiles parts of DECODE's CI (continuous integration) and operating system
and a web interface. It allows us to have a seamless way of using the development software (SDK) used to facilitate builds of customized
Dockerfiles that are used in testing to make production images using the Devuan images using Dockerfiles and a web interface. It allows us to
same Dockerfile. This brings a deterministic approach to debugging and have a seamless way of using the Dockerfiles that are used in testing
allows centralization of resources, while avoiding extra work needed to to make production images using the same Dockerfile. This brings a
write a Devuan blend. deterministic approach to debugging and allows centralization of
resources, while avoiding extra work needed to write a Devuan blend.
The web application is public on https://toaster.dyne.org
All following documentation contained in this document details the
internals of this application, of the components and infrastructure
that it is using. Unless specifically interested in these
implementation details, the web application facilitates the adoption
of all features described through a simple visual workflow.
The setup is comprised of a web interface written in Clojure, a backend The setup is comprised of a web interface written in Clojure, a backend
glue written in Python, the Devuan SDK, and the Jenkins CI system. glue written in Python, the Devuan SDK, and the Jenkins CI system.
The main repository of this software component is
https://github.com/decodeproject/toaster.do
Clojure frontend Clojure frontend
---------------- ----------------