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

View File

@ -1,17 +1,29 @@
toaster.do
==========
The **toaster.do** setup is an ecosystem of modular parts of software
used to facilitate builds of customized Devuan images using Dockerfiles
and a web interface. It allows us to have a seamless way of using the
Dockerfiles that are used in testing to make production images using the
same Dockerfile. This brings a deterministic approach to debugging and
allows centralization of resources, while avoiding extra work needed to
write a Devuan blend.
The **toaster.do** setup is a modular web app relying on different
parts of DECODE's CI (continuous integration) and operating system
development software (SDK) used to facilitate builds of customized
Devuan images using Dockerfiles and a web interface. It allows us to
have a seamless way of using the Dockerfiles that are used in testing
to make production images using the same Dockerfile. This brings a
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
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
----------------