Caution
You are not reading the latest stable version of this documentation. If you want up-to-date information, please have a look at 0.3.5.x.
Each service is bound with a wrapper repository, which contains everything you need to build a service.
The purpose of this repo is:
To define the necessary Manifest and configuration options (ie. config spec and rules)
To build the project into the .s9pk
format digestible to StartOS
Link to the source project as a git submodule
Define the Dockerfile for running the project on StartOS
Provide documentation for the project, especially user runbook instructions
The project structure should be used as a model:
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── assets
│ └── compat
│ ├── config_rules.yaml
│ └── config_spec.yaml
├── docker_entrypoint.sh
├── <submodule-project>
├── <package-id>>.s9pk
├── icon.png
├── image.tar
├── instructions.md
└── 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. The submodule is added into the wrapper so that the wrapper can build the submodule and also track the exact code that’s being built.
Run:
git submodule add <link_to_source_project>