You are not reading the latest stable version of this documentation. If you want up-to-date information, please have a look at master.

Service Wrapper

Each service is bound with a wrapper repository, which contains everything you need to build a service.

The purpose of this repo is:

  • Denote any dependencies required to run and build the project

  • To define the necessary, config_rules.yaml, config_spec.yaml and manifest.yaml options

  • To build the project into the .s9pk format digestible to EmbassyOS

  • Link to the source project as a git submodule

  • Define the docker file for running the project on EmbassyOS

  • Provide documentation for the project, especially user runbook instructions

  • symlink of from docs directory to wrapper repo root, if included

File Structure

The project structure should be used as a model:

├── Dockerfile
├── Makefile (optional)
├── config_rules.yaml
├── config_spec.yaml
├── <submodule_project_dir>
├── docs
│   └──
└── manifest.yaml


Git submodules allow use of another project while in the working project directory. Setting up this feature enables linking of the source service repository so that its context is available.

Run git submodule add <link_to_source_project>