From d5aca4ad5264abf67d20536cc1abdfefa28788c6 Mon Sep 17 00:00:00 2001 From: Disassembler Date: Tue, 16 Jun 2020 22:39:46 +0200 Subject: [PATCH] Add schemata into documentation, closes #316 --- .../{ => attachments}/images-list-apps.csv | 0 .../{ => attachments}/images-list-basic.csv | 0 .../{ => attachments}/images-list-services.csv | 0 .../{ => attachments}/map-services.csv | 0 doc/applications/images-list.rst | 6 +++--- doc/applications/map-services.rst | 2 +- .../attachments/schema-arch-interop.png | Bin 0 -> 20129 bytes .../attachments/schema-arch-overview.png | Bin 0 -> 5098 bytes .../attachments/schema-spoc-builder.png | Bin 0 -> 40764 bytes doc/toolchain/attachments/schema-spoc-user.png | Bin 0 -> 40461 bytes doc/toolchain/spoc-architecture.rst | 4 ++++ doc/toolchain/spoc-builder.rst | 4 ++++ doc/toolchain/spoc-overview.rst | 6 +++++- doc/toolchain/spoc-user.rst | 4 ++++ 14 files changed, 21 insertions(+), 5 deletions(-) rename doc/applications/{ => attachments}/images-list-apps.csv (100%) rename doc/applications/{ => attachments}/images-list-basic.csv (100%) rename doc/applications/{ => attachments}/images-list-services.csv (100%) rename doc/applications/{ => attachments}/map-services.csv (100%) create mode 100644 doc/toolchain/attachments/schema-arch-interop.png create mode 100644 doc/toolchain/attachments/schema-arch-overview.png create mode 100644 doc/toolchain/attachments/schema-spoc-builder.png create mode 100644 doc/toolchain/attachments/schema-spoc-user.png diff --git a/doc/applications/images-list-apps.csv b/doc/applications/attachments/images-list-apps.csv similarity index 100% rename from doc/applications/images-list-apps.csv rename to doc/applications/attachments/images-list-apps.csv diff --git a/doc/applications/images-list-basic.csv b/doc/applications/attachments/images-list-basic.csv similarity index 100% rename from doc/applications/images-list-basic.csv rename to doc/applications/attachments/images-list-basic.csv diff --git a/doc/applications/images-list-services.csv b/doc/applications/attachments/images-list-services.csv similarity index 100% rename from doc/applications/images-list-services.csv rename to doc/applications/attachments/images-list-services.csv diff --git a/doc/applications/map-services.csv b/doc/applications/attachments/map-services.csv similarity index 100% rename from doc/applications/map-services.csv rename to doc/applications/attachments/map-services.csv diff --git a/doc/applications/images-list.rst b/doc/applications/images-list.rst index d1a7039..a535d45 100644 --- a/doc/applications/images-list.rst +++ b/doc/applications/images-list.rst @@ -5,14 +5,14 @@ Basic and runtime images ------------------------ .. csv-table:: - :file: images-list-basic.csv + :file: attachments/images-list-basic.csv :header-rows: 1 Common service images --------------------- .. csv-table:: - :file: images-list-services.csv + :file: attachments/images-list-services.csv :header-rows: 1 List of application images @@ -21,5 +21,5 @@ List of application images All application images have the application user UID/GID 8080 and listen on internal port 8080 (HTTP). .. csv-table:: - :file: images-list-apps.csv + :file: attachments/images-list-apps.csv :header-rows: 1 diff --git a/doc/applications/map-services.rst b/doc/applications/map-services.rst index c3a3278..cd7f2ae 100644 --- a/doc/applications/map-services.rst +++ b/doc/applications/map-services.rst @@ -2,7 +2,7 @@ Map services used in applications ================================= .. csv-table:: - :file: map-services.csv + :file: attachments/map-services.csv :header-rows: 1 1. Used by CKAN extensions *reclineview*, *spatial* and *geoview*. diff --git a/doc/toolchain/attachments/schema-arch-interop.png b/doc/toolchain/attachments/schema-arch-interop.png new file mode 100644 index 0000000000000000000000000000000000000000..96275cb1493a1a53e4fd53e5d60f1fa9e0c9e4e3 GIT binary patch literal 20129 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 F{jVJP_Zt8J literal 0 HcmV?d00001 diff --git a/doc/toolchain/attachments/schema-spoc-builder.png b/doc/toolchain/attachments/schema-spoc-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..ff64ef456d473f076b06d124ffc6145839f4b6c0 GIT binary patch literal 40764 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

@hDczr|O81+IXhsXOBgrIPs9UfxTc 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≤ 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 literal 0 HcmV?d00001 diff --git a/doc/toolchain/spoc-architecture.rst b/doc/toolchain/spoc-architecture.rst index 0cc0578..4debf0f 100644 --- a/doc/toolchain/spoc-architecture.rst +++ b/doc/toolchain/spoc-architecture.rst @@ -1,6 +1,10 @@ SPOC architecture ================= +.. image:: attachments/schema-arch-interop.png + :alt: Architecture - Services interoperation schema + :align: center + Configuration file ------------------ diff --git a/doc/toolchain/spoc-builder.rst b/doc/toolchain/spoc-builder.rst index 935fb57..7c05bdb 100644 --- a/doc/toolchain/spoc-builder.rst +++ b/doc/toolchain/spoc-builder.rst @@ -1,6 +1,10 @@ SPOC building and packaging ============================= +.. image:: attachments/schema-spoc-builder.png + :alt: Deliverable lifecycle - Building and packaging schema + :align: center + Usage ----- diff --git a/doc/toolchain/spoc-overview.rst b/doc/toolchain/spoc-overview.rst index 8643b87..4f8fee5 100644 --- a/doc/toolchain/spoc-overview.rst +++ b/doc/toolchain/spoc-overview.rst @@ -5,6 +5,10 @@ SPOC is the main component of the platform. It provides means for the layers, im SPOC is written in python 3.7 and uses LXC as a userspace interface for the Linux kernel containment features. SPOC consists of a python module, configuration file, init task and three main binaries to work with the respective deliverable types. +.. image:: attachments/schema-arch-overview.png + :alt: Architecture - Platform overview schema + :align: center + Goals and non-goals ------------------- @@ -37,7 +41,7 @@ Finally, Docker maintainers explicitly refuse to implement a feature which would The downside of using LXC is that its usage requires more knowledge about how the linux containers actually work. Another problem is fast availability of the desired image as most 3rd party applications are shipped with `Dockerfile` or directly distributed as Docker images. SPOC/LXC requires rewriting into LXC-compatible containers, however this is simplified by SPOC as the `image building `_ aims to mimic the features of Docker and automatize LXC container building using *Dockerfile*-like syntax. -In the future, LXC and part of SPOC may be replaced by Podman and Podman-compose to reach even wider audience. +In the future, LXC and part of SPOC may be replaced by Podman and Podman-compose, Vagrant or even Ansible to reach even wider audience. Package manager --------------- diff --git a/doc/toolchain/spoc-user.rst b/doc/toolchain/spoc-user.rst index 9a526cd..b4a1a31 100644 --- a/doc/toolchain/spoc-user.rst +++ b/doc/toolchain/spoc-user.rst @@ -1,6 +1,10 @@ SPOC user manual ================== +.. image:: attachments/schema-spoc-user.png + :alt: Deliverable lifecycle - User consumption schema + :align: center + Usage -----