nua
nua copied to clipboard
Build / File format / App config file
General organisation
Each app "spec" is a directory with the following files:
-
nua-config.toml: metadata about the project
-
Dockerfile (mandatory for M1, optional afterwards)
-
optional scripts that with be run during the app lifecycle:
- build
- deloy
- start
- stop
- backup...
(This is really on top of my head. Maybe we need 'pre-...' and 'post-...' scripts for instance. We will see while we build the first packages).
-
OR: this could be provided by a single python module with identified hook points ?
-
Marketing material (used by the Marketplace): screenshots, etc.
- Translations ?
-
Patches (if an app needs to be patched for Nua)
This general approach should be compared to historical approaches (.rpm, .deb. Homebrew, Arch...) but also to the standards set by mobile app stores (Apple and Android) and PaaS providers (Heroku & friends).
Details of a nua-config.toml
The nua-config.toml
file provides metadata relevant to:
- Marketing time (the Marketplace)
- Build time
- Run time
TODO: draft the specs.
There should be a schema to allow validation using either JSON-schema (https://json-schema.org/specification.html) or something similar.