From c11101c85f66fa879c5f4abac4e99fce5d4cc520 Mon Sep 17 00:00:00 2001 From: Lucy Cifferello Date: Mon, 19 Oct 2020 12:40:27 -0600 Subject: [PATCH] forgot files and note --- source/contributing/services/index.rst | 2 ++ source/contributing/services/makefile.rst | 12 ++++++++++++ source/contributing/services/overview.rst | 15 +++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 source/contributing/services/makefile.rst create mode 100644 source/contributing/services/overview.rst diff --git a/source/contributing/services/index.rst b/source/contributing/services/index.rst index 7d32238..fc9987f 100644 --- a/source/contributing/services/index.rst +++ b/source/contributing/services/index.rst @@ -7,6 +7,8 @@ Services Software Development Kit Guide This guide serves as an introduction to the concepts and the technical details for developing a service for the Embassy. The `File Browser wrapper repository `_ should be used as an example. +TODO wrapper readme template + .. toctree:: :maxdepth: 2 diff --git a/source/contributing/services/makefile.rst b/source/contributing/services/makefile.rst new file mode 100644 index 0000000..1e89171 --- /dev/null +++ b/source/contributing/services/makefile.rst @@ -0,0 +1,12 @@ +.. _service_makefile: + +**************** +Service Makefile +**************** + +*This file is optional* +It is a convenience if anyone else wants to contribute to project. An alternative is using the nix specification. + +This purpose of this file is to: + - read the docker container and build the project + - build all prerequisite for running the docker file, build all dependencies of application, and package into .s9pk (ie. invoke ``appmgr``) \ No newline at end of file diff --git a/source/contributing/services/overview.rst b/source/contributing/services/overview.rst new file mode 100644 index 0000000..e7dd4e9 --- /dev/null +++ b/source/contributing/services/overview.rst @@ -0,0 +1,15 @@ +.. _service_sdk_overview: + +******************** +Service SDK Overview +******************** + +Let's start at a high level. What actually is a service, in the technical sense, on the Embassy? + +Each service is an image. An image is a snapshot of linux environment in which an application runs. All service application data is stored in a volume directory. This volume is persisted across updates. The image is immutable: when the service is updated, the image is replaced with the complete new image containing the updated features. + +The volume directory (for seeding data into the volume) is typically: ``/root/volumes/``. With the caveat that any files that are in the image at that path will be overwritten. + +A service is mounted to the OS image. Each service application gets a volume allocated to it by the OS. Within the Docker container that encompasses the service image, a path is specified as to where it should mount on the OS. This path is specified in the :ref:`manifest <_service_manifest>`. + +The config spec, config rules, and manifest get bundled into the ``.s9pk`` package when built using `appmgr `_. Thus, each new version release will have these files updated and re-bundled into a new binary. \ No newline at end of file