forgot files and note

This commit is contained in:
Lucy Cifferello
2020-10-19 12:40:27 -06:00
parent 6b74adfae9
commit c11101c85f
3 changed files with 29 additions and 0 deletions

View File

@@ -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 <https://github.com/Start9Labs/filebrowser-wrapper>`_ should be used as an example.
TODO wrapper readme template
.. toctree::
:maxdepth: 2

View File

@@ -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``)

View File

@@ -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/<appId>``. 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 <https://github.com/Start9Labs/appmgr>`_. Thus, each new version release will have these files updated and re-bundled into a new binary.