From 86a00f906dcc5c4dfd949f194f939a854d7502d0 Mon Sep 17 00:00:00 2001 From: Martin Nordsletten Date: Tue, 18 Dec 2018 14:03:16 +0100 Subject: [PATCH 1/3] Bobs & Builders: Added docs on B&B --- Mothership-server.rst | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/Mothership-server.rst b/Mothership-server.rst index 0c531d0..55ef5ae 100644 --- a/Mothership-server.rst +++ b/Mothership-server.rst @@ -100,3 +100,80 @@ add :code:`serve` at the end, followed by the Mothership options you want to cha Bobs and Builders ----------------- + +In order to build images with specific versions of IncludeOS the was a need to create a new system. In addition there needed to be way to manage these different builders. Therefore the following terms have been introduced into Mothership: + +Builder + A Builder is able to produce images with **one** specific version of IncludeOS. All Builders are by definition ready to be used. + The Builder is used to perform the following two actions: + + #. Build IncludeOS images + #. Perform NaCl validation +Bob + A Bob is an abstraction for a resource that can become a Builder. In order for the Bob to become a Builder it needs to be prepared, this could mean it needs to be installed or downloaded. +BobProvider + A BobProvider is a resource which provides Bobs. These Bobs can be prepared to become Builders. + +Both Bobs and Builders have the following information + +.. glossary:: + + ID + ID of the Bob/Builder. Used in all API calls when it is required to specify a bob/builder. + + Name + Name of the Bob/Builder. + + Version + The version tag that IncludeOS images built with this Bob/Builder will report as it's version. + + VcsRef + The Git commit that the IncludeOS version was built from + + BuildDate + The date of the last Git commit. + + ProviderID + Which provider the Bob/Builder comes from. + +Usage and examples +~~~~~~~~~~~~~~~~~~ + +Example 1: Preparing a Builder +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In order to prepare a Builder the following tasks must be completed: + + #. Get list of available BobProviders:: + + /v1/bobproviders + + #. Update one of the bobproviders, here ``DockerHub`` is chosen:: + + /v1/bobproviders/DockerHub/update + + #. Get list of available bobs from the ``DockerHub`` provider:: + + /v1/bobproviders/DockerHub/bobs + + #. Prepare a specific Bob with ID ``idNum1`` and turn it into a Builder:: + + /v1/bobproviders/DockerHub/prepare/bobs/idNum1 + + #. Check list of Builders:: + + /v1/Builders + + +Example 2: Building and validating NaCls +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To perform actions with a specific Builder the ID is required. + +If we wanted to build with the Builder from example 1 we would have to call:: + + /v1/images/build/services/Starbase/builders/idNum1 + +To validate a NaCl the following endpoint would be called:: + + /v1/nacls/validate/builders/idNum1 From 21d361534105450e59e5c47e3066eada0156389f Mon Sep 17 00:00:00 2001 From: Martin Nordsletten Date: Tue, 18 Dec 2018 14:16:17 +0100 Subject: [PATCH 2/3] B & B: Fixed spelling, Added server options, quick start addition --- Mothership-server.rst | 22 +++++++++++----------- Quick-start.rst | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Mothership-server.rst b/Mothership-server.rst index 55ef5ae..a7fa81c 100644 --- a/Mothership-server.rst +++ b/Mothership-server.rst @@ -73,16 +73,19 @@ Server options To provide options to mothership there are two possibilities: 1. Launch parameters to ``mothership serve``. Options use the ``--