diff --git a/doc/introduction.md b/doc/introduction.md new file mode 100644 index 0000000..8c830bb --- /dev/null +++ b/doc/introduction.md @@ -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. + + diff --git a/doc/sdk-01-overview.md b/doc/sdk-01-overview.md index b36dbb9..b2588b5 100644 --- a/doc/sdk-01-overview.md +++ b/doc/sdk-01-overview.md @@ -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 diff --git a/doc/toaster-01-overview.md b/doc/toaster-01-overview.md index 936b84a..351a3a3 100644 --- a/doc/toaster-01-overview.md +++ b/doc/toaster-01-overview.md @@ -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 ----------------